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

📄 main.ls1

📁 《Proteus在MCS-51&ARM7系统中的应用百例》逆向之 Chapter 4 《Proteus在MCS-51&ARM7系统中的应用百例》MCS-51例子的C语言版本。
💻 LS1
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  MAIN                                                                 05/18/2007 11:58:54 PAGE     1


MACRO ASSEMBLER A51 V8.00d
OBJECT MODULE PLACED IN main.OBJ
ASSEMBLER INVOKED BY: D:\Program Files\Keil 8.08\C51\BIN\A51.EXE main.src PR(.\main.ls1) EP DEBUG

LOC  OBJ            LINE     SOURCE

                       1     ; .\main.SRC generated from: main.c
                       2     ; COMPILER INVOKED BY:
                       3     ;        D:\Program Files\Keil 8.08\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND SRC(.\
                             main.SRC)
                       4     
                       5     $nomod51 
                       6     
                       7     NAME    MAIN
                       8     
  0080                 9     P0      DATA    080H
  0090                10     P1      DATA    090H
  00A0                11     P2      DATA    0A0H
  00B0                12     P3      DATA    0B0H
  00B4                13     T0      BIT     0B0H.4
  00D6                14     AC      BIT     0D0H.6
  00B5                15     T1      BIT     0B0H.5
  00AF                16     EA      BIT     0A8H.7
  00A8                17     IE      DATA    0A8H
  00B7                18     RD      BIT     0B0H.7
  00AC                19     ES      BIT     0A8H.4
  00B8                20     IP      DATA    0B8H
  0098                21     RI      BIT     098H.0
  00B2                22     INT0    BIT     0B0H.2
  00D7                23     CY      BIT     0D0H.7
  0099                24     TI      BIT     098H.1
  00B3                25     INT1    BIT     0B0H.3
  00BC                26     PS      BIT     0B8H.4
  0081                27     SP      DATA    081H
  00D2                28     OV      BIT     0D0H.2
  00B6                29     WR      BIT     0B0H.6
  0099                30     SBUF    DATA    099H
  0087                31     PCON    DATA    087H
  00B0                32     P30     BIT     0B0H.0
  00B1                33     P31     BIT     0B0H.1
  0098                34     SCON    DATA    098H
  0089                35     TMOD    DATA    089H
  0088                36     TCON    DATA    088H
  0089                37     IE0     BIT     088H.1
  008B                38     IE1     BIT     088H.3
  00F0                39     B       DATA    0F0H
  00E0                40     ACC     DATA    0E0H
  00A9                41     ET0     BIT     0A8H.1
  00AB                42     ET1     BIT     0A8H.3
  008D                43     TF0     BIT     088H.5
  008F                44     TF1     BIT     088H.7
  009A                45     RB8     BIT     098H.2
  008C                46     TH0     DATA    08CH
  00A8                47     EX0     BIT     0A8H.0
  0088                48     IT0     BIT     088H.0
  008D                49     TH1     DATA    08DH
  009B                50     TB8     BIT     098H.3
  00AA                51     EX1     BIT     0A8H.2
  008A                52     IT1     BIT     088H.2
  00D0                53     P       BIT     0D0H.0
  009F                54     SM0     BIT     098H.7
  008A                55     TL0     DATA    08AH
  009E                56     SM1     BIT     098H.6
  008B                57     TL1     DATA    08BH
A51 MACRO ASSEMBLER  MAIN                                                                 05/18/2007 11:58:54 PAGE     2

  009D                58     SM2     BIT     098H.5
  00B9                59     PT0     BIT     0B8H.1
  00BB                60     PT1     BIT     0B8H.3
  00D3                61     RS0     BIT     0D0H.3
  008C                62     TR0     BIT     088H.4
  00D4                63     RS1     BIT     0D0H.4
  008E                64     TR1     BIT     088H.6
  00B8                65     PX0     BIT     0B8H.0
  00BA                66     PX1     BIT     0B8H.2
  0083                67     DPH     DATA    083H
  0082                68     DPL     DATA    082H
  009C                69     REN     BIT     098H.4
  00B0                70     RXD     BIT     0B0H.0
  00B1                71     TXD     BIT     0B0H.1
  00D5                72     F0      BIT     0D0H.5
  00D0                73     PSW     DATA    0D0H
                      74     ?PR?_display?MAIN    SEGMENT CODE 
                      75     ?PR?delay?MAIN       SEGMENT CODE 
                      76     ?DT?delay?MAIN       SEGMENT DATA OVERLAYABLE 
                      77     ?PR?key1?MAIN        SEGMENT CODE 
                      78     ?PR?main?MAIN        SEGMENT CODE 
                      79     ?CO?MAIN             SEGMENT CODE 
                      80             EXTRN   CODE (?C_STARTUP)
                      81             PUBLIC  TEMP
                      82             PUBLIC  DBUF
                      83             PUBLIC  K1TAB
                      84             PUBLIC  SEGTAB
                      85             PUBLIC  main
                      86             PUBLIC  key1
                      87             PUBLIC  delay
                      88             PUBLIC  _display
                      89     
----                  90             DSEG  AT  030H
0030                  91                DBUF:   DS   1
                      92     
----                  93             DSEG  AT  040H
0040                  94                TEMP:   DS   1
                      95     
----                  96             RSEG  ?DT?delay?MAIN
0000                  97     ?delay?BYTE:
0000                  98               j?142:   DS   1
                      99     
----                 100             RSEG  ?CO?MAIN
0000                 101     SEGTAB:
0000 3F              102             DB      03FH
0001 06              103             DB      006H
0002 5B              104             DB      05BH
0003 4F              105             DB      04FH
0004 66              106             DB      066H
0005 6D              107             DB      06DH
0006 7D              108             DB      07DH
0007 07              109             DB      007H
0008 7F              110             DB      07FH
0009 6F              111             DB      06FH
000A 77              112             DB      077H
000B 7C              113             DB      07CH
000C 58              114             DB      058H
000D 5E              115             DB      05EH
000E 79              116             DB      079H
000F 71              117             DB      071H
0010 00              118             DB      000H
0011 40              119             DB      040H
                     120     
0012                 121     K1TAB:
0012 81              122             DB      081H
0013 41              123             DB      041H
A51 MACRO ASSEMBLER  MAIN                                                                 05/18/2007 11:58:54 PAGE     3

0014 21              124             DB      021H
0015 11              125             DB      011H
0016 82              126             DB      082H
0017 42              127             DB      042H
0018 22              128             DB      022H
0019 12              129             DB      012H
001A 84              130             DB      084H
001B 44              131             DB      044H
001C 24              132             DB      024H
001D 14              133             DB      014H
001E 88              134             DB      088H
001F 48              135             DB      048H
0020 28              136             DB      028H
0021 18              137             DB      018H
                     138     
                     139     ; #include <reg51.h>
                     140     ; #include <intrins.h>
                     141     ;  
                     142     ; typedef unsigned char BYTE;
                     143     ; 
                     144     ; BYTE DBUF _at_ 0x30;
                     145     ; BYTE TEMP _at_ 0x40;
                     146     ; 
                     147     ; sbit P30=P3^0;
                     148     ; sbit P31=P3^1;
                     149     ; 
                     150     ; BYTE code SEGTAB[]={ 0x3F,0x06,0x5B,0x4F,0x66,0x6D,       
                     151     ;                                        0x7D,0x07,0x7F,0x6F,0x77,0x7C,
                     152     ;                                        0x58,0x5E,0x79,0x71,0x00,0x40};
                     153     ; 
                     154     ; BYTE code K1TAB[]={  0x81,0x41,0x21,0x11,     
                     155     ;                        0x82,0x42,0x22,0x12,
                     156     ;                                        0x84,0x44,0x24,0x14,
                     157     ;                                        0x88,0x48,0x28,0x18};
                     158     ;       
                     159     ; 
                     160     ; void display(BYTE in)
                     161     
----                 162             RSEG  ?PR?_display?MAIN
0000                 163     _display:
                     164             USING   0
                     165                             ; SOURCE LINE # 22
                     166     ;---- Variable 'in?040' assigned to Register 'R7' ----
                     167     ; {
                     168                             ; SOURCE LINE # 23
                     169     ;       BYTE num;
                     170     ;       DBUF=in;
                     171                             ; SOURCE LINE # 25
0000 8F30            172             MOV     DBUF,R7
                     173     ;       TEMP=SEGTAB[DBUF];
                     174                             ; SOURCE LINE # 26
0002 EF              175             MOV     A,R7
0003 900000   F      176             MOV     DPTR,#SEGTAB
0006 93              177             MOVC    A,@A+DPTR
0007 F540            178             MOV     TEMP,A
                     179     ;       
                     180     ;       num=8;
                     181                             ; SOURCE LINE # 28
                     182     ;---- Variable 'num?041' assigned to Register 'R7' ----
0009 7F08            183             MOV     R7,#08H
                     184     ;       ACC=TEMP;
                     185                             ; SOURCE LINE # 29
000B                 186     ?C0003:
                     187     ; 
                     188     ;       do
                     189     ;       {
A51 MACRO ASSEMBLER  MAIN                                                                 05/18/2007 11:58:54 PAGE     4

                     190                             ; SOURCE LINE # 32
                     191     ;               #pragma asm
                     192     ;                       RLC A   
000B 33              193               RLC A 
                     194     ;               #pragma endasm
                     195     ; 
                     196     ;               P30=CY;
                     197                             ; SOURCE LINE # 37
000C 92B0            198             MOV     P30,C
                     199     ;               P31=0;
                     200                             ; SOURCE LINE # 38
000E C2B1            201             CLR     P31
                     202     ;               P31=1;
                     203                             ; SOURCE LINE # 39
0010 D2B1            204             SETB    P31
                     205     ;       }while(--num);          
                     206                             ; SOURCE LINE # 40
0012 DFF7            207             DJNZ    R7,?C0003
                     208     ; }
                     209                             ; SOURCE LINE # 41
0014 22              210             RET     
                     211     ; END OF _display
                     212     
                     213     ; 
                     214     ; 
                     215     ; 
                     216     ; void delay()
                     217     
----                 218             RSEG  ?PR?delay?MAIN
0000                 219     delay:
                     220             USING   0
                     221                             ; SOURCE LINE # 45
                     222     ; {
                     223                             ; SOURCE LINE # 46
                     224     ;       BYTE i=0x01;
                     225                             ; SOURCE LINE # 47
                     226     ;---- Variable 'i?143' assigned to Register 'R7' ----
0000 7F01            227             MOV     R7,#01H
0002                 228     ?C0007:
                     229     ;       
                     230     ;       do
                     231     ;       {       
                     232                             ; SOURCE LINE # 50
                     233     ;               BYTE j=0x88;
                     234                             ; SOURCE LINE # 51
0002 750088   F      235             MOV     j?142,#088H
0005                 236     ?C0010:
                     237     ;               do
                     238     ;               {
                     239                             ; SOURCE LINE # 53
                     240     ;                       _nop_();
                     241                             ; SOURCE LINE # 54
0005 00              242             NOP     
                     243     ;               }while(--j);
                     244                             ; SOURCE LINE # 55

⌨️ 快捷键说明

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