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

📄 main.ls1

📁 《Proteus在MCS-51&ARM7系统中的应用百例》逆向之 Chapter 4 《Proteus在MCS-51&ARM7系统中的应用百例》MCS-51例子的C语言版本。
💻 LS1
📖 第 1 页 / 共 2 页
字号:
0006 D500FC   F      245             DJNZ    j?142,?C0010
                     246     ;       }while(--i);
                     247                             ; SOURCE LINE # 56
0009 DFF7            248             DJNZ    R7,?C0007
                     249     ; } 
                     250                             ; SOURCE LINE # 57
000B 22              251             RET     
                     252     ; END OF delay
                     253     
                     254     ; 
                     255     ; 
A51 MACRO ASSEMBLER  MAIN                                                                 05/18/2007 11:58:54 PAGE     5

                     256     ; 
                     257     ; BYTE key1()
                     258     
----                 259             RSEG  ?PR?key1?MAIN
0000                 260     key1:
                     261             USING   0
                     262                             ; SOURCE LINE # 61
                     263     ; {
                     264                             ; SOURCE LINE # 62
0000                 265     ?C0012:
                     266     ;       BYTE temp;
                     267     ;       BYTE num;
                     268     ;       BYTE key;
                     269     ; 
                     270     ;       while(1)
                     271                             ; SOURCE LINE # 67
                     272     ;       {
                     273                             ; SOURCE LINE # 68
                     274     ;               P1=0xF0;
                     275                             ; SOURCE LINE # 69
0000 7590F0          276             MOV     P1,#0F0H
                     277     ;               if(P1==0xF0)
                     278                             ; SOURCE LINE # 70
0003 E590            279             MOV     A,P1
0005 64F0            280             XRL     A,#0F0H
0007 60F7            281             JZ      ?C0012
                     282     ;                       continue;
                     283                             ; SOURCE LINE # 71
0009                 284     ?C0014:
                     285     ; 
                     286     ;               delay();                
                     287                             ; SOURCE LINE # 73
0009 120000   F      288             LCALL   delay
                     289     ;               P1=0xF0;
                     290                             ; SOURCE LINE # 74
000C 7590F0          291             MOV     P1,#0F0H
                     292     ;               temp=P1;
                     293                             ; SOURCE LINE # 75
                     294     ;---- Variable 'temp?244' assigned to Register 'R7' ----
000F AF90            295             MOV     R7,P1
                     296     ;               if(temp==0xF0)
                     297                             ; SOURCE LINE # 76
0011 EF              298             MOV     A,R7
0012 64F0            299             XRL     A,#0F0H
0014 60EA            300             JZ      ?C0012
                     301     ;                       continue;
                     302                             ; SOURCE LINE # 77
0016                 303     ?C0015:
                     304     ;               
                     305     ;               P1=0x0F;
                     306                             ; SOURCE LINE # 79
0016 75900F          307             MOV     P1,#0FH
                     308     ;               temp=P1&temp;
                     309                             ; SOURCE LINE # 80
0019 E590            310             MOV     A,P1
001B 5207            311             ANL     AR7,A
                     312     ; 
                     313     ;               num=0x10;
                     314                             ; SOURCE LINE # 82
                     315     ;---- Variable 'num?245' assigned to Register 'R6' ----
001D 7E10            316             MOV     R6,#010H
                     317     ;               key=0;
                     318                             ; SOURCE LINE # 83
                     319     ;---- Variable 'key?246' assigned to Register 'R5' ----
001F E4              320             CLR     A
0020 FD              321             MOV     R5,A
A51 MACRO ASSEMBLER  MAIN                                                                 05/18/2007 11:58:54 PAGE     6

0021                 322     ?C0018:
                     323     ; 
                     324     ;               do
                     325     ;               {
                     326                             ; SOURCE LINE # 86
                     327     ;                       if(temp==K1TAB[key])
                     328                             ; SOURCE LINE # 87
0021 ED              329             MOV     A,R5
0022 900000   F      330             MOV     DPTR,#K1TAB
0025 93              331             MOVC    A,@A+DPTR
0026 B5070B          332             CJNE    A,AR7,?C0019
                     333     ;                       {
                     334                             ; SOURCE LINE # 88
                     335     ;                               P1=0x0F;
                     336                             ; SOURCE LINE # 89
0029 75900F          337             MOV     P1,#0FH
002C                 338     ?C0020:
                     339     ;                               while(P1!=0x0F);
                     340                             ; SOURCE LINE # 90
002C E590            341             MOV     A,P1
002E B40FFB          342             CJNE    A,#0FH,?C0020
0031                 343     ?C0021:
                     344     ;                               return key;
                     345                             ; SOURCE LINE # 91
0031 AF05            346             MOV     R7,AR5
0033 22              347             RET     
                     348     ;                       }
                     349                             ; SOURCE LINE # 92
0034                 350     ?C0019:
                     351     ;                       key++;
                     352                             ; SOURCE LINE # 93
0034 0D              353             INC     R5
                     354     ;               }while(--num);
                     355                             ; SOURCE LINE # 94
0035 DEEA            356             DJNZ    R6,?C0018
                     357     ;       }                          
                     358                             ; SOURCE LINE # 95
0037 80C7            359             SJMP    ?C0012
                     360     ; END OF key1
                     361     
                     362     ; }
                     363     ; 
                     364     ; 
                     365     ; main()
                     366     
----                 367             RSEG  ?PR?main?MAIN
0000                 368     main:
                     369             USING   0
                     370                             ; SOURCE LINE # 99
                     371     ; {
                     372                             ; SOURCE LINE # 100
0000                 373     ?C0023:
                     374     ;       while(1)
                     375                             ; SOURCE LINE # 101
                     376     ;       {
                     377                             ; SOURCE LINE # 102
                     378     ;               display(key1());
                     379                             ; SOURCE LINE # 103
0000 120000   F      380             LCALL   key1
0003 120000   F      381             LCALL   _display
                     382     ;       }
                     383                             ; SOURCE LINE # 104
0006 80F8            384             SJMP    ?C0023
                     385     ; END OF main
                     386     
                     387             END
A51 MACRO ASSEMBLER  MAIN                                                                 05/18/2007 11:58:54 PAGE     7

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


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

?C0003 . . . . . .  C ADDR   000BH   R   SEG=?PR?_DISPLAY?MAIN
?C0007 . . . . . .  C ADDR   0002H   R   SEG=?PR?DELAY?MAIN
?C0010 . . . . . .  C ADDR   0005H   R   SEG=?PR?DELAY?MAIN
?C0012 . . . . . .  C ADDR   0000H   R   SEG=?PR?KEY1?MAIN
?C0014 . . . . . .  C ADDR   0009H   R   SEG=?PR?KEY1?MAIN
?C0015 . . . . . .  C ADDR   0016H   R   SEG=?PR?KEY1?MAIN
?C0018 . . . . . .  C ADDR   0021H   R   SEG=?PR?KEY1?MAIN
?C0019 . . . . . .  C ADDR   0034H   R   SEG=?PR?KEY1?MAIN
?C0020 . . . . . .  C ADDR   002CH   R   SEG=?PR?KEY1?MAIN
?C0021 . . . . . .  C ADDR   0031H   R   SEG=?PR?KEY1?MAIN
?C0023 . . . . . .  C ADDR   0000H   R   SEG=?PR?MAIN?MAIN
?CO?MAIN . . . . .  C SEG    0022H       REL=UNIT
?C_STARTUP . . . .  C ADDR   -----       EXT
?DELAY?BYTE. . . .  D ADDR   0000H   R   SEG=?DT?DELAY?MAIN
?DT?DELAY?MAIN . .  D SEG    0001H       REL=UNIT
?PR?DELAY?MAIN . .  C SEG    000CH       REL=UNIT
?PR?KEY1?MAIN. . .  C SEG    0039H       REL=UNIT
?PR?MAIN?MAIN. . .  C SEG    0008H       REL=UNIT
?PR?_DISPLAY?MAIN.  C SEG    0015H       REL=UNIT
AC . . . . . . . .  B ADDR   00D0H.6 A   
ACC. . . . . . . .  D ADDR   00E0H   A   
AR5. . . . . . . .  D ADDR   0005H   A   
AR7. . . . . . . .  D ADDR   0007H   A   
B. . . . . . . . .  D ADDR   00F0H   A   
CY . . . . . . . .  B ADDR   00D0H.7 A   
DBUF . . . . . . .  D ADDR   0030H   A   
DELAY. . . . . . .  C ADDR   0000H   R   SEG=?PR?DELAY?MAIN
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   
J?142. . . . . . .  D ADDR   0000H   R   SEG=?DT?DELAY?MAIN
K1TAB. . . . . . .  C ADDR   0012H   R   SEG=?CO?MAIN
KEY1 . . . . . . .  C ADDR   0000H   R   SEG=?PR?KEY1?MAIN
MAIN . . . . . . .  C ADDR   0000H   R   SEG=?PR?MAIN?MAIN
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   
P30. . . . . . . .  B ADDR   00B0H.0 A   
P31. . . . . . . .  B ADDR   00B0H.1 A   
PCON . . . . . . .  D ADDR   0087H   A   
PS . . . . . . . .  B ADDR   00B8H.4 A   
PSW. . . . . . . .  D ADDR   00D0H   A   
PT0. . . . . . . .  B ADDR   00B8H.1 A   
A51 MACRO ASSEMBLER  MAIN                                                                 05/18/2007 11:58:54 PAGE     8

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   
SEGTAB . . . . . .  C ADDR   0000H   R   SEG=?CO?MAIN
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   
TEMP . . . . . . .  D ADDR   0040H   A   
TF0. . . . . . . .  B ADDR   0088H.5 A   
TF1. . . . . . . .  B ADDR   0088H.7 A   
TH0. . . . . . . .  D ADDR   008CH   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TI . . . . . . . .  B ADDR   0098H.1 A   
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   
_DISPLAY . . . . .  C ADDR   0000H   R   SEG=?PR?_DISPLAY?MAIN


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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