资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

c语言函数改写为汇编函数 c语言如何转换为汇编语言

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

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

凭借整站使用html5的创新体验、定制设计、设计团队积累与透明式的服务过程,符合行业特点,专属顾问根据企业产品,消费群体属性,准确定位;设计师以目标客户为中心,以突出品牌官网特性为宗旨,定制专属网站建设设计方案。

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

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

帮忙把这段C语言代码改写成汇编语言

按上面的C改成汇编如下:返回值为A,B,B为高位,A为低位

READ_AD_DATA:

CLR CLK

CLS CS

LCALL SPI_WRITE

MOV R2,#6

DJNZ R2,$

SETB CLK

NOP

NOP

CLR CLK

NOP

NOP

LCALL SPI_READ

SETB CS

RET

SPI_READ:

CLR CLK

CLR A

MOV B,#0

MOV R2,#12

LOOP:

RLC A

XCH A,B

RLC A

XCH A,B

SETB CLK

CLR CLK

MOV C,DOUT

MOV ACC.0,C

DJNZ R2,LOOP

RET

如何将c语言程序转成汇编语言程序。

如果是VC则在编译器命令行参数再加 /FA 则会生成汇编代码。如果参数是 /FAs 则会同时将源码和汇编代码。

/FA 程序集代码;.asm

/FAc 机器码和程序集代码;.cod

/FAs 源代码和程序集代码;.asm

/FAcs 机器码、源代码和程序集码;.cod

/Fa的用法

/Fa 为编译中的每个源代码文件创建一个源文件.asm。

/Fa文件名 将文件名.asm 放到当前目录中。仅在编译单个源代码文件时有效。

/Fa文件名.扩展名 将文件名.扩展名放到当前目录中。仅在编译单个源代码文件时有效。

/Fa目录\ 为编译中的每个源代码文件创建一个源文件.asm,并将其放到指定目录中。请注意必须有后缀反斜杠。只允许使用当前磁盘上的路径。

/Fa目录\文件名 将文件名.asm 放到指定目录中。仅在编译单个源代码文件时有效。

/Fa目录\文件名.扩展名 将文件名.扩展名放到指定目录中。仅在编译单个源代码文件时有效。

如果你是用gcc 或 g++编译器,如dev c++则加入命令行参数 -S 即可

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语言函数改写为汇编函数 c语言如何转换为汇编语言
本文网址:http://cdkjz.cn/article/dddejhs.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220