如何将汇编代码转为C语言?

如题所述

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

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

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

             ; FUNCTION main (BEGIN)

                                           ; SOURCE LINE # 16

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

                                           ; SOURCE LINE # 17

                                           ; SOURCE LINE # 19

0000 D2B2              SETB    light

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 0C                INC     R4

                                           ; SOURCE LINE # 28

000B BC2804            CJNE    R4,#028H,?C0009

                                           ; SOURCE LINE # 29

                                           ; SOURCE LINE # 30

000E B2B2              CPL     light

                                           ; SOURCE LINE # 31

0010 E4                CLR     A

0011 FC                MOV     R4,A

                                           ; SOURCE LINE # 32

                                           ; SOURCE LINE # 33

0012         ?C0009:

                                           ; SOURCE LINE # 34

0012 20B7ED            JB      k0,?C0007

                                           ; SOURCE LINE # 35

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


                                           ; SOURCE LINE # 36

0015 B200        R     CPL     blink

                                           ; SOURCE LINE # 37

0017 200004      R     JB      blink,?C0012

001A D2B2              SETB    light

001C 8002              SJMP    ?C0014

001E         ?C0012:

                                           ; SOURCE LINE # 38

001E E4                CLR     A

001F FC                MOV     R4,A

0020         ?C0014:

                                           ; SOURCE LINE # 39

0020 20B7DF            JB      k0,?C0007

0023 80FB              SJMP    ?C0014

             ; FUNCTION main (END)

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜