📄 rw_eeprom.s
字号:
.module RW_eeprom.c
.area text(rom, con, rel)
.dbfile G:\Mega8程序\TCXO评估板\Main\RW_eeprom.c
.dbfunc e rom_write _rom_write fV
; Data -> R18
; Address -> R16,R17
.even
_rom_write::
.dbline -1
.dbline 4
; #include <iom8v.h>
; #include <macros.h>
; void rom_write(unsigned int Address,unsigned char Data)
; {
L2:
.dbline 5
L3:
.dbline 5
; while(EECR&(1<<EEWE));
sbic 0x1c,1
rjmp L2
.dbline 6
; EEAR=Address;
out 0x1f,R17
out 0x1e,R16
.dbline 7
; EEDR=Data;
out 0x1d,R18
.dbline 8
; EECR|=(1<<EEMWE);
sbi 0x1c,2
.dbline 9
; EECR|=(1<<EEWE);
sbi 0x1c,1
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbsym r Data 18 c
.dbsym r Address 16 i
.dbend
.dbfunc e rom_read _rom_read fc
; Address -> R16,R17
.even
_rom_read::
.dbline -1
.dbline 12
; }
; unsigned char rom_read(unsigned int Address)
; {
.dbline 13
; CLI();
cli
L6:
.dbline 14
L7:
.dbline 14
; while(EECR&(1<<EEWE));
sbic 0x1c,1
rjmp L6
.dbline 15
; EEAR=Address;
out 0x1f,R17
out 0x1e,R16
.dbline 16
; EECR|=(1<<EERE);
sbi 0x1c,0
.dbline 17
; SEI();
sei
.dbline 18
; return EEDR;
in R16,0x1d
.dbline -2
L5:
.dbline 0 ; func end
ret
.dbsym r Address 16 i
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -