English
Language : 

HD64F3644PV Datasheet, PDF (166/551 Pages) Renesas Technology Corp – Old Company Name in Catalogs and Other Documents
Section 6 ROM
EVR2: MOV.B #H'FF, R1H
MOV.B R1H,
@R3
MOV.B #H'c,
R4H
LOOPEP: DEC R4H
BNE LOOPEP
MOV.B @R3+,
R1H
CMP.B #H'FF, R1H
BNE BLKAD
MOV.W @R2,
R4
CMP.W R4,
R3
BNE EVR2
;
; Dummy write
; Set erase-verify loop counter
;
; Wait loop
; Read
; Read data = H'FF?
; If read data ≠ H'FF, branch to BLKAD
; Start address of next block
; Last address in block?
;
CMP.B #H'08, R1L
BMI SBCLR
MOV.B R1L,
R1H
SUBX #H'08, R1H
BCLR R1H,
R0H
BRA BLKAD
SBCLR: BCLR R1L,
R0L
BLKAD: INC R1L
BRA EBRTST
;
; If R1L ≥ 8, EBR1 test; if R1L < 8, EBR2 test
;
; R1L – 8 → R1H
; Clear bit R1H in EBR1 (R0H)
;
; Clear bit R1L in EBR2 (R0L)
; R1L + 1 → R1L
;
HANTEI: BCLR
MOV.B
MOV.B
MOV.W
BEQ
MOV.W
CMP.W
BPL
ADD.W
#3,
R0H,
R0L,
R0,
EOWARI
#H'0004,
R4,
BRER
R5,
@FLMCR:8 ; Clear EV bit
@EBR1:8 ;
@EBR2:8 ;
R4
;
; If EBR1/EBR2 = all 0s, normal end of erase
R4
;
R6
; Erase-verify fail count = 4?
; If R6 ≥ 4. branch to BRER (branch until R6 = 4 – 602)
R5
; If R6 < 4, double erase time (executed only for R6 = 1, 2, 3)
BRER:
MOV.W #H'025A, R4
CMP.W R4,
R6
BNE ERASE1
BRA ABEND2
;
; Erase-verify executed 602 times?
; If erase-verify not executed 602 times, erase again
; If erase-verify executed 602 times, branch to ABEND2
;**** < Block address table used in erase-verify > ****
.ALIGN
2
ERVADR: .DATA.W
H'0000 ; SB0
.DATA.W
H'0080 ; SB1
.DATA.W
H'0100 ; SB2
.DATA.W
H'0180 ; SB3
.DATA.W
H'0200 ; SB4
.DATA.W
H'0400 ; SB5
.DATA.W
H'0800 ; SB6
.DATA.W
H'0C00 ; SB7
.DATA.W
H'1000 ; LB0
Rev. 6.00 Sep 12, 2006 page 144 of 526
REJ09B0326-0600