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

📄 main.ls1

📁 《Proteus在MCS-51&ARM7系统中的应用百例》逆向之 Chapter 7 《Proteus在MCS-51&ARM7系统中的应用百例》MCS-51例子的C语言版本。
💻 LS1
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  MAIN                                                                 05/21/2007 09:04:47 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
  0098                32     SCON    DATA    098H
  0089                33     TMOD    DATA    089H
  0088                34     TCON    DATA    088H
  00B3                35     P33     BIT     0B0H.3
  0089                36     IE0     BIT     088H.1
  008B                37     IE1     BIT     088H.3
  00F0                38     B       DATA    0F0H
  00E0                39     ACC     DATA    0E0H
  00A9                40     ET0     BIT     0A8H.1
  00AB                41     ET1     BIT     0A8H.3
  008D                42     TF0     BIT     088H.5
  008F                43     TF1     BIT     088H.7
  009A                44     RB8     BIT     098H.2
  008C                45     TH0     DATA    08CH
  00A8                46     EX0     BIT     0A8H.0
  0088                47     IT0     BIT     088H.0
  008D                48     TH1     DATA    08DH
  009B                49     TB8     BIT     098H.3
  00AA                50     EX1     BIT     0A8H.2
  008A                51     IT1     BIT     088H.2
  00D0                52     P       BIT     0D0H.0
  009F                53     SM0     BIT     098H.7
  008A                54     TL0     DATA    08AH
  009E                55     SM1     BIT     098H.6
  008B                56     TL1     DATA    08BH
  009D                57     SM2     BIT     098H.5
A51 MACRO ASSEMBLER  MAIN                                                                 05/21/2007 09:04:47 PAGE     2

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

000B 7C              124             DB      07CH
000C 58              125             DB      058H
000D 5E              126             DB      05EH
000E 79              127             DB      079H
000F 71              128             DB      071H
0010 00              129             DB      000H
0011 40              130             DB      040H
                     131     
                     132     ; #include <reg51.h>
                     133     ; #include <intrins.h>
                     134     ; typedef unsigned char BYTE;
                     135     ; 
                     136     ; BYTE DBUF0[4];
                     137     ; BYTE TEMP[4];
                     138     ; 
                     139     ; sbit DIN=P3^0;
                     140     ; sbit CLK=P3^1;
                     141     ; sbit P33=P3^3;
                     142     ; 
                     143     ; BYTE code SEGTAB[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,
                     144     ;                               0x7D,0x07,0x7F,0x6F,0x77,0x7C,
                     145     ;                               0x58,0x5E,0x79,0x71,0x00,0x40};
                     146     ; 
                     147     ; 
                     148     ; void DELAY()
                     149     
----                 150             RSEG  ?PR?DELAY?MAIN
0000                 151     DELAY:
                     152             USING   0
                     153                             ; SOURCE LINE # 17
                     154     ; {
                     155                             ; SOURCE LINE # 18
                     156     ;       BYTE i=0xAF;
                     157                             ; SOURCE LINE # 19
                     158     ;---- Variable 'i?041' assigned to Register 'R7' ----
0000 7FAF            159             MOV     R7,#0AFH
0002                 160     ?C0003:
                     161     ;        
                     162     ;       do
                     163     ;       {        
                     164                             ; SOURCE LINE # 22
                     165     ;               BYTE j=0xFF;
                     166                             ; SOURCE LINE # 23
0002 7500FF   F      167             MOV     j?040,#0FFH
0005                 168     ?C0006:
                     169     ;               do
                     170     ;               {
                     171                             ; SOURCE LINE # 25
                     172     ;                       _nop_();
                     173                             ; SOURCE LINE # 26
0005 00              174             NOP     
                     175     ;                       _nop_();
                     176                             ; SOURCE LINE # 27
0006 00              177             NOP     
                     178     ;                       _nop_();
                     179                             ; SOURCE LINE # 28
0007 00              180             NOP     
                     181     ;               }while(--j);
                     182                             ; SOURCE LINE # 29
0008 D500FA   F      183             DJNZ    j?040,?C0006
                     184     ;       }while(--i);
                     185                             ; SOURCE LINE # 30
000B DFF5            186             DJNZ    R7,?C0003
                     187     ; }
                     188                             ; SOURCE LINE # 31
000D 22              189             RET     
A51 MACRO ASSEMBLER  MAIN                                                                 05/21/2007 09:04:47 PAGE     4

                     190     ; END OF DELAY
                     191     
                     192     ; 
                     193     ; void DISP1()
                     194     
----                 195             RSEG  ?PR?DISP1?MAIN
0000                 196     DISP1:
                     197             USING   0
                     198                             ; SOURCE LINE # 33
                     199     ; {
                     200                             ; SOURCE LINE # 34
                     201     ;       BYTE data *p=DBUF0;
                     202                             ; SOURCE LINE # 35
0000 7F00     F      203             MOV     R7,#LOW (DBUF0)
                     204     ;---- Variable 'p?143' assigned to Register 'R7' ----
                     205     ;       BYTE data *q=TEMP+4;
                     206                             ; SOURCE LINE # 36
0002 7E00     F      207             MOV     R6,#LOW (TEMP+04H)
                     208     ;---- Variable 'q?144' assigned to Register 'R6' ----
                     209     ;       BYTE num=5;
                     210                             ; SOURCE LINE # 37
                     211     ;---- Variable 'num?145' assigned to Register 'R5' ----
0004 7D05            212             MOV     R5,#05H
0006                 213     ?C0010:
                     214     ; 
                     215     ;       do
                     216     ;       {
                     217                             ; SOURCE LINE # 40
                     218     ;               *q=SEGTAB[*p];
                     219                             ; SOURCE LINE # 41
0006 A807            220             MOV     R0,AR7
0008 E6              221             MOV     A,@R0
0009 900000   F      222             MOV     DPTR,#SEGTAB
000C 93              223             MOVC    A,@A+DPTR
000D A806            224             MOV     R0,AR6
000F F6              225             MOV     @R0,A
                     226     ;               p++;
                     227                             ; SOURCE LINE # 42
0010 0F              228             INC     R7
                     229     ;               q--;    
                     230                             ; SOURCE LINE # 43
0011 1E              231             DEC     R6
                     232     ;       }while(--num);
                     233                             ; SOURCE LINE # 44
0012 DDF2            234             DJNZ    R5,?C0010
                     235     ; 
                     236     ;       p=TEMP;
                     237                             ; SOURCE LINE # 46
0014 7F00     F      238             MOV     R7,#LOW (TEMP)
                     239     ;       num=5;
                     240                             ; SOURCE LINE # 47
0016 7D05            241             MOV     R5,#05H
0018                 242     ?C0013:
                     243     ;               
                     244     ;       do
                     245     ;       {

⌨️ 快捷键说明

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