Atmega162/v – Rainbow Electronics ATmega162V User Manual
Page 227
![background image](/manuals/281327/227/background.png)
227
ATmega162/V
2513E–AVR–09/03
ldi
looplo, low(PAGESIZEB)
;init loop variable
ldi
loophi, high(PAGESIZEB)
;not required for PAGESIZEB<=256
subi
YL, low(PAGESIZEB)
;restore pointer
sbci
YH, high(PAGESIZEB)
Rdloop:
lpm
r0, Z+
ld
r1, Y+
cpse
r0, r1
jmp
Error
sbiw
loophi:looplo, 1
;use subi for PAGESIZEB<=256
brne
Rdloop
; return to RWW section
; verify that RWW section is safe to read
Return:
in
temp1, SPMCR
sbrs
temp1, RWWSB
; If RWWSB is set, the RWW section is not
; ready yet
ret
; re-enable the RWW section
ldi
spmcrval, (1< call Do_spm rjmp Return Do_spm: ; check for previous SPM complete Wait_spm: in temp1, SPMCR sbrc temp1, SPMEN rjmp Wait_spm ; input: spmcrval determines SPM action ; disable interrupts if enabled, store status in temp2, SREG cli ; check that no EEPROM write access is present Wait_ee: sbic EECR, EEWE rjmp Wait_ee ; SPM timed sequence out SPMCR, spmcrval spm ; restore SREG (to enable interrupts if originally enabled) out SREG, temp2 ret
- MAX5151 (16 pages)
- MAXQ3108 (64 pages)
- MAX5661 (39 pages)
- MAX6691 (7 pages)
- MAX5362 (12 pages)
- ADC10158 (26 pages)
- MAX8922L (14 pages)
- MAX8596Z (8 pages)
- MAX7491 (18 pages)
- MAX15040 (15 pages)
- MAX5177 (16 pages)
- ADC08138 (22 pages)
- MAX5961 (42 pages)
- T89C51RD2 (86 pages)
- MAX16055 (9 pages)
- MAX6659 (17 pages)
- ADC0820 (20 pages)
- MAX6678 (19 pages)
- MAX8884Z (15 pages)
- MAX16915 (9 pages)
- MAX8620 (18 pages)
- MAX5144 (12 pages)
- MAX6670 (8 pages)
- MAX8760 (39 pages)
- W78C32C (14 pages)
- MX7533 (8 pages)
- MAX8727 (13 pages)
- MAX9053 (15 pages)
- W78C54 (16 pages)
- MAX8614B (15 pages)
- W90N740 (219 pages)
- MAX6626 (13 pages)
- ADC10738 (30 pages)
- MAX17000 (31 pages)
- MAX5051 (21 pages)
- MAXQ1004 (18 pages)
- MAX6871 (51 pages)
- MX7847 (12 pages)
- MAX6608 (6 pages)
- MAX17083 (15 pages)
- MAX6641 (17 pages)
- MAX5251 (16 pages)
- MAX6338 (8 pages)
- MAX6690 (16 pages)
- MAX8668 (18 pages)