📄 main.lst
字号:
NOPAGING
PC - 8051 ASSEMBLER, V1.1 24.07.2005/09:40:41 PAGE 1
LOC OBJ LINE SOURCE STATEMENT
1 ; -------------------------------
2 ; - Use: compiler Asm51 V1.1 -
3 ; - linker rl51 -
4 ; -------------------------------
5 PUBLIC M,ARRAY
6 PUBLIC RS,E,CS1,CS2,RESET
7 EXTRN NUMBER(DISP_ROW,DISP_COL)
8 EXTRN CODE(DISP_CLEAR,DISP_ON,DISP_OFF,DISP_INIT)
9 EXTRN CODE(DISP_ICON,DISP_TEXT,DISP_WRITE)
10
11 $include (89c51cc1.INC)
= 12+1 ; REV. 2.0 19.10. 2003
0081 = 13+1 SP DATA 081H ;Stack Pointer
0082 = 14+1 DPL DATA 082H ;Data Pointer - Low Byte
0083 = 15+1 DPH DATA 083H ;Data Pointer - High Byte
0086 = 16+1 SPDR DATA 086H ;SPI Data register
0087 = 17+1 PCON DATA 087H ;Power Control
0088 = 18+1 TCON DATA 088H ;Timer Control
0089 = 19+1 TMOD DATA 089H ;Timer Mode
008A = 20+1 TL0 DATA 08AH ;Timer 0 - Low Byte
008B = 21+1 TL1 DATA 08BH ;Timer 1 - Low Byte
008C = 22+1 TH0 DATA 08CH ;Timer 0 - High Byte
008D = 23+1 TH1 DATA 08DH ;Timer 1 - High
008E = 24+1 AUXR DATA 08EH ;Auxiliary Register 0
008F = 25+1 CKCON DATA 08FH ;Clock Control
0096 = 26+1 WMCON DATA 096H ;WatchDog & E2PROM Control
0098 = 27+1 SCON DATA 098H ;Serial Port Control
0099 = 28+1 SBUF DATA 099H ;Serial Port Buffer
009B = 29+1 CANGIT DATA 09BH ;CAN General Interrupt
009C = 30+1 CANTEC DATA 09CH ;CAN Transmit Error Counter
009D = 31+1 CANREC DATA 09DH ;CAN Receive Error Counter
00A1 = 32+1 CANTCON DATA 0A1H ;CAN Timer Control
00A2 = 33+1 AUXR1 DATA 0A2H ;Auxiliary Register 1
00A2 = 34+1 DPS DATA 0A2H ;Auxiliary Register 1
00A3 = 35+1 CANMSG DATA 0A3H ;CAN Message Data
00A4 = 36+1 CANTTCL DATA 0A4H ;CAN Timer TTC low
00A5 = 37+1 CANTTCH DATA 0A5H ;CAN Timer TTC high
00A6 = 38+1 WDTRST DATA 0A6H ;Watchdog Timer Reset
00A7 = 39+1 WDTPRG DATA 0A7H ;Watchdog Timer Program
00A8 = 40+1 IEN0 DATA 0A8H ;Interrupt Enable
00A9 = 41+1 SADDR DATA 0A9H ;Slave Address
00AA = 42+1 CANGSTA DATA 0AAH ;CAN General Status
00AB = 43+1 CANGCON DATA 0ABH ;CAN General Control
00AC = 44+1 CANTIML DATA 0ACH ;CAN Timer low
00AD = 45+1 CANTIMH DATA 0ADH ;CAN Timer high
00AE = 46+1 CANSTML DATA 0AEH ;CAN Timer Stamp low
00AF = 47+1 CANSTMH DATA 0AFH ;CAN Timer Stamp high
00B1 = 48+1 CANPAGE DATA 0B1H ;CAN Page
00B2 = 49+1 CANSTCH DATA 0B2H ;CAN Status Channel
00B3 = 50+1 CANCONCH DATA 0B3H ;CAN Control Channel
00B4 = 51+1 CANBT1 DATA 0B4H ;CAN Bit Timing 1
00B5 = 52+1 CANBT2 DATA 0B5H ;CAN Bit Timing 2
00B6 = 53+1 CANBT3 DATA 0B6H ;CAN Bit Timing 3
00B7 = 54+1 IPH0 DATA 0B7H ;Interrupt Priority Control High 0
00B8 = 55+1 IP DATA 0B8H ;Interrupt Priority
00B8 = 56+1 IPL0 DATA 0B8H ;Interrupt Priority Control Low 0
00B9 = 57+1 SADEN DATA 0B9H ;Slave Address Mask
00BA = 58+1 CANSIT1 DATA 0BAH ;CAN Status Interrupt Channel byte 1
00BB = 59+1 CANSIT2 DATA 0BBH ;CAN Status Interrupt Channel byte 2
00BC = 60+1 CANIDT1 DATA 0BCH ;CAN Identifier Tag byte 1 (Part A and B)
00BD = 61+1 CANIDT2 DATA 0BDH ;CAN Identifier Tag byte 2 (Part A and B)
00BE = 62+1 CANIDT3 DATA 0BEH ;CAN Identifier Tag byte 3 (Part A and B)
00BF = 63+1 CANIDT4 DATA 0BFH ;CAN Identifier Tag byte 4 (Part A and B)
00C0 = 64+1 P4 DATA 0C0H ;Port4
00C1 = 65+1 CANGIE DATA 0C1H ;CAN General Interrupt Enable
00C2 = 66+1 CANIE1 DATA 0C2H ;CAN Interrupt Enable Channel byte 1
00C3 = 67+1 CANIE2 DATA 0C3H ;CAN Interrupt Enable Channel byte 2
00C4 = 68+1 CANIDM1 DATA 0C4H ;CAN Identifier Mask byte 1 (Part A and B)
00C5 = 69+1 CANIDM2 DATA 0C5H ;CAN Identifier Mask byte 2 (Part A and B)
00C6 = 70+1 CANIDM3 DATA 0C6H ;CAN Identifier Mask byte 3 (Part A and B)
00C7 = 71+1 CANIDM4 DATA 0C7H ;CAN Identifier Mask byte 4 (Part A and B)
00C8 = 72+1 T2CON DATA 0C8H ;Timer/Counter 2 Control Register
00C9 = 73+1 T2MOD DATA 0C9H ;Timer 2 Mode
00CA = 74+1 RCAP2L DATA 0CAH ;Timer 2 Capture Register - Low Byte
00CB = 75+1 RCAP2H DATA 0CBH ;Timer 2 Capture Register - High Byte
00CC = 76+1 TL2 DATA 0CCH ;Timer 2 - Low Byte
00CD = 77+1 TH2 DATA 0CDH ;Timer 2 - High Byte
00CE = 78+1 CANEN1 DATA 0CEH ;CAN Enable Channel byte 1
00CF = 79+1 CANEN2 DATA 0CFH ;CAN Enable Channel byte 2
00D0 = 80+1 PSW DATA 0D0H ;Program Status Word
00D1 = 81+1 FCON DATA 0D1H ;Flash Control
00D2 = 82+1 EECON DATA 0D2H ;EEPROM Control
00D5 = 83+1 SPCR DATA 0D5H ;SPI Control Register
00D8 = 84+1 CCON DATA 0D8H ;PCA Timer/Counter Control
00D9 = 85+1 CMOD DATA 0D9H ;PCA Timer/Counter Mode
00DA = 86+1 CCAPM0 DATA 0DAH ;PCA Timer/Counter Mode0
00DB = 87+1 CCAPM1 DATA 0DBH ;PCA Timer/Counter Mode1
00DC = 88+1 CCAPM2 DATA 0DCH ;PCA Timer/Counter Mode2
00DD = 89+1 CCAPM3 DATA 0DDH ;PCA Timer/Counter Mode3
00DE = 90+1 CCAPM4 DATA 0DEH ;PCA Timer/Counter Mode4
00E0 = 91+1 ACC DATA 0E0H ;Accumulator
00E8 = 92+1 IEN1 DATA 0E8H ;Interrupt Enable Control 1
00E9 = 93+1 CL DATA 0E9H ;PCA Timer/Counter Low byte
00EA = 94+1 CCAP0L DATA 0EAH ;PCA Compare Capture Module 0L
00EB = 95+1 CCAP1L DATA 0EBH ;PCA Compare Capture Module 1L
00EC = 96+1 CCAP2L DATA 0ECH ;PCA Compare Capture Module 2L
00ED = 97+1 CCAP3L DATA 0EDH ;PCA Compare Capture Module 3L
00EE = 98+1 CCAP4L DATA 0EEH ;PCA Compare Capture Module 4L
00F0 = 99+1 B DATA 0F0H ;Multiplication Register
00F2 = 100+1 ADCLK DATA 0F2H ;ADC Clock
00F3 = 101+1 ADCON DATA 0F3H ;ADC Control
00F4 = 102+1 ADDL DATA 0F4H ;ADC Data Low byte
00F5 = 103+1 ADDH DATA 0F5H ;ADC Data High byte
00F6 = 104+1 ADCF DATA 0F6H ;ADC Configuration
00F7 = 105+1 IPH1 DATA 0F7H ;Interrupt Priority Control High 1
00F8 = 106+1 IPL1 DATA 0F8H ;Interrupt Priority Control Low 1
00F9 = 107+1 CH DATA 0F9H ;PCA Timer/Counter High byte
00FA = 108+1 CCAP0H DATA 0FAH ;PCA Compare Capture Module 0H
00FB = 109+1 CCAP1H DATA 0FBH ;PCA Compare Capture Module 1H
00FC = 110+1 CCAP2H DATA 0FCH ;PCA Compare Capture Module 2H
00FD = 111+1 CCAP3H DATA 0FDH ;PCA Compare Capture Module 3H
00FE = 112+1 CCAP4H DATA 0FEH ;PCA Compare Capture Module 4H
0088 = 113+1 IT0 BIT 088H ;TCON.0 - External Interrupt 0 Type
0089 = 114+1 IE0 BIT 089H ;TCON.1 - External Interrupt 0 Edge Flag
008A = 115+1 IT1 BIT 08AH ;TCON.2 - External Interrupt 1 Type
008B = 116+1 IE1 BIT 08BH ;TCON.3 - External Interrupt 1 Edge Flag
008C = 117+1 TR0 BIT 08CH ;TCON.4 - Timer 0 On/Off Control
008D = 118+1 TF0 BIT 08DH ;TCON.5 - Timer 0 Overflow Flag
008E = 119+1 TR1 BIT 08EH ;TCON.6 - Timer 1 On/Off Control
008F = 120+1 TF1 BIT 08FH ;TCON.7 - Timer 1 Overflow Flag
0090 = 121+1 T2 BIT 090H ;P1.0 - External Count Input to Timer 2
0091 = 122+1 T2EX BIT 091H ;P1.1 - Timer 2 Capture/Reload Trigger
0098 = 123+1 RI BIT 098H ;SCON.0 - Receive Interrupt Flag
0099 = 124+1 TI BIT 099H ;SCON.1 - Transmit Interrupt Flag
009A = 125+1 RB8 BIT 09AH ;SCON.2 - Receive Bit 8
009B = 126+1 TB8 BIT 09BH ;SCON.3 - Transmit Bit 8
009C = 127+1 REN BIT 09CH ;SCON.4 - Receive Enable
009D = 128+1 SM2 BIT 09DH ;SCON.5 - Serial Mode Control Bit 2
009E = 129+1 SM1 BIT 09EH ;SCON.6 - Serial Mode Control Bit 1
009F = 130+1 SM0 BIT 09FH ;SCON.7 - Serial Mode Control Bit 0
00A8 = 131+1 EX0 BIT 0A8H ;IE.0 - External Interrupt 0 Enable
00A9 = 132+1 ET0 BIT 0A9H ;IE.1 - Timer 0 Interrupt Enable
00AA = 133+1 EX1 BIT 0AAH ;IE.2 - External Interrupt 1 Enable
00AB = 134+1 ET1 BIT 0ABH ;IE.3 - Timer 1 Interrupt Enable
00AC = 135+1 ES BIT 0ACH ;IE.4 - Serial Port Interrupt Enable
00AD = 136+1 ET2 BIT 0ADH ;IE.5 - Timer 2 Overflow Interrupt
00AE = 137+1 EC BIT 0AEH ;IE.6 - PCA Interrupt Enable
00AF = 138+1 EA BIT 0AFH ;IE.7 - Global Interrupt Enable
00B0 = 139+1 RXD BIT 0B0H ;P3.0 - Serial Port Receive Input
00B1 = 140+1 TXD BIT 0B1H ;P3.1 - Serial Port Transmit Output
00B2 = 141+1 INT0 BIT 0B2H ;P3.2 - External Interrupt 0 Input
00B3 = 142+1 INT1 BIT 0B3H ;P3.3 - External Interrupt 1 Input
00B4 = 143+1 T0 BIT 0B4H ;P3.4 - Timer 0 Count Input
00B5 = 144+1 T1 BIT 0B5H ;P3.5 - Timer 1 Count Input
00B6 = 145+1 WR BIT 0B6H ;P3.6 - Write Control for External Memory
00B7 = 146+1 RD BIT 0B7H ;P3.7 - Read Control for External Memory
00B8 = 147+1 PX0 BIT 0B8H ;IP.0 - External Interrupt 0 Priority
00B9 = 148+1 PT0 BIT 0B9H ;IP.1 - Timer 0 Priority
00BA = 149+1 PX1 BIT 0BAH ;IP.2 - External Interrupt 1 Priority
00BB = 150+1 PT1 BIT 0BBH ;IP.3 - Timer 1 Priority
00BC = 151+1 PS BIT 0BCH ;IP.4 - Serial Port Priority
00BD = 152+1 PT2 BIT 0BDH ;IP.5 - Timer 2
00C8 = 153+1 CPRL2 BIT 0C8H ;T2CON.0 - Capture/Reload Flag
00C9 = 154+1 CT2 BIT 0C9H ;T2CON.1 - Timer/Counter Select
00CA = 155+1 TR2 BIT 0CAH ;T2CON.2 - Timer 2 Start/Stop Control
00CB = 156+1 EXEN2 BIT 0CBH ;T2CON.3 - Timer 2 External Enable Flag
00CC = 157+1 TCLK BIT 0CCH ;T2CON.4 - Transmit Clock Flag
00CD = 158+1 RCLK BIT 0CDH ;T2CON.5 - Receive Clock Flag
00CE = 159+1 EXF2 BIT 0CEH ;T2CON.6 - Timer 2 External Flag
00CF = 160+1 TF2 BIT 0CFH ;T2CON.7 - Timer 2 Overflow Flag
00D0 = 161+1 P BIT 0D0H ;PSW.0 - Accumulator Parity Flag
00D2 = 162+1 OV BIT 0D2H ;PSW.2 - Overflow Flag
00D3 = 163+1 RS0 BIT 0D3H ;PSW.3 - Register Bank Select 0
00D4 = 164+1 RS1 BIT 0D4H ;PSW.4 - Register Bank Select 1
00D5 = 165+1 F0 BIT 0D5H ;PSW.5 - Flag 0
00D6 = 166+1 AC BIT 0D6H ;PSW.6 - Auxiliary Carry Flag
00D7 = 167+1 CY BIT 0D7H ;PSW.7 - Carry Flag
= 168+1
0000 = 169+1 Bank0 EQU 00000000B
0004 = 170+1 Bank1 EQU 00000100B
0008 = 171+1 Bank2 EQU 00001000B
000C = 172+1 Bank3 EQU 00001100B
173 $include (DEFHW.INC)
= 174+1 ; --------------------------------------
= 175+1 ; - I/O signals -
= 176+1 ; --------------------------------------
00A0 = 177+1 RS BIT P2.0 ; RS signal
00A1 = 178+1 E BIT P2.1 ; E signal
00A2 = 179+1 CS1 BIT P2.2 ; CS1 signal
00A3 = 180+1 CS2 BIT P2.3 ; CS2 signal
00A4 = 181+1 RESET BIT P2.4 ; RESET signal
= 182+1
00B6 = 183+1 LED1 BIT P3.6
= 184+1
= 185+1
= 186+1
187+1
---- 188 DSEG AT 30H
0030 189 WAIT: DS 1
0031 190 M: DS 4
0035 191 ARRAY: DS 5
192
---- 193 DSEG AT 0E0H
194 STACK:
195
---- 196 CSEG
197
198 ORG 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -