网站建设资讯

NEWS

网站建设资讯

c语言函数转汇编语言 c语言怎么转汇编

怎么把c语言转换成汇编语言

理论上来说C语言改成汇编是完全可以的,当然实际上还是有一定难度。

我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好成都网站设计、成都网站制作服务,我们努力开拓更好的视野,通过不懈的努力,创新互联赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,小程序开发,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。

1、完全手工根据C语言的流程和目的,改编成汇编语言,这样做工作量很大

2、利用仿真软件,在仿真环境下,是有相应的汇编代码的,这样做工作量相对较小,但可读性较差。

C语言转换成汇编语言

这是用keil自动翻译的,自己整理一下吧。

; FUNCTION delay05s (BEGIN)

;---- Variable 'i' assigned to Register 'R7'

0000 7F05 MOV R7,#05H

0002 ?C0001:

;---- Variable 'j' assigned to Register 'R6'

0002 7EC8 MOV R6,#0C8H

0004 ?C0004:

;---- Variable 'k' assigned to Register 'R5'

0004 7DFA MOV R5,#0FAH

0006 ?C0007:

0006 DDFE DJNZ R5,?C0007

0008 ?C0006:

0008 DEFA DJNZ R6,?C0004

000A ?C0003:

000A DFF6 DJNZ R7,?C0001

000C ?C0010:

000C 22 RET

; FUNCTION delay05s (END)

; FUNCTION main (BEGIN)

0000 ?C0011:

;---- Variable 'j' assigned to Register 'R4'

0000 7C01 MOV R4,#01H

;---- Variable 'i' assigned to Register 'R3'

0002 E4 CLR A

0003 FB MOV R3,A

0004 ?C0013:

0004 EC MOV A,R4

0005 F4 CPL A

0006 F590 MOV P1,A

0008 120000 R LCALL delay05s

000B EC MOV A,R4

000C 25E0 ADD A,ACC

000E FC MOV R4,A

000F 0B INC R3

0010 BB08F1 CJNE R3,#08H,?C0013

0013 ?C0014:

0013 7C80 MOV R4,#080H

0015 E4 CLR A

0016 FB MOV R3,A

0017 ?C0016:

0017 EB MOV A,R3

0018 C3 CLR C

0019 9408 SUBB A,#08H

001B 50E3 JNC ?C0011

001D EC MOV A,R4

001E F4 CPL A

001F F590 MOV P1,A

0021 120000 R LCALL delay05s

0024 EC MOV A,R4

0025 C3 CLR C

0026 13 RRC A

0027 FC MOV R4,A

0028 0B INC R3

0029 80EC SJMP ?C0016

; FUNCTION main (END)

c语言转换成汇编语言

如下即可:

ORG 0000H

LJMP START

ORG 0003H

LJMP X0_INT

ORG 0013H

LJMP X1_INT

ORG 0030H

START:

SETB IT0

SETB IT1

SETB EX0

SETB EX1

SETB EA

;----------------------

MOV A, #0FEH

LOOP:

MOV P1, A

CALL DELAY

RL A

SJMP LOOP

;----------------------

X0_INT:

PUSH ACC

PUSH PSW

SETB RS0

MOV A, #0F0H

MOV R2, #6

X0_1:

MOV P1, A

CALL DELAY

CPL A

DJNZ R2, X0_1

POP PSW

POP ACC

RETI

;----------------------

X1_INT:

PUSH ACC

PUSH PSW

SETB RS1

MOV A, #0AAH

MOV R2, #6

X1_1:

MOV P1, A

CALL DELAY

CPL A

DJNZ R2, X1_1

POP PSW

POP ACC

RETI

;----------------------

DELAY:

MOV R5, #3

DJNZ R7, $

DJNZ R6, $ - 2

DJNZ R5, $ - 4

RET

;----------------------

END


当前文章:c语言函数转汇编语言 c语言怎么转汇编
网站地址:http://njwzjz.com/article/doihhdo.html