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

📄 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:54:01 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
  0089                35     IE0     BIT     088H.1
  008B                36     IE1     BIT     088H.3
  00F0                37     B       DATA    0F0H
  00E0                38     ACC     DATA    0E0H
  00A9                39     ET0     BIT     0A8H.1
  00AB                40     ET1     BIT     0A8H.3
  008D                41     TF0     BIT     088H.5
  008F                42     TF1     BIT     088H.7
  009A                43     RB8     BIT     098H.2
  008C                44     TH0     DATA    08CH
  00A8                45     EX0     BIT     0A8H.0
  0088                46     IT0     BIT     088H.0
  008D                47     TH1     DATA    08DH
  009B                48     TB8     BIT     098H.3
  00AA                49     EX1     BIT     0A8H.2
  008A                50     IT1     BIT     088H.2
  00D0                51     P       BIT     0D0H.0
  009F                52     SM0     BIT     098H.7
  008A                53     TL0     DATA    08AH
  009E                54     SM1     BIT     098H.6
  008B                55     TL1     DATA    08BH
  009D                56     SM2     BIT     098H.5
  00B9                57     PT0     BIT     0B8H.1
A51 MACRO ASSEMBLER  MAIN                                                                 05/18/2007 11:54:01 PAGE     2

  00BB                58     PT1     BIT     0B8H.3
  00D3                59     RS0     BIT     0D0H.3
  008C                60     TR0     BIT     088H.4
  00D4                61     RS1     BIT     0D0H.4
  008E                62     TR1     BIT     088H.6
  00B8                63     PX0     BIT     0B8H.0
  00BA                64     PX1     BIT     0B8H.2
  0083                65     DPH     DATA    083H
  0082                66     DPL     DATA    082H
  009C                67     REN     BIT     098H.4
  00B0                68     RXD     BIT     0B0H.0
  00B1                69     TXD     BIT     0B0H.1
  00D5                70     F0      BIT     0D0H.5
  00D0                71     PSW     DATA    0D0H
                      72     ?PR?DELAY?MAIN       SEGMENT CODE 
                      73     ?DT?DELAY?MAIN       SEGMENT DATA OVERLAYABLE 
                      74     ?PR?main?MAIN        SEGMENT CODE 
                      75             EXTRN   CODE (?C_STARTUP)
                      76             PUBLIC  RS_CNT
                      77             PUBLIC  DSP_CNT
                      78             PUBLIC  main
                      79             PUBLIC  DELAY
                      80     
----                  81             DSEG  AT  034H
0034                  82             DSP_CNT:   DS   1
                      83     
----                  84             DSEG  AT  031H
0031                  85              RS_CNT:   DS   1
                      86     
----                  87             RSEG  ?DT?DELAY?MAIN
0000                  88     ?DELAY?BYTE:
0001                  89             ORG  1
0001                  90               k?040:   DS   1
0000                  91             ORG  0
0000                  92               j?041:   DS   1
                      93     ; #include <reg51.h>
                      94     ; 
                      95     ; typedef unsigned char BYTE;
                      96     ; 
                      97     ; BYTE RS_CNT    _at_ 0x31;
                      98     ; BYTE DSP_CNT _at_ 0x34;
                      99     ; 
                     100     ; 
                     101     ; void DELAY()
                     102     
----                 103             RSEG  ?PR?DELAY?MAIN
0000                 104     DELAY:
                     105             USING   0
                     106                             ; SOURCE LINE # 9
                     107     ; {
                     108                             ; SOURCE LINE # 10
                     109     ;       BYTE i=10;
                     110                             ; SOURCE LINE # 11
                     111     ;---- Variable 'i?042' assigned to Register 'R7' ----
0000 7F0A            112             MOV     R7,#0AH
0002                 113     ?C0003:
                     114     ;               
                     115     ;       do      
                     116     ;       {       
                     117                             ; SOURCE LINE # 14
                     118     ;               BYTE j=20;
                     119                             ; SOURCE LINE # 15
0002 750014   F      120             MOV     j?041,#014H
0005                 121     ?C0006:
                     122     ;               do
                     123     ;               {       
A51 MACRO ASSEMBLER  MAIN                                                                 05/18/2007 11:54:01 PAGE     3

                     124                             ; SOURCE LINE # 17
                     125     ;                       BYTE k=248;
                     126                             ; SOURCE LINE # 18
0005 7500F8   F      127             MOV     k?040,#0F8H
                     128     ;                       do
                     129     ;                       {
                     130                             ; SOURCE LINE # 20
                     131     ;                       }while(--k);
                     132                             ; SOURCE LINE # 21
0008                 133     ?C0007:
0008 D500FD   F      134             DJNZ    k?040,?C0007
                     135     ;               }while(--j);
                     136                             ; SOURCE LINE # 22
000B D500F7   F      137             DJNZ    j?041,?C0006
                     138     ;       }while(--i);
                     139                             ; SOURCE LINE # 23
000E DFF2            140             DJNZ    R7,?C0003
                     141     ; }
                     142                             ; SOURCE LINE # 24
0010 22              143             RET     
                     144     ; END OF DELAY
                     145     
                     146     ; 
                     147     ; 
                     148     ; main()
                     149     
----                 150             RSEG  ?PR?main?MAIN
0000                 151     main:
                     152             USING   0
                     153                             ; SOURCE LINE # 27
                     154     ;---- Variable 'temp?143' assigned to Register 'R6' ----
                     155     ; {
                     156                             ; SOURCE LINE # 28
                     157     ;       BYTE temp;
                     158     ;       RS_CNT =0x00;
                     159                             ; SOURCE LINE # 30
0000 E4              160             CLR     A
0001 F531            161             MOV     RS_CNT,A
                     162     ;       DSP_CNT=0x00;
                     163                             ; SOURCE LINE # 31
0003 F534            164             MOV     DSP_CNT,A
0005                 165     ?C0011:
                     166     ;       
                     167     ; 
                     168     ;       while(1)
                     169                             ; SOURCE LINE # 34
                     170     ;       {
                     171                             ; SOURCE LINE # 35
                     172     ;               switch(DSP_CNT)
                     173                             ; SOURCE LINE # 36
0005 E534            174             MOV     A,DSP_CNT
0007 14              175             DEC     A
0008 6020            176             JZ      ?C0018
000A 14              177             DEC     A
000B 6033            178             JZ      ?C0022
000D 14              179             DEC     A
000E 604B            180             JZ      ?C0026
0010 2403            181             ADD     A,#03H
0012 70F1            182             JNZ     ?C0011
                     183     ;               {
                     184                             ; SOURCE LINE # 37
                     185     ;                       case 0: {
                     186                             ; SOURCE LINE # 38
0014                 187     ?C0014:
                     188     ;                                               P0 =0x00;
                     189                             ; SOURCE LINE # 39
A51 MACRO ASSEMBLER  MAIN                                                                 05/18/2007 11:54:01 PAGE     4

0014 E4              190             CLR     A
0015 F580            191             MOV     P0,A
                     192     ;                                               temp=0x01;
                     193                             ; SOURCE LINE # 40
0017 7E01            194             MOV     R6,#01H
0019                 195     ?C0017:
                     196     ; 
                     197     ;                                               do
                     198     ;                                               {
                     199                             ; SOURCE LINE # 43
                     200     ;                                                       P3=temp;
                     201                             ; SOURCE LINE # 44
0019 8EB0            202             MOV     P3,R6
                     203     ;                                                       DELAY();
                     204                             ; SOURCE LINE # 45
001B 120000   F      205             LCALL   DELAY
                     206     ;                                                       ACC=temp;
                     207                             ; SOURCE LINE # 46
001E EE              208             MOV     A,R6
                     209     ;                                                       #pragma asm
                     210     ;                                                               RL A
001F 23              211               RL A
                     212     ;                                                       #pragma endasm
                     213     ;                                                       temp=ACC;
                     214                             ; SOURCE LINE # 50
0020 FE              215             MOV     R6,A
                     216     ;                                                       RS_CNT++;
                     217                             ; SOURCE LINE # 51
0021 0531            218             INC     RS_CNT
                     219     ;                                               }while(RS_CNT!=24);
                     220                             ; SOURCE LINE # 52
0023 E531            221             MOV     A,RS_CNT
0025 B418F1          222             CJNE    A,#018H,?C0017
                     223     ;                                               DSP_CNT++;
                     224                             ; SOURCE LINE # 53
                     225     ;                                               RS_CNT=0x00;
                     226                             ; SOURCE LINE # 54
                     227     ;                                       }
                     228                             ; SOURCE LINE # 55
                     229     ;                                       break;
                     230                             ; SOURCE LINE # 56
0028 802A            231             SJMP    ?C0032
                     232     ;       
                     233     ;                       case 1: {
                     234                             ; SOURCE LINE # 58
002A                 235     ?C0018:
                     236     ;                                               P0 =0x00;
                     237                             ; SOURCE LINE # 59
002A E4              238             CLR     A
002B F580            239             MOV     P0,A

⌨️ 快捷键说明

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