📄 out.ls1
字号:
A51 MACRO ASSEMBLER OUT 10/28/2006 08:28:35 PAGE 1
MACRO ASSEMBLER A51 V6.12
OBJECT MODULE PLACED IN out.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE out.src PR(.\out.ls1) EP DEBUG
LOC OBJ LINE SOURCE
1 ; .\out.SRC generated from: .\out.c
2
3 $nomod51
4
5 NAME OUT
6
0080 7 P0 DATA 080H
0090 8 P1 DATA 090H
00A0 9 P2 DATA 0A0H
00B0 10 P3 DATA 0B0H
00B4 11 T0 BIT 0B0H.4
00D6 12 AC BIT 0D0H.6
00B5 13 T1 BIT 0B0H.5
00AF 14 EA BIT 0A8H.7
00A8 15 IE DATA 0A8H
00B1 16 P3_1 BIT 0B0H.1
00B7 17 RD BIT 0B0H.7
00AC 18 ES BIT 0A8H.4
00B8 19 IP DATA 0B8H
0098 20 RI BIT 098H.0
00B2 21 INT0 BIT 0B0H.2
00D7 22 CY BIT 0D0H.7
0099 23 TI BIT 098H.1
00B3 24 INT1 BIT 0B0H.3
00BC 25 PS BIT 0B8H.4
0081 26 SP DATA 081H
00D2 27 OV BIT 0D0H.2
00B6 28 WR BIT 0B0H.6
0099 29 SBUF DATA 099H
0087 30 PCON DATA 087H
0098 31 SCON DATA 098H
0089 32 TMOD DATA 089H
0088 33 TCON DATA 088H
0089 34 IE0 BIT 088H.1
008B 35 IE1 BIT 088H.3
00F0 36 B DATA 0F0H
00E0 37 ACC DATA 0E0H
00A9 38 ET0 BIT 0A8H.1
00AB 39 ET1 BIT 0A8H.3
008D 40 TF0 BIT 088H.5
008F 41 TF1 BIT 088H.7
009A 42 RB8 BIT 098H.2
008C 43 TH0 DATA 08CH
00A8 44 EX0 BIT 0A8H.0
0088 45 IT0 BIT 088H.0
008D 46 TH1 DATA 08DH
009B 47 TB8 BIT 098H.3
00AA 48 EX1 BIT 0A8H.2
008A 49 IT1 BIT 088H.2
00D0 50 P BIT 0D0H.0
009F 51 SM0 BIT 098H.7
008A 52 TL0 DATA 08AH
009E 53 SM1 BIT 098H.6
008B 54 TL1 DATA 08BH
009D 55 SM2 BIT 098H.5
00B9 56 PT0 BIT 0B8H.1
00BB 57 PT1 BIT 0B8H.3
00D3 58 RS0 BIT 0D0H.3
A51 MACRO ASSEMBLER OUT 10/28/2006 08:28:35 PAGE 2
008C 59 TR0 BIT 088H.4
00D4 60 RS1 BIT 0D0H.4
008E 61 TR1 BIT 088H.6
00B8 62 PX0 BIT 0B8H.0
00BA 63 PX1 BIT 0B8H.2
0083 64 DPH DATA 083H
0082 65 DPL DATA 082H
009C 66 REN BIT 098H.4
00B0 67 RXD BIT 0B0H.0
00B1 68 TXD BIT 0B0H.1
00D5 69 F0 BIT 0D0H.5
00D0 70 PSW DATA 0D0H
71 ?PR?_out?OUT SEGMENT CODE
72 ?PR?_in?OUT SEGMENT CODE
73 ?PR?test?OUT SEGMENT CODE
74 PUBLIC test
75 PUBLIC _in
76 PUBLIC _out
77 ; #include <out.h>
78 ; #include <reg51.h>
79 ; #include <head.h>
80 ; out( unsigned int addr, unsigned char value)
81
---- 82 RSEG ?PR?_out?OUT
0000 83 L?0006:
84 USING 0
0000 7DAA 85 MOV R5,#0AAH
0002 7F09 86 MOV R7,#09H
0004 7EC0 87 MOV R6,#0C0H
0006 88 _out:
89 ;---- Variable 'addr?040' assigned to Register 'DPTR' ----
0006 8F82 90 MOV DPL,R7
0008 8E83 91 MOV DPH,R6
92 ;---- Variable 'value?041' assigned to Register 'R5' ----
93 ; SOURCE LINE # 4
94 ; {*( unsigned char xdata *)addr=value;
95 ; SOURCE LINE # 5
000A ED 96 MOV A,R5
000B F0 97 MOVX @DPTR,A
98 ; }
99 ; SOURCE LINE # 6
000C 22 100 RET
101 ; END OF _out
102
103 ;
104 ;
105 ; in(unsigned int addr)
106
---- 107 RSEG ?PR?_in?OUT
0000 108 _in:
109 USING 0
110 ;---- Variable 'addr?142' assigned to Register 'DPTR' ----
0000 8F82 111 MOV DPL,R7
0002 8E83 112 MOV DPH,R6
113 ; SOURCE LINE # 9
114 ; {unsigned char value;
115 ; SOURCE LINE # 10
116 ; P0=0xFF;
117 ; SOURCE LINE # 11
0004 7580FF 118 MOV P0,#0FFH
119 ; value=*(unsigned char xdata *)addr;
120 ; SOURCE LINE # 12
0007 E0 121 MOVX A,@DPTR
0008 FF 122 MOV R7,A
123 ;---- Variable 'value?143' assigned to Register 'R7' ----
124 ; return(value)
A51 MACRO ASSEMBLER OUT 10/28/2006 08:28:35 PAGE 3
125 ; SOURCE LINE # 13
0009 7E00 126 MOV R6,#00H
127 ; ;}
128 ; SOURCE LINE # 14
000B 129 ?C0002:
000B 22 130 RET
131 ; END OF _in
132
133 ;
134 ; test()
135
---- 136 RSEG ?PR?test?OUT
0000 137 test:
138 USING 0
139 ; SOURCE LINE # 16
140 ; {
141 ; SOURCE LINE # 17
142 ; out(TEST,0xAA);
143 ; SOURCE LINE # 18
0000 120000 F 144 LCALL L?0006
0003 145 ?C0003:
146 ; while((in(TEST)^0xAA))
147 ; SOURCE LINE # 19
0003 7F09 148 MOV R7,#09H
0005 7EC0 149 MOV R6,#0C0H
0007 120000 F 150 LCALL _in
000A EF 151 MOV A,R7
000B 64AA 152 XRL A,#0AAH
000D 4E 153 ORL A,R6
000E 6005 154 JZ ?C0005
155 ; out(TEST,0xAA);
156 ; SOURCE LINE # 20
0010 120000 F 157 LCALL L?0006
0013 80EE 158 SJMP ?C0003
159 ; }
160 ; SOURCE LINE # 21
0015 161 ?C0005:
0015 22 162 RET
163 ; END OF test
164
165 END
A51 MACRO ASSEMBLER OUT 10/28/2006 08:28:35 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C0002 . . . . . . C ADDR 000BH R SEG=?PR?_IN?OUT
?C0003 . . . . . . C ADDR 0003H R SEG=?PR?TEST?OUT
?C0005 . . . . . . C ADDR 0015H R SEG=?PR?TEST?OUT
?PR?TEST?OUT . . . C SEG 0016H REL=UNIT
?PR?_IN?OUT. . . . C SEG 000CH REL=UNIT
?PR?_OUT?OUT . . . C SEG 000DH REL=UNIT
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
L?0006 . . . . . . C ADDR 0000H R SEG=?PR?_OUT?OUT
OUT. . . . . . . . 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
P3_1 . . . . . . . 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
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
A51 MACRO ASSEMBLER OUT 10/28/2006 08:28:35 PAGE 5
TEST . . . . . . . C ADDR 0000H R SEG=?PR?TEST?OUT
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
_IN. . . . . . . . C ADDR 0000H R SEG=?PR?_IN?OUT
_OUT . . . . . . . C ADDR 0006H R SEG=?PR?_OUT?OUT
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -