📄 eeprom.asm
字号:
; line 64
$DGL 0,6
movw bc,#0FFH ; 255 ;[INF] 3, 6
?L0006:
; line 65
$DGL 0,7
??ef_ucUseProhibitionBlock:
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_ucUseProhibitionBlock:
; line 74
_ucEffectiveBlock:
$DGL 1,43
push hl ;[INF] 1, 4
movw hl,ax ;[INF] 1, 4
??bf_ucEffectiveBlock:
; line 75
$DGL 0,2
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4
cmp a,#055H ; 85 ;[INF] 2, 4
bnz $?L0011 ;[INF] 2, 6
movw ax,hl ;[INF] 1, 4
incw ax ;[INF] 1, 4
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4
cmp a,#0AAH ; 170 ;[INF] 2, 4
bnz $?L0011 ;[INF] 2, 6
movw ax,hl ;[INF] 1, 4
incw ax ;[INF] 1, 4
incw ax ;[INF] 1, 4
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4
cmp a,#055H ; 85 ;[INF] 2, 4
bnz $?L0011 ;[INF] 2, 6
movw ax,hl ;[INF] 1, 4
addw ax,#03H ; 3 ;[INF] 3, 6
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4
cmp a,#0AAH ; 170 ;[INF] 2, 4
bnz $?L0011 ;[INF] 2, 6
; line 76
$DGL 0,3
??bb00_ucEffectiveBlock:
; line 77
$DGL 0,4
movw bc,#00H ; 0 ;[INF] 3, 6
br $?L0010 ;[INF] 2, 6
??eb00_ucEffectiveBlock:
?L0011:
; line 79
$DGL 0,6
movw bc,#0FFH ; 255 ;[INF] 3, 6
?L0010:
; line 80
$DGL 0,7
??ef_ucEffectiveBlock:
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_ucEffectiveBlock:
; line 89
_IsBlockValid:
$DGL 1,54
push hl ;[INF] 1, 4
push ax ;[INF] 1, 4
push ax ;[INF] 1, 4
push ax ;[INF] 1, 4
movw ax,sp ;[INF] 2, 8
movw hl,ax ;[INF] 1, 4
??bf_IsBlockValid:
; line 93
$DGL 0,5
mov a,[hl+4] ; ucBlock ;[INF] 2, 8
mov c,a ;[INF] 1, 2
push hl ;[INF] 1, 4
movw hl,#_ucEEPROM_BLOCK ;[INF] 3, 6
mov a,[hl+c] ;[INF] 1, 6
pop hl ;[INF] 1, 4
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
call !_usBlockToAddress ;[INF] 3, 7
movw ax,bc ;[INF] 1, 4
mov [hl+3],a ; usFlagAdr ;[INF] 2, 8
xch a,x ;[INF] 1, 2
mov [hl+2],a ; usFlagAdr ;[INF] 2, 8
; line 95
$DGL 0,7
xch a,x ;[INF] 1, 2
call !_ucEffectiveBlock ;[INF] 3, 7
mov a,c ;[INF] 1, 2
mov [hl+1],a ; ucResult ;[INF] 2, 8
; line 97
$DGL 0,9
mov b,#00H ; 0 ;[INF] 2, 4
xch a,c ;[INF] 1, 2
; line 98
$DGL 0,10
??ef_IsBlockValid:
pop ax ;[INF] 1, 4
pop ax ;[INF] 1, 4
pop ax ;[INF] 1, 4
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_IsBlockValid:
; line 109
_ucBlankBlock:
$DGL 1,63
push hl ;[INF] 1, 4
movw hl,ax ;[INF] 1, 4
??bf_ucBlankBlock:
; line 110
$DGL 0,2
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4
inc a ;[INF] 1, 2
bnz $?L0017 ;[INF] 2, 6
movw ax,hl ;[INF] 1, 4
incw ax ;[INF] 1, 4
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4
inc a ;[INF] 1, 2
bnz $?L0017 ;[INF] 2, 6
movw ax,hl ;[INF] 1, 4
incw ax ;[INF] 1, 4
incw ax ;[INF] 1, 4
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4
inc a ;[INF] 1, 2
bnz $?L0017 ;[INF] 2, 6
movw ax,hl ;[INF] 1, 4
addw ax,#03H ; 3 ;[INF] 3, 6
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4
inc a ;[INF] 1, 2
bnz $?L0017 ;[INF] 2, 6
; line 111
$DGL 0,3
??bb00_ucBlankBlock:
; line 112
$DGL 0,4
movw bc,#00H ; 0 ;[INF] 3, 6
br $?L0016 ;[INF] 2, 6
??eb00_ucBlankBlock:
?L0017:
; line 114
$DGL 0,6
movw bc,#0FFH ; 255 ;[INF] 3, 6
?L0016:
; line 115
$DGL 0,7
??ef_ucBlankBlock:
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_ucBlankBlock:
; line 127
_SelfFlashModeOn:
$DGL 1,74
??bf_SelfFlashModeOn:
; line 128
$DGL 0,2
call !_EnableFLMD ;[INF] 3, 7
; line 130
$DGL 0,4
di ;[INF] 2, 6
; line 131
$DGL 0,5
call !_FlashStart ;[INF] 3, 7
; line 132
$DGL 0,6
ei ;[INF] 2, 6
; line 133
$DGL 0,7
; line 134
$DGL 0,8
??ef_SelfFlashModeOn:
ret ;[INF] 1, 6
??ee_SelfFlashModeOn:
; line 143
_SelfFlashModeOff:
$DGL 1,80
di ;[INF] 2, 6
??bf_SelfFlashModeOff:
; line 145
$DGL 0,3
call !_FlashEnd ;[INF] 3, 7
; line 146
$DGL 0,4
ei ;[INF] 2, 6
; line 148
$DGL 0,6
call !_DisableFLMD ;[INF] 3, 7
; line 150
$DGL 0,8
; line 151
$DGL 0,9
??ef_SelfFlashModeOff:
ret ;[INF] 1, 6
??ee_SelfFlashModeOff:
; line 164
_ucSelfFlashInitialize:
$DGL 1,86
??bf_ucSelfFlashInitialize:
; line 165
$DGL 0,2
movw ax,#_ucEntryRAM ;[INF] 3, 6
call !_FlashEnv ;[INF] 3, 7
; line 166
$DGL 0,3
call !_CheckFLMD ;[INF] 3, 7
inc c ;[INF] 1, 2
dec c ;[INF] 1, 2
bz $?L0025 ;[INF] 2, 6
; line 167
$DGL 0,4
??bb00_ucSelfFlashInitialize:
; line 168
$DGL 0,5
movw bc,#0FFH ; 255 ;[INF] 3, 6
br $?L0024 ;[INF] 2, 6
??eb00_ucSelfFlashInitialize:
?L0025:
; line 170
$DGL 0,7
movw bc,#00H ; 0 ;[INF] 3, 6
?L0024:
; line 171
$DGL 0,8
??ef_ucSelfFlashInitialize:
ret ;[INF] 1, 6
??ee_ucSelfFlashInitialize:
; line 181
_ucSelfFlashBlockErase:
$DGL 1,96
push hl ;[INF] 1, 4
push ax ;[INF] 1, 4
push ax ;[INF] 1, 4
movw ax,sp ;[INF] 2, 8
movw hl,ax ;[INF] 1, 4
??bf_ucSelfFlashBlockErase:
; line 184
$DGL 0,4
?L0029:
; line 185
$DGL 0,5
??bb00_ucSelfFlashBlockErase:
; line 187
$DGL 0,7
di ;[INF] 2, 6
; line 188
$DGL 0,8
mov a,[hl+8] ; ucBlock ;[INF] 2, 8
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
push ax ;[INF] 1, 4
mov a,[hl+2] ; ucBank ;[INF] 2, 8
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
call !_FlashBlockBlankCheck ;[INF] 3, 7
pop ax ;[INF] 1, 4
mov a,c ;[INF] 1, 2
mov [hl+1],a ; ucStatus ;[INF] 2, 8
; line 189
$DGL 0,9
ei ;[INF] 2, 6
; line 191
$DGL 0,11
mov a,[hl+1] ; ucStatus ;[INF] 2, 8
cmp a,#01BH ; 27 ;[INF] 2, 4
bnz $?L0031 ;[INF] 2, 6
; line 192
$DGL 0,12
??bb01_ucSelfFlashBlockErase:
; line 194
$DGL 0,14
di ;[INF] 2, 6
; line 195
$DGL 0,15
mov a,[hl+8] ; ucBlock ;[INF] 2, 8
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
push ax ;[INF] 1, 4
mov a,[hl+2] ; ucBank ;[INF] 2, 8
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
call !_FlashBlockErase ;[INF] 3, 7
pop ax ;[INF] 1, 4
mov a,c ;[INF] 1, 2
mov [hl+1],a ; ucStatus ;[INF] 2, 8
; line 196
$DGL 0,16
ei ;[INF] 2, 6
; line 199
$DGL 0,19
mov a,[hl+1] ; ucStatus ;[INF] 2, 8
cmp a,#00H ; 0 ;[INF] 2, 4
bz $?L0029 ;[INF] 2, 6
cmp a,#01FH ; 31 ;[INF] 2, 4
bz $?L0029 ;[INF] 2, 6
; line 200
$DGL 0,20
??bb02_ucSelfFlashBlockErase:
; line 201
$DGL 0,21
movw bc,#0FFH ; 255 ;[INF] 3, 6
br $?L0030 ;[INF] 2, 6
??eb02_ucSelfFlashBlockErase:
??eb01_ucSelfFlashBlockErase:
?L0031:
; line 204
$DGL 0,24
mov a,[hl+1] ; ucStatus ;[INF] 2, 8
cmp a,#00H ; 0 ;[INF] 2, 4
bnz $?L0035 ;[INF] 2, 6
; line 205
$DGL 0,25
??bb03_ucSelfFlashBlockErase:
; line 206
$DGL 0,26
movw ax,#_ucEntryRAM ;[INF] 3, 6
call !_FlashEnv ;[INF] 3, 7
; line 207
$DGL 0,27
movw bc,#00H ; 0 ;[INF] 3, 6
br $?L0030 ;[INF] 2, 6
??eb03_ucSelfFlashBlockErase:
?L0035:
; line 209
$DGL 0,29
mov a,[hl+1] ; ucStatus ;[INF] 2, 8
cmp a,#01FH ; 31 ;[INF] 2, 4
bz $?L0029 ;[INF] 2, 6
; line 210
$DGL 0,30
??bb04_ucSelfFlashBlockErase:
; line 212
$DGL 0,32
movw bc,#0FFH ; 255 ;[INF] 3, 6
??eb04_ucSelfFlashBlockErase:
??eb00_ucSelfFlashBlockErase:
?L0030:
; line 215
$DGL 0,35
??ef_ucSelfFlashBlockErase:
pop ax ;[INF] 1, 4
pop ax ;[INF] 1, 4
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_ucSelfFlashBlockErase:
; line 227
_ucSelfFlashEEPROMWrite:
$DGL 1,125
push hl ;[INF] 1, 4
push ax ;[INF] 1, 4
push ax ;[INF] 1, 4
movw ax,sp ;[INF] 2, 8
movw hl,ax ;[INF] 1, 4
??bf_ucSelfFlashEEPROMWrite:
; line 229
$DGL 0,3
mov a,[hl+8] ; usAddr ;[INF] 2, 8
xch a,x ;[INF] 1, 2
mov a,[hl+9] ; usAddr ;[INF] 2, 8
movw !_WordAddr,ax ;[INF] 3,10
; line 230
$DGL 0,4
mov a,[hl+2] ; ucBank ;[INF] 2, 8
mov !_WordAddr+2,a ;[INF] 3, 8
; line 232
$DGL 0,6
?L0041:
; line 233
$DGL 0,7
??bb00_ucSelfFlashEEPROMWrite:
; line 235
$DGL 0,9
di ;[INF] 2, 6
; line 236
$DGL 0,10
movw de,#_ucDataBuf ;[INF] 3, 6
push de ;[INF] 1, 4
mov a,[hl+10] ; ucNum ;[INF] 2, 8
ror a,1 ;[INF] 1, 2
ror a,1 ;[INF] 1, 2
and a,#03FH ; 63 ;[INF] 2, 4
inc a ;[INF] 1, 2
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
push ax ;[INF] 1, 4
movw ax,#_WordAddr ;[INF] 3, 6
call !_EEPROMWrite ;[INF] 3, 7
pop ax ;[INF] 1, 4
pop ax ;[INF] 1, 4
mov a,c ;[INF] 1, 2
mov [hl+1],a ; ucStatus ;[INF] 2, 8
; line 237
$DGL 0,11
ei ;[INF] 2, 6
; line 238
$DGL 0,12
mov a,[hl+1] ; ucStatus ;[INF] 2, 8
cmp a,#00H ; 0 ;[INF] 2, 4
bnz $?L0043 ;[INF] 2, 6
; line 239
$DGL 0,13
??bb01_ucSelfFlashEEPROMWrite:
; line 240
$DGL 0,14
movw bc,#00H ; 0 ;[INF] 3, 6
br $?L0042 ;[INF] 2, 6
??eb01_ucSelfFlashEEPROMWrite:
?L0043:
; line 242
$DGL 0,16
mov a,[hl+1] ; ucStatus ;[INF] 2, 8
cmp a,#01FH ; 31 ;[INF] 2, 4
bz $?L0041 ;[INF] 2, 6
; line 243
$DGL 0,17
??bb02_ucSelfFlashEEPROMWrite:
; line 245
$DGL 0,19
mov b,#00H ; 0 ;[INF] 2, 4
xch a,c ;[INF] 1, 2
??eb02_ucSelfFlashEEPROMWrite:
??eb00_ucSelfFlashEEPROMWrite:
?L0042:
; line 248
$DGL 0,22
??ef_ucSelfFlashEEPROMWrite:
pop ax ;[INF] 1, 4
pop ax ;[INF] 1, 4
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_ucSelfFlashEEPROMWrite:
; line 259
_ucSelfFlashWordWrite:
$DGL 1,147
push hl ;[INF] 1, 4
push ax ;[INF] 1, 4
push ax ;[INF] 1, 4
movw ax,sp ;[INF] 2, 8
movw hl,ax ;[INF] 1, 4
??bf_ucSelfFlashWordWrite:
; line 261
$DGL 0,3
mov a,[hl+8] ; usSetAdr ;[INF] 2, 8
xch a,x ;[INF] 1, 2
mov a,[hl+9] ; usSetAdr ;[INF] 2, 8
movw !_WordAddr,ax ;[INF] 3,10
; line 262
$DGL 0,4
mov a,[hl+2] ; ucBank ;[INF] 2, 8
mov !_WordAddr+2,a ;[INF] 3, 8
; line 263
$DGL 0,5
?L0049:
; line 264
$DGL 0,6
??bb00_ucSelfFlashWordWrite:
; line 266
$DGL 0,8
di ;[INF] 2, 6
; line 268
$DGL 0,10
movw de,#_ucDataBuf ;[INF] 3, 6
push de ;[INF] 1, 4
mov a,[hl+10] ; ucNum ;[INF] 2, 8
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
decw ax ;[INF] 1, 4
mov c,#04H ; 4 ;[INF] 2, 4
divuw c ;[INF] 2,25
incw ax ;[INF] 1, 4
mov a,#00H ; 0 ;[INF] 2, 4
push ax ;[INF] 1, 4
movw ax,#_WordAddr ;[INF] 3, 6
call !_FlashWordWrite ;[INF] 3, 7
pop ax ;[INF] 1, 4
pop ax ;[INF] 1, 4
mov a,c ;[INF] 1, 2
mov [hl+1],a ; ucStatus ;[INF] 2, 8
; line 269
$DGL 0,11
ei ;[INF] 2, 6
; line 270
$DGL 0,12
mov a,[hl+1] ; ucStatus ;[INF] 2, 8
cmp a,#00H ; 0 ;[INF] 2, 4
bnz $?L0051 ;[INF] 2, 6
; line 271
$DGL 0,13
??bb01_ucSelfFlashWordWrite:
; line 272
$DGL 0,14
movw bc,#00H ; 0 ;[INF] 3, 6
br $?L0050 ;[INF] 2, 6
??eb01_ucSelfFlashWordWrite:
?L0051:
; line 274
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -