📄 flash.lst
字号:
MACRO ASSEMBLER FLASH 12/08/02 02:36:43 PAGE 1
WIN32 MACRO ASSEMBLER MA51 V06.04.09OBJECT MODULE PLACED IN D:\DATA\MSC1210\RIDE\FLASHACCESS\SRAMFWR\FLASH.OBJ
ASSEMBLER INVOKED BY: MA51.EXE D:\DATA\MSC1210\RIDE\FLASHACCESS\SRAMFWR\FLASH.A51 OJ("D:\DATA\MSC1210\RIDE\FLASHACCESS\SRAMFWR\FLASH.OBJ") PIN("D:\RIDE\INC") EP LINES SYNTAX(ASM51) PR("D:\DATA\MSC1210\RIDE\FLASHACCESS\SRAMFWR\FLASH.LST") XR DB PW(80) RB(0)
LOC OBJ LINE SOURCE
1 $NOMOD51
2 $INCLUDE (REG1210.INC)
240 PUBLIC INIT_VONNEUMANN, _WRITE_FLASH_BYTE ; ,cmd_parser
241 FLASH SEGMENT CODE
------ 242 RSEG FLASH
8400 243 VONNEUMANN EQU 08400H ; at UAM
244 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
245 ; Init On-Chip VonNeumann SRAM
246 ; Move the flash routines to 8400H
247 INIT_VONNEUMANN:
0000 439501 248 ORL MCON,#1 ; set RAMMAP bit
0003 758601 249 MOV DPS,#1
0006 908400 250 MOV DPTR , # 33792
0009 758600 251 MOV DPS,#0
000C 900000 F 252 MOV DPTR,#MOVE_BEG ; mov destination pointer
253 MOVE_NEXT:
000F E4 254 CLR A
0010 93 255 MOVC A,@A+DPTR ; get a source byte
0011 A3 256 INC DPTR
0012 758601 257 MOV DPS,#1
0015 F0 258 MOVX @DPTR,A ; store to destination
0016 A3 259 INC DPTR
0017 758600 260 MOV DPS,#0
001A 8582E0 261 MOV ACC,DPL
001D B400EF F 262 CJNE A,#LOW MOVE_END, MOVE_NEXT
0020 8583E0 263 MOV ACC,DPH
0023 B400E9 F 264 CJNE A,#HIGH MOVE_END, MOVE_NEXT
0026 22 265 RET
266 MOVE_BEG:
267 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
268 ; Write a flash byte. faddr=R6:R7, fdata=R5.
269 ; void write_flash_byte(int faddr, char fdata)
270 ; Used DPTR, A
271 WFB:
0027 8E83 272 MOV DPH, R6
0029 8F82 273 MOV DPL, R7
002B ED 274 MOV A, R5
275 ;; Warning: Interrupt within this code segment will
276 ;; crash the system.
002C F0 277 MOVX @DPTR, A ; Data/Program Flash Write/Erase
278 WFB_WAIT:
002D E5EE 279 MOV A,FMCON ;flash busy bit
002F 20E2FB 280 JB ACC.2, WFB_WAIT;
0032 22 281 RET
282 MOVE_END:
283 ; CSEG AT 0F97DH
284 ;cmd_parser: ; void cmd_parser(void);
285 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
286 ; Write a flash byte. faddr=R6:R7, fdata=R5.
287 ; void write_flash_byte(int faddr, char fdata)
------ 288 CSEG AT 08400H
289 _WRITE_FLASH_BYTE:
290 END
MACRO ASSEMBLER FLASH 12/08/02 02:36:43 PAGE 0
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES REFERENCES
REGB . . . . . . . D ADDR 00F0H A 238#
TXD0 . . . . . . . B ADDR 00B0H.1 A 167#
INT5 . . . . . . . B ADDR 0090H.7 A 131#
RCAP2H . . . . . . D ADDR 00CBH A 67#
SPITCON. . . . . . D ADDR 009DH A 38#
DPL. . . . . . . . D ADDR 0082H A 13# 261 273
P0 . . . . . . . . D ADDR 0080H A 11#
SM01 . . . . . . . B ADDR 00C0H.7 A 180#
TXD1 . . . . . . . B ADDR 0090H.3 A 135#
HWPCO. . . . . . . D ADDR 00E9H A 95#
SBUF1. . . . . . . D ADDR 00C1H A 63#
P1 . . . . . . . . D ADDR 0090H A 27#
CP_RL2 . . . . . . B ADDR 00C8H.0 A 197#
EXEN2. . . . . . . B ADDR 00C8H.3 A 194#
SM11 . . . . . . . B ADDR 00C0H.6 A 181#
B. . . . . . . . . D ADDR 00F0H A 102#
P0DDRH . . . . . . D ADDR 00ADH A 53#
P2 . . . . . . . . D ADDR 00A0H A 41#
SM21 . . . . . . . B ADDR 00C0H.5 A 182#
PS . . . . . . . . B ADDR 00B8H.4 A 173#
T2EX . . . . . . . B ADDR 0090H.1 A 137#
HWPC1. . . . . . . D ADDR 00EAH A 96#
P3 . . . . . . . . D ADDR 00B0H A 56#
P1DDRH . . . . . . D ADDR 00AFH A 55#
SPIEND . . . . . . D ADDR 009FH A 40#
SP . . . . . . . . D ADDR 0081H A 12#
MOVE_BEG . . . . . C ADDR 0027H R SEG=FLASH 252 266#
SMOD1. . . . . . . B ADDR 00D8H.7 A 210#
AC . . . . . . . . B ADDR 00D0H.6 A 201#
T0 . . . . . . . . B ADDR 00B0H.4 A 164#
RCAP2L . . . . . . D ADDR 00CAH A 66#
SCON1. . . . . . . D ADDR 00C0H A 62#
P2DDRH . . . . . . D ADDR 00B2H A 58#
VONNEUMANN . . . . N NUMB 8400h 243# 250
OV . . . . . . . . B ADDR 00D0H.2 A 205#
T1 . . . . . . . . B ADDR 00B0H.5 A 163#
REN. . . . . . . . B ADDR 0098H.4 A 144#
P3DDRH . . . . . . D ADDR 00B4H A 60#
PWMHI. . . . . . . D ADDR 00A3H A 44#
EA . . . . . . . . B ADDR 00A8H.7 A 151#
T2 . . . . . . . . B ADDR 0090H.0 A 138#
SECINT . . . . . . D ADDR 00F9H A 110#
LVDCON . . . . . . D ADDR 00E7H A 93#
SSCON. . . . . . . D ADDR 00E1H A 87#
T2CON. . . . . . . D ADDR 00C8H A 65#
P0DDRL . . . . . . D ADDR 00ACH A 52#
AISTAT . . . . . . D ADDR 00A7H A 47#
PWMLOW . . . . . . D ADDR 00A2H A 43#
SPIDATA. . . . . . D ADDR 009BH A 36#
ACC. . . . . . . . D ADDR 00E0H A 86# 261 263 280
P1DDRL . . . . . . D ADDR 00AEH A 54#
DPS. . . . . . . . D ADDR 0086H A 17# 249 251 257 260
C_T2 . . . . . . . B ADDR 00C8H.1 A 196#
P2DDRL . . . . . . D ADDR 00B1H A 57#
EWDI . . . . . . . B ADDR 00E8H.4 A 216#
WR . . . . . . . . B ADDR 00B0H.6 A 162#
ET0. . . . . . . . B ADDR 00A8H.1 A 157#
ES1. . . . . . . . B ADDR 00A8H.6 A 152#
P3DDRL . . . . . . D ADDR 00B3H A 59#
_WRITE_FLASH_BYTE. C ADDR 8400H A 240 289#
AI . . . . . . . . B ADDR 00D8H.4 A 212#
ET1. . . . . . . . B ADDR 00A8H.3 A 155#
TF0. . . . . . . . B ADDR 0088H.5 A 123#
MPAGE. . . . . . . D ADDR 0092H A 29#
ET2. . . . . . . . B ADDR 00A8H.5 A 153#
TF1. . . . . . . . B ADDR 0088H.7 A 121#
MSINT. . . . . . . D ADDR 00FAH A 111#
RCLK . . . . . . . B ADDR 00C8H.5 A 192#
TF2. . . . . . . . B ADDR 00C8H.7 A 190#
RI1. . . . . . . . B ADDR 00C0H.0 A 187#
RB8. . . . . . . . B ADDR 0098H.2 A 146#
SRST . . . . . . . D ADDR 00F7H A 108#
HWID . . . . . . . D ADDR 00EBH A 97#
SPICON . . . . . . D ADDR 009AH A 35#
EXIF . . . . . . . D ADDR 0091H A 28#
TH0. . . . . . . . D ADDR 008CH A 23#
MOVE_END . . . . . C ADDR 0033H R SEG=FLASH 262 264 282# 290
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -