📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile H:\MEGA128开发板\TS8900-M128\EEPROM开机记忆存储实验\EEPROM开机记忆存储实验\main.c
0000 .dbfunc e EEPROM_write _EEPROM_write fV
0000 ; ucData -> R18
0000 ; uiAddress -> R16,R17
.even
0000 _EEPROM_write::
0000 .dbline -1
0000 .dbline 10
0000 ; /************************************************
0000 ; 文件:main.c
0000 ; 用途:
0000 ; 注意:内部8M晶振
0000 ; ************************************************/
0000 ;
0000 ; #include "config.h"
0000 ;
0000 ; void EEPROM_write(unsigned int uiAddress,unsigned char ucData)
0000 ; {
0000 L2:
0000 .dbline 11
0000 L3:
0000 .dbline 11
0000 ; while(EECR&(1<<EEWE));
0000 E199 sbic 0x1c,1
0002 FECF rjmp L2
0004 .dbline 12
0004 ; EEAR = uiAddress;
0004 1FBB out 0x1f,R17
0006 0EBB out 0x1e,R16
0008 .dbline 13
0008 ; EEDR = ucData;
0008 2DBB out 0x1d,R18
000A .dbline 14
000A ; EECR |=(1<<EEMWE);
000A E29A sbi 0x1c,2
000C .dbline 15
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 ucData 18 c
0010 .dbsym r uiAddress 16 i
0010 .dbend
0010 .dbfunc e EEPROM_read _EEPROM_read fc
0010 ; uiAddress -> R16,R17
.even
0010 _EEPROM_read::
0010 .dbline -1
0010 .dbline 19
0010 ; }
0010 ;
0010 ; unsigned char EEPROM_read(unsigned int uiAddress)
0010 ; {
0010 L6:
0010 .dbline 20
0010 L7:
0010 .dbline 20
0010 ; while(EECR&(1<<EEWE));
0010 E199 sbic 0x1c,1
0012 FECF rjmp L6
0014 .dbline 21
0014 ; EEAR = uiAddress;
0014 1FBB out 0x1f,R17
0016 0EBB out 0x1e,R16
0018 .dbline 22
0018 ; EECR |=(1<<EERE);
0018 E09A sbi 0x1c,0
001A .dbline 23
001A ; return EEDR;
001A 0DB3 in R16,0x1d
001C .dbline -2
001C L5:
001C .dbline 0 ; func end
001C 0895 ret
001E .dbsym r uiAddress 16 i
001E .dbend
001E .dbfunc e main _main fV
001E ; temp -> R20
.even
001E _main::
001E .dbline -1
001E .dbline 27
001E ; }
001E ;
001E ; void main(void)
001E ; {
001E .dbline 29
001E ; unsigned char temp;
001E ; HC_595_init();
001E 0E940000 xcall _HC_595_init
0022 .dbline 31
0022 ;
0022 ; temp=EEPROM_read(0x01);
0022 01E0 ldi R16,1
0024 10E0 ldi R17,0
0026 F4DF xcall _EEPROM_read
0028 402F mov R20,R16
002A .dbline 32
002A ; temp++;
002A 4395 inc R20
002C .dbline 33
002C ; EEPROM_write(0x01,temp);
002C 242F mov R18,R20
002E 01E0 ldi R16,1
0030 10E0 ldi R17,0
0032 E6DF xcall _EEPROM_write
0034 04C0 xjmp L11
0036 L10:
0036 .dbline 36
0036 .dbline 37
0036 042F mov R16,R20
0038 1127 clr R17
003A 0E940000 xcall _Seg7_Led_display
003E .dbline 38
003E L11:
003E .dbline 35
003E FBCF xjmp L10
0040 X0:
0040 .dbline -2
0040 L9:
0040 .dbline 0 ; func end
0040 0895 ret
0042 .dbsym r temp 20 c
0042 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -