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