keil怎样把C语言转换成单片机汇编语言

keil怎样把C语言转换成单片机汇编语言,第1张

首先在keil里,设置选项时,在列表选项中的汇编代码一项打勾。见下图

然后编译,编译后,在工程的同一个文件夹下有一个.LST文件,打开就粗团茄看到了汇编代码,不过,需要自己进行整理,否则,是不能直接作为汇编程序或孙的。

下面是一个例子岩察:这是一个主程序的汇编代码,格式就是这样的。

FUNCTION main (BEGIN)

SOURCE LINE # 16

---- Variable 'k' assigned to Register 'R4' ----

SOURCE LINE # 17

SOURCE LINE # 19

0000 D2B2 SETBlight

0002 ?C0007:

SOURCE LINE # 20

SOURCE LINE # 21

SOURCE LINE # 23

0002 7F05 MOV R7,#05H

0004 120000 R LCALL _delayms

SOURCE LINE # 25

0007 300008 R JNB blink,?C0009

SOURCE LINE # 26

SOURCE LINE # 27

000A 0CINC R4

SOURCE LINE # 28

000B BC2804CJNER4,#028H,?C0009

SOURCE LINE # 29

SOURCE LINE # 30

000E B2B2 CPL light

SOURCE LINE # 31

0010 E4CLR A

0011 FCMOV R4,A

SOURCE LINE # 32

SOURCE LINE # 33

0012 ?C0009:

SOURCE LINE # 34

0012 20B7EDJB k0,?C0007

SOURCE LINE # 35

C51 COMPILER V7.00 LIGHT1 09/14/2015 12:54:15 PAGE 3

SOURCE LINE # 36

0015 B200R CPL blink

SOURCE LINE # 37

0017 200004 R JB blink,?C0012

001A D2B2 SETBlight

001C 8002 SJMP?C0014

001E ?C0012:

SOURCE LINE # 38

001E E4CLR A

001F FCMOV R4,A

0020 ?C0014:

SOURCE LINE # 39

0020 20B7DFJB k0,?C0007

0023 80FB SJMP?C0014

FUNCTION main (END)

ORG 0000H

LOOP:

MOV B,#20

LOOP1:

P0=0F0H

LCALL delay

P0=0FFH

LCALL delay

DJNZ B,LOOP1

MOV B,#20

LOOP2:

P0=0FH

LCALL delay

P0=0FFH

LCALL delay

DJNZ B,LOOP2

LJMP LOOP

delay:

MOV R7,#0

MOV R6,#0

LOOP3:

DJNZ R6,$

DNJZ R7,LOOP3

RET

END


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12415862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存