English
Language : 

HD64F3437TF16 Datasheet, PDF (431/752 Pages) Hitachi Semiconductor – 12 V must not be applied to the S-mask model (single-power-supply specification), as this may permanently damage the device.
FLMCR:
EBR1:
EBR2:
TCSR:
.EQU
.EQU
.EQU
.EQU
H'FF80
H'FF82
H'FF83
H'FFA8
.ALIGN
MOV.B
MOV.B
2
#H'**,
ROH,
ROH
;
@EBR*:8 ; Set EBR*
; #BLKSTR is top address of block to be erased.
; #BLKEND is last address of block to be erased.
MOV.W #BLKSTR, R0
MOV.W #BLKEND, R2
ADDS
#1,
R2
; Top address of block to be erased
; Last address of block to be erased
; Last address of block to be erased + 1 → R2
; Execute prewrite
MOV.W
PREWRT: MOV.B
MOV.W
PREWRS: INC
MOV.B
MOV.B
MOV.W
MOV.W
MOV.W
BSET
LOOPR1: SUBS
MOV.W
BNE
BCLR
MOV.W
MOV.W
R0,
#H'00,
#H'a,
R6L
#H'00
R1H,
#H'A578,
R4,
R5,
#0,
#1,
R4,
LOOPR1
#0,
#H'A500,
R4,
R3
R6L
R5
R1H
@R3
R4
@TCSR
R4
@FLMCR:8
R4
R4
@FLMCR:8
R4
@TCSR
; Top address of block to be erased
; Prewrite-verify fail counter
; Set prewrite loop counter
; Prewrite-verify fail counter + 1 → R6L
;
; Write H'00
;
; Start watchdog timer
; Set prewrite loop counter
; Set P bit
;
;
; Wait loop
; Clear P bit
;
; Stop watchdog timer
MOV.B #H'c,
R4H
LOOPR2: DEC
R4H
BNE
LOOPR2
MOV.B @R3,
R1H
BEQ
PWVFOK
CMP.B #H'32, R6L
BEQ
ABEND1
BRA
PREWRS
; Set prewrite-verify loop counter
;
; Wait loop
; Read data = H'00?
; If read data = H'00 branch to PWVFOK
; Prewrite-verify executed 50 times?
; If prewrite-verify executed 50 times, branch to ABEND1
; Prewrite again
ABEND1: Programming error
PWVFOK: ADDS
#1,
R3
CMP.W R2,
R3
BNE
PREWRT
; Address + 1 → R3
; Last address?
; If not last address, prewrite next address
402