📄 936isp_4800_7.3728m.lst
字号:
222 ;************************************************
3F2A 7880 223 READ_USER_ID: MOV R0,#DATA_BUF
3F2C 8683 224 MOV DPH,@R0 ;START ADDRESS
3F2E 08 225 INC R0
3F2F 8682 226 MOV DPL,@R0
3F31 08 227 INC R0
3F32 8631 228 MOV addr_h,@R0 ;END ADDRESS
3F34 08 229 INC R0
3F35 8630 230 MOV addr_l,@R0
3F37 08 231 INC R0 ;RO=84H
3F38 3098FD 232 JNB RI,$
3F3B C298 233 CLR RI
234
3F3D B60010 235 USER_ID_START: CJNE @R0,#00H,USER_ID_LOOP ;R0=84H
3F40 F1D5 236 ACALL ASC_ENTER
3F42 7A10 237 MOV R2,#10H ;16 BYTE
3F44 E583 238 MOV A,DPH
3F46 F1F4 239 ACALL SEND_HEX
3F48 E582 240 MOV A,DPL
3F4A F1F4 241 ACALL SEND_HEX
3F4C 743D 242 MOV A,#3DH ;SEND "ADDRESS="
3F4E D171 243 ACALL SEND_ASC
244
3F50 AC83 245 USER_ID_LOOP: MOV R4,DPH
3F52 AD82 246 MOV R5,DPL
3F54 7407 247 MOV A,#07H ;READ USER ID
3F56 12FF03 248 LCALL PGM_MTP
3F59 EF 249 MOV A,R7
3F5A B60004 250 CJNE @R0,#00H,USER_ID_1
3F5D F1F4 251 ACALL SEND_HEX
3F5F 8003 252 SJMP USER_ID_2
253
3F61 B4001D 254 USER_ID_1: CJNE A,#00H,SEND_DPTR
3F64 E531 255 USER_ID_2: MOV A,addr_h
3F66 B58313 256 CJNE A,DPH,DPTR_INC
A51 MACRO ASSEMBLER 936ISP_4800_7_3728M 04/30/2007 17:15:55 PAGE 5
3F69 E530 257 MOV A,addr_l
3F6B B5820E 258 CJNE A,DPL,DPTR_INC
3F6E B60102 259 CJNE @R0,#01H,OP_END
3F71 E124 260 AJMP WRITE_0K
261 ;************************************************
3F73 F1D5 262 OP_END: ACALL ASC_ENTER ;SEND 'ENTER'
3F75 3099FD 263 JNB TI,$
3F78 D29C 264 SETB REN
3F7A C127 265 AJMP WAIT_3AH ;GOTO WAIT_3AH
266 ;************************************************
3F7C A3 267 DPTR_INC: INC DPTR
3F7D DAD1 268 DJNZ R2,USER_ID_LOOP
3F7F E13D 269 AJMP USER_ID_START
270 ;************************************************
3F81 E583 271 SEND_DPTR: MOV A,DPH
3F83 F1F4 272 ACALL SEND_HEX
3F85 E582 273 MOV A,DPL
3F87 F1F4 274 ACALL SEND_HEX
3F89 E173 275 AJMP OP_END
276 ;************************************************
3F8B 7980 277 WRITE_CFG: MOV R1,#DATA_BUF
3F8D E7 278 MOV A,@R1
3F8E FF 279 MOV R7,A ;R7: 00H=UCFG1,02H=BOOT VECTOR,03H=STATUS B
ITS
3F8F 09 280 INC R1 ;R7: 08H~0FH=SECURITY BITS
3F90 E7 281 MOV A,@R1
3F91 FD 282 MOV R5,A
3F92 7402 283 MOV A,#02H ;WRITE CONFIG
3F94 E118 284 AJMP CALL_IAP
285 ;************************************************
3F96 E102 286 OP_ERR: AJMP WRITE_ERR
287 ;************************************************
3F98 7980 288 READ_CFG: MOV R1,#DATA_BUF
3F9A E7 289 MOV A,@R1 ;R7: 00H=UCFG1,02H=BOOT VECTOR,03H=STATUS B
ITS
3F9B FF 290 MOV R7,A ;R7: 08H~0FH=SECURITY BITS
3F9C 7403 291 MOV A,#03H ;READ CONFIG
3F9E 12FF03 292 LCALL PGM_MTP
3FA1 20D5F2 293 JB F0,OP_ERR
3FA4 EF 294 MOV A,R7
3FA5 F1F4 295 ACALL SEND_HEX
3FA7 E124 296 AJMP WRITE_0K
297 ;************************************************
3FA9 7980 298 ERASE_FLASH: MOV R1,#DATA_BUF
3FAB E7 299 MOV A,@R1
3FAC FF 300 MOV R7,A ;R7: 00H=PAGE ERASE,01H=SECTOR ERASE
3FAD 09 301 INC R1
3FAE E7 302 MOV A,@R1
3FAF FC 303 MOV R4,A ;R4,R5: SECTOR ADDRESS
3FB0 09 304 INC R1
3FB1 E7 305 MOV A,@R1
3FB2 FD 306 MOV R5,A
3FB3 7404 307 MOV A,#04H ;ERASE FLASH
3FB5 E118 308 AJMP CALL_IAP
309
3FB7 310 READ_GOLBER_CRC:
3FB7 7406 311 MOV A,#06H ;READ GOLBER CRC
3FB9 E1C1 312 AJMP SEND_CRC
313 ;************************************************
3FBB 314 READ_SECTOR_CRC:
3FBB 7980 315 MOV R1,#DATA_BUF
3FBD E7 316 MOV A,@R1
3FBE FF 317 MOV R7,A ;R7: SECTOR ADDRESS
3FBF 7405 318 MOV A,#05H ;READ SECTOR CRC
319
3FC1 12FF03 320 SEND_CRC: LCALL PGM_MTP
A51 MACRO ASSEMBLER 936ISP_4800_7_3728M 04/30/2007 17:15:55 PAGE 6
3FC4 20D5CF 321 JB F0,OP_ERR
3FC7 EC 322 MOV A,R4 ;4 BYTE CRC DATA
3FC8 F1F4 323 ACALL SEND_HEX
3FCA ED 324 MOV A,R5
3FCB F1F4 325 ACALL SEND_HEX
3FCD EE 326 MOV A,R6
3FCE F1F4 327 ACALL SEND_HEX
3FD0 EF 328 MOV A,R7
3FD1 F1F4 329 ACALL SEND_HEX
3FD3 E124 330 AJMP WRITE_0K
331 ;************************************************
3FD5 740D 332 ASC_ENTER: MOV A,#0DH
3FD7 D171 333 ACALL SEND_ASC
3FD9 740A 334 MOV A,#0AH
3FDB D171 335 ACALL SEND_ASC
3FDD 22 336 RET
337 ;************************************************
3FDE 742E 338 SET_BAUD: MOV A,#2EH
3FE0 D171 339 ACALL SEND_ASC
3FE2 79FF 340 MOV R1,#0FFH
3FE4 D9FE 341 DJNZ R1,$
3FE6 D9FE 342 DJNZ R1,$
3FE8 C28E 343 CLR TR1
3FEA 7980 344 MOV R1,#DATA_BUF
3FEC 878D 345 MOV TH1,@R1
3FEE 878B 346 MOV TL1,@R1
3FF0 D28E 347 SETB TR1
3FF2 E124 348 AJMP WRITE_0K
349 ;************************************************
3FF4 FC 350 SEND_HEX: MOV R4,A
3FF5 C4 351 SWAP A
3FF6 D197 352 ACALL HEX_ASC
3FF8 D171 353 ACALL SEND_ASC
3FFA EC 354 MOV A,R4
3FFB D197 355 ACALL HEX_ASC
3FFD D171 356 ACALL SEND_ASC
3FFF 22 357 RET
358 ;************************************************
359 END
A51 MACRO ASSEMBLER 936ISP_4800_7_3728M 04/30/2007 17:15:55 PAGE 7
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
ADDR_H . . . . . . D ADDR 0031H A
ADDR_L . . . . . . D ADDR 0030H A
ASC_ENTER. . . . . C ADDR 3FD5H A
ASC_HEX. . . . . . C ADDR 3E8FH A
ASC_HEX1 . . . . . C ADDR 3E94H A
BRGCON . . . . . . D ADDR 00BDH A
BRGR0. . . . . . . D ADDR 00BEH A
BRGR1. . . . . . . D ADDR 00BFH A
CALL_IAP . . . . . C ADDR 3F18H A
COMMAND_TAB. . . . C ADDR 3EABH A
COMM_TYPE. . . . . D ADDR 0034H A
DATA_BUF . . . . . N NUMB 0080H A
DATA_N . . . . . . D ADDR 0033H A
DPH. . . . . . . . D ADDR 0083H A
DPL. . . . . . . . D ADDR 0082H A
DPTR_INC . . . . . C ADDR 3F7CH A
ERASE_FLASH. . . . C ADDR 3FA9H A
F0 . . . . . . . . B ADDR 00D0H.5 A
F1 . . . . . . . . B ADDR 00D0H.1 A
GET_DATA . . . . . C ADDR 3E5EH A
HAND_ASC . . . . . C ADDR 3E85H A
HAND_RET . . . . . C ADDR 3E8EH A
HEX_ASC. . . . . . C ADDR 3E97H A
HEX_ASC1 . . . . . C ADDR 3EA1H A
ISP_COMMAND. . . . C ADDR 3EA4H A
ISP_START. . . . . C ADDR 3E03H A
OP_END . . . . . . C ADDR 3F73H A
OP_ERR . . . . . . C ADDR 3F96H A
P1 . . . . . . . . D ADDR 0090H A
P1M1 . . . . . . . D ADDR 0091H A
P1M2 . . . . . . . D ADDR 0092H A
PCON . . . . . . . D ADDR 0087H A
PGM_MTP. . . . . . N NUMB FF03H A
PSW. . . . . . . . D ADDR 00D0H A
READ_CFG . . . . . C ADDR 3F98H A
READ_GOLBER_CRC. . C ADDR 3FB7H A
READ_IAP_ID. . . . C ADDR 3ECCH A
READ_SECTOR_CRC. . C ADDR 3FBBH A
READ_USER_ID . . . C ADDR 3F2AH A
RECV_ASC . . . . . C ADDR 3E7BH A
RECV_END . . . . . C ADDR 3E50H A
RECV_ERR . . . . . C ADDR 3E5AH A
RECV_LOOP. . . . . C ADDR 3E49H A
REN. . . . . . . . B ADDR 0098H.4 A
RI . . . . . . . . B ADDR 0098H.0 A
SBUF . . . . . . . D ADDR 0099H A
SCON . . . . . . . D ADDR 0098H A
SEND_ASC . . . . . C ADDR 3E71H A
SEND_CRC . . . . . C ADDR 3FC1H A
SEND_DPTR. . . . . C ADDR 3F81H A
SEND_HEX . . . . . C ADDR 3FF4H A
SET_BAUD . . . . . C ADDR 3FDEH A
SOFT_RST . . . . . C ADDR 3E00H A
TEMP . . . . . . . D ADDR 0035H A
TH1. . . . . . . . D ADDR 008DH A
TI . . . . . . . . B ADDR 0098H.1 A
TL1. . . . . . . . D ADDR 008BH A
TMOD . . . . . . . D ADDR 0089H A
TR1. . . . . . . . B ADDR 0088H.6 A
A51 MACRO ASSEMBLER 936ISP_4800_7_3728M 04/30/2007 17:15:55 PAGE 8
T_BPS. . . . . . . N NUMB 00E6H A
USER_ID_1. . . . . C ADDR 3F61H A
USER_ID_2. . . . . C ADDR 3F64H A
USER_ID_LOOP . . . C ADDR 3F50H A
USER_ID_START. . . C ADDR 3F3DH A
WAIT_3AH . . . . . C ADDR 3E27H A
WAIT_55H . . . . . C ADDR 3E22H A
WDG_INIT . . . . . C ADDR 3EBFH A
WDG_RST. . . . . . C ADDR 3EC5H A
WRITE_0K . . . . . C ADDR 3F24H A
WRITE_CFG. . . . . C ADDR 3F8BH A
WRITE_ERR. . . . . C ADDR 3F02H A
WRITE_FLASH. . . . C ADDR 3F0BH A
WRITE_OK1. . . . . C ADDR 3F26H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -