⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myasm.lst

📁 C to ASM and ASM to C on Keil C
💻 LST
字号:
A51 MACRO ASSEMBLER  MYASM                                                                08/04/2004 20:42:29 PAGE     1


MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN MyAsm.OBJ
ASSEMBLER INVOKED BY: C:\Program Files\Keil\C51\BIN\A51.EXE MyAsm.a51 SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     
                       2     ; 汇编代码部分
                       3     $nomod51 
                       4     
                       5     NAME    MYASM
                       6     
                       7     ;#include "REG51.H" ; 头文件在当前目录下,允许重复说明
                +1     8     
                +1     9     
                +1    10     
                +1    11     
                +1    12     
                +1    13     
                +1    14     
                +1    15     
                +1    16     
  0080          +1    17     sfr P0   = 0x80;
  0090          +1    18     sfr P1   = 0x90;
  00A0          +1    19     sfr P2   = 0xA0;
  00B0          +1    20     sfr P3   = 0xB0;
  00D0          +1    21     sfr PSW  = 0xD0;
  00E0          +1    22     sfr ACC  = 0xE0;
  00F0          +1    23     sfr B    = 0xF0;
  0081          +1    24     sfr SP   = 0x81;
  0082          +1    25     sfr DPL  = 0x82;
  0083          +1    26     sfr DPH  = 0x83;
  0087          +1    27     sfr PCON = 0x87;
  0088          +1    28     sfr TCON = 0x88;
  0089          +1    29     sfr TMOD = 0x89;
  008A          +1    30     sfr TL0  = 0x8A;
  008B          +1    31     sfr TL1  = 0x8B;
  008C          +1    32     sfr TH0  = 0x8C;
  008D          +1    33     sfr TH1  = 0x8D;
  00A8          +1    34     sfr IE   = 0xA8;
  00B8          +1    35     sfr IP   = 0xB8;
  0098          +1    36     sfr SCON = 0x98;
  0099          +1    37     sfr SBUF = 0x99;
                +1    38     
                +1    39     
                +1    40     
                +1    41     
  00D7          +1    42     sbit CY   = 0xD7;
  00D6          +1    43     sbit AC   = 0xD6;
  00D5          +1    44     sbit F0   = 0xD5;
  00D4          +1    45     sbit RS1  = 0xD4;
  00D3          +1    46     sbit RS0  = 0xD3;
  00D2          +1    47     sbit OV   = 0xD2;
  00D0          +1    48     sbit P    = 0xD0;
                +1    49     
                +1    50     
  008F          +1    51     sbit TF1  = 0x8F;
  008E          +1    52     sbit TR1  = 0x8E;
  008D          +1    53     sbit TF0  = 0x8D;
  008C          +1    54     sbit TR0  = 0x8C;
  008B          +1    55     sbit IE1  = 0x8B;
  008A          +1    56     sbit IT1  = 0x8A;
  0089          +1    57     sbit IE0  = 0x89;
  0088          +1    58     sbit IT0  = 0x88;
A51 MACRO ASSEMBLER  MYASM                                                                08/04/2004 20:42:29 PAGE     2

                +1    59     
                +1    60     
  00AF          +1    61     sbit EA   = 0xAF;
  00AC          +1    62     sbit ES   = 0xAC;
  00AB          +1    63     sbit ET1  = 0xAB;
  00AA          +1    64     sbit EX1  = 0xAA;
  00A9          +1    65     sbit ET0  = 0xA9;
  00A8          +1    66     sbit EX0  = 0xA8;
                +1    67     
                +1    68      
  00BC          +1    69     sbit PS   = 0xBC;
  00BB          +1    70     sbit PT1  = 0xBB;
  00BA          +1    71     sbit PX1  = 0xBA;
  00B9          +1    72     sbit PT0  = 0xB9;
  00B8          +1    73     sbit PX0  = 0xB8;
                +1    74     
                +1    75     
  00B7          +1    76     sbit RD   = 0xB7;
  00B6          +1    77     sbit WR   = 0xB6;
  00B5          +1    78     sbit T1   = 0xB5;
  00B4          +1    79     sbit T0   = 0xB4;
  00B3          +1    80     sbit INT1 = 0xB3;
  00B2          +1    81     sbit INT0 = 0xB2;
  00B1          +1    82     sbit TXD  = 0xB1;
  00B0          +1    83     sbit RXD  = 0xB0;
                +1    84     
                +1    85     
  009F          +1    86     sbit SM0  = 0x9F;
  009E          +1    87     sbit SM1  = 0x9E;
  009D          +1    88     sbit SM2  = 0x9D;
  009C          +1    89     sbit REN  = 0x9C;
  009B          +1    90     sbit TB8  = 0x9B;
  009A          +1    91     sbit RB8  = 0x9A;
  0099          +1    92     sbit TI   = 0x99;
  0098          +1    93     sbit RI   = 0x98;
                      94     
                      95     
                      96     ?PR?_fnAdd?MYASM     SEGMENT CODE       ; 码段定义叙述,需要对本文件内的所有
                      97     ?PR?_fnSub?MYASM     SEGMENT CODE       ; 函数进行描述
                      98     ?PR?timerCt0?MYASM   SEGMENT CODE
                      99     
                     100             EXTRN   DATA (aa)               ; 全局变量在主程序中已有定义
                     101             extrn CODE (_fnMul)             ; 外部C函数调用说明
                     102             PUBLIC  timerCt0                ; 对外传递函数名叙述
                     103             PUBLIC  _fnSub
                     104             PUBLIC  _fnAdd
                     105     
                     106     ;------------------------------------------------------------------------
                     107     ; 相对应于C函数的函数格式:
                     108     ; unsigned char fnAdd( unsigned char x ,unsigned char y )
                     109     ;------------------------------------------------------------------------
----                 110             RSEG  ?PR?_fnAdd?MYASM
0000                 111     _fnAdd:
                     112             USING   0
0000 C0E0            113             PUSH    ACC
0002 120000   F      114             lcall   _fnMul                  ; *** 调用C函数 ***
0005 EF              115             MOV     A,R7
0006 2D              116             ADD     A,R5
0007 FF              117             MOV     R7,A
0008 D0E0            118             POP     ACC
000A                 119     ?C0001:
000A 22              120             RET
                     121     ;------------------------------------------------------------------------
                     122     ; 相对应于C函数的函数格式:
                     123     ; unsigned char fnSub( unsigned char x ,unsigned char y )
                     124     ;------------------------------------------------------------------------
A51 MACRO ASSEMBLER  MYASM                                                                08/04/2004 20:42:29 PAGE     3

                     125     
----                 126             RSEG  ?PR?_fnSub?MYASM
0000                 127     _fnSub:
                     128             USING   0
0000 C0E0            129             PUSH    ACC
0002 C3              130             CLR     C
0003 EF              131             MOV     A,R7
0004 9D              132             SUBB    A,R5
0005 FF              133             MOV     R7,A
0006 D0E0            134             POP     ACC
0008                 135     ?C0002:
0008 22              136             RET
                     137     
                     138     
                     139     ;-----------------------------------------------------------------------
                     140     ; 中断函数中断号对应向量表的说明,如果还有其他中断使用汇编的,请一并顺序
                     141     ; 在此叙述。
                     142     ;-----------------------------------------------------------------------
----                 143     CSEG    AT      0000BH                  ; 定时中断0
000B 020000   F      144             LJMP    timerCt0
                     145     
                     146     ;------------------------------------------------------------------------
                     147     ; 相对应于C函数的函数格式:
                     148     ; void timerCt0(void) interrupt 1
                     149     ; 这是一个定时中断函数,作为演示没有做太多的处理,仅仅对(int)aa++。中断函
                     150     ; 数须要特别留意现场保护
                     151     ;------------------------------------------------------------------------
                     152     
----                 153             RSEG  ?PR?timerCt0?MYASM
                     154             USING   0
0000                 155     timerCt0:
0000 C0E0            156             PUSH    ACC
0002 C0D0            157             PUSH    PSW
0004 758CFF          158             MOV     TH0,#0FFH
0007 758AE0          159             MOV     TL0,#0E0H
000A 0500     F      160             INC     aa+01H
000C E500     F      161             MOV     A,aa+01H
000E 7002            162             JNZ     ?C0004
0010 0500     F      163             INC     aa
0012                 164     ?C0004:
0012 D0D0            165             POP     PSW
0014 D0E0            166             POP     ACC
0016 32              167             RETI
                     168     
                     169             END
A51 MACRO ASSEMBLER  MYASM                                                                08/04/2004 20:42:29 PAGE     4

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

?C0001 . . . . . .  C ADDR   000AH   R   SEG=?PR?_FNADD?MYASM
?C0002 . . . . . .  C ADDR   0008H   R   SEG=?PR?_FNSUB?MYASM
?C0004 . . . . . .  C ADDR   0012H   R   SEG=?PR?TIMERCT0?MYASM
?PR?TIMERCT0?MYASM  C SEG    0017H       REL=UNIT
?PR?_FNADD?MYASM .  C SEG    000BH       REL=UNIT
?PR?_FNSUB?MYASM .  C SEG    0009H       REL=UNIT
AA . . . . . . . .  D ADDR   -----       EXT
AC . . . . . . . .  B ADDR   00D0H.6 A   
ACC. . . . . . . .  D ADDR   00E0H   A   
B. . . . . . . . .  D ADDR   00F0H   A   
CY . . . . . . . .  B ADDR   00D0H.7 A   
DPH. . . . . . . .  D ADDR   0083H   A   
DPL. . . . . . . .  D ADDR   0082H   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
ES . . . . . . . .  B ADDR   00A8H.4 A   
ET0. . . . . . . .  B ADDR   00A8H.1 A   
ET1. . . . . . . .  B ADDR   00A8H.3 A   
EX0. . . . . . . .  B ADDR   00A8H.0 A   
EX1. . . . . . . .  B ADDR   00A8H.2 A   
F0 . . . . . . . .  B ADDR   00D0H.5 A   
IE . . . . . . . .  D ADDR   00A8H   A   
IE0. . . . . . . .  B ADDR   0088H.1 A   
IE1. . . . . . . .  B ADDR   0088H.3 A   
INT0 . . . . . . .  B ADDR   00B0H.2 A   
INT1 . . . . . . .  B ADDR   00B0H.3 A   
IP . . . . . . . .  D ADDR   00B8H   A   
IT0. . . . . . . .  B ADDR   0088H.0 A   
IT1. . . . . . . .  B ADDR   0088H.2 A   
MYASM. . . . . . .  N NUMB   -----       
OV . . . . . . . .  B ADDR   00D0H.2 A   
P. . . . . . . . .  B ADDR   00D0H.0 A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
PCON . . . . . . .  D ADDR   0087H   A   
PS . . . . . . . .  B ADDR   00B8H.4 A   
PSW. . . . . . . .  D ADDR   00D0H   A   
PT0. . . . . . . .  B ADDR   00B8H.1 A   
PT1. . . . . . . .  B ADDR   00B8H.3 A   
PX0. . . . . . . .  B ADDR   00B8H.0 A   
PX1. . . . . . . .  B ADDR   00B8H.2 A   
RB8. . . . . . . .  B ADDR   0098H.2 A   
RD . . . . . . . .  B ADDR   00B0H.7 A   
REN. . . . . . . .  B ADDR   0098H.4 A   
RI . . . . . . . .  B ADDR   0098H.0 A   
RS0. . . . . . . .  B ADDR   00D0H.3 A   
RS1. . . . . . . .  B ADDR   00D0H.4 A   
RXD. . . . . . . .  B ADDR   00B0H.0 A   
SBUF . . . . . . .  D ADDR   0099H   A   
SCON . . . . . . .  D ADDR   0098H   A   
SM0. . . . . . . .  B ADDR   0098H.7 A   
SM1. . . . . . . .  B ADDR   0098H.6 A   
SM2. . . . . . . .  B ADDR   0098H.5 A   
SP . . . . . . . .  D ADDR   0081H   A   
T0 . . . . . . . .  B ADDR   00B0H.4 A   
T1 . . . . . . . .  B ADDR   00B0H.5 A   
TB8. . . . . . . .  B ADDR   0098H.3 A   
TCON . . . . . . .  D ADDR   0088H   A   
TF0. . . . . . . .  B ADDR   0088H.5 A   
A51 MACRO ASSEMBLER  MYASM                                                                08/04/2004 20:42:29 PAGE     5

TF1. . . . . . . .  B ADDR   0088H.7 A   
TH0. . . . . . . .  D ADDR   008CH   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TI . . . . . . . .  B ADDR   0098H.1 A   
TIMERCT0 . . . . .  C ADDR   0000H   R   SEG=?PR?TIMERCT0?MYASM
TL0. . . . . . . .  D ADDR   008AH   A   
TL1. . . . . . . .  D ADDR   008BH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   
TR1. . . . . . . .  B ADDR   0088H.6 A   
TXD. . . . . . . .  B ADDR   00B0H.1 A   
WR . . . . . . . .  B ADDR   00B0H.6 A   
_FNADD . . . . . .  C ADDR   0000H   R   SEG=?PR?_FNADD?MYASM
_FNMUL . . . . . .  C ADDR   -----       EXT
_FNSUB . . . . . .  C ADDR   0000H   R   SEG=?PR?_FNSUB?MYASM


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -