📄 main.s
字号:
.dbline 80
; Char_Set_XY_BYTE(6,0,charindex[gewei],1);
ldi R24,1
ldi R25,0
std y+3,R25
std y+2,R24
ldi R24,<_charindex
ldi R25,>_charindex
lds R30,_gewei
lds R31,_gewei+1
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
std y+1,R3
std y+0,R2
clr R18
clr R19
ldi R16,6
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 81
; Char_Set_XY_BYTE(5,0,charindex[shiwei],2);
ldi R24,2
ldi R25,0
std y+3,R25
std y+2,R24
ldi R24,<_charindex
ldi R25,>_charindex
lds R30,_shiwei
lds R31,_shiwei+1
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
std y+1,R3
std y+0,R2
clr R18
clr R19
ldi R16,5
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 82
; Char_Set_XY_BYTE(5,0,charindex[10],1);
ldi R24,1
ldi R25,0
std y+3,R25
std y+2,R24
lds R2,_charindex+10
clr R3
std y+1,R3
std y+0,R2
clr R18
clr R19
ldi R16,5
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 83
; }
L19:
.dbline 84
; mid[2]=min;
lds R2,_min
lds R3,_min+1
sts _mid+2,R2
.dbline 87
;
;
; hour=ReadHour();
rcall _ReadHour
movw R10,R16
sts _hour+1,R11
sts _hour,R10
.dbline 88
; if(mid[3]!=hour)
lds R4,_mid+3
clr R5
cp R4,R16
cpc R5,R17
breq L24
X3:
.dbline 89
; {
.dbline 90
; jisuan(hour);
rcall _jisuan
.dbline 91
; Char_Set_XY_BYTE(4,0,charindex[gewei],2);
ldi R24,2
ldi R25,0
std y+3,R25
std y+2,R24
ldi R24,<_charindex
ldi R25,>_charindex
lds R30,_gewei
lds R31,_gewei+1
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
std y+1,R3
std y+0,R2
clr R18
clr R19
ldi R16,4
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 92
; Char_Set_XY_BYTE(4,0,charindex[shiwei],1);
ldi R24,1
ldi R25,0
std y+3,R25
std y+2,R24
ldi R24,<_charindex
ldi R25,>_charindex
lds R30,_shiwei
lds R31,_shiwei+1
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
std y+1,R3
std y+0,R2
clr R18
clr R19
ldi R16,4
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 93
; }
L24:
.dbline 94
; mid[3]=hour;
lds R2,_hour
lds R3,_hour+1
sts _mid+3,R2
.dbline 100
;
;
;
;
;
; year=ReadYear();
rcall _ReadYear
movw R10,R16
sts _year+1,R11
sts _year,R10
.dbline 101
; if(mid[4]!=year)
lds R4,_mid+4
clr R5
cp R4,R16
cpc R5,R17
breq L28
X4:
.dbline 102
; {
.dbline 103
; jisuan(year);
rcall _jisuan
.dbline 104
; Char_Set_XY_BYTE(4,1,charindex[gewei],2);
ldi R24,2
ldi R25,0
std y+3,R25
std y+2,R24
ldi R24,<_charindex
ldi R25,>_charindex
lds R30,_gewei
lds R31,_gewei+1
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
std y+1,R3
std y+0,R2
ldi R18,1
ldi R19,0
ldi R16,4
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 105
; Char_Set_XY_BYTE(4,1,charindex[shiwei],1);
ldi R24,1
ldi R25,0
std y+3,R25
std y+2,R24
ldi R24,<_charindex
ldi R25,>_charindex
lds R30,_shiwei
lds R31,_shiwei+1
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
std y+1,R3
std y+0,R2
ldi R18,1
ldi R19,0
ldi R16,4
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 106
; }
L28:
.dbline 107
; mid[4]=year;
lds R2,_year
lds R3,_year+1
sts _mid+4,R2
.dbline 110
;
;
; month=ReadMonth();
rcall _ReadMonth
movw R10,R16
sts _month+1,R11
sts _month,R10
.dbline 111
; if(mid[5]!=month)
lds R4,_mid+5
clr R5
cp R4,R16
cpc R5,R17
brne X11
rjmp L32
X11:
X5:
.dbline 112
; {
.dbline 113
; jisuan(month);
rcall _jisuan
.dbline 114
; Char_Set_XY_BYTE(6,1,charindex[gewei],1);
ldi R24,1
ldi R25,0
std y+3,R25
std y+2,R24
ldi R24,<_charindex
ldi R25,>_charindex
lds R30,_gewei
lds R31,_gewei+1
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
std y+1,R3
std y+0,R2
ldi R18,1
ldi R19,0
ldi R16,6
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 115
; Char_Set_XY_BYTE(5,1,charindex[shiwei],2);
ldi R24,2
ldi R25,0
std y+3,R25
std y+2,R24
ldi R24,<_charindex
ldi R25,>_charindex
lds R30,_shiwei
lds R31,_shiwei+1
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
std y+1,R3
std y+0,R2
ldi R18,1
ldi R19,0
ldi R16,5
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 116
; Char_Set_XY_BYTE(5,1,charindex[10],1);
ldi R24,1
ldi R25,0
std y+3,R25
std y+2,R24
lds R2,_charindex+10
clr R3
std y+1,R3
std y+0,R2
ldi R18,1
ldi R19,0
ldi R16,5
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 117
; }
L32:
.dbline 118
; mid[5]=month;
lds R2,_month
lds R3,_month+1
sts _mid+5,R2
.dbline 121
;
;
; date=ReadDate();
rcall _ReadDate
movw R10,R16
sts _date+1,R11
sts _date,R10
.dbline 122
; if(mid[7]!=date)
lds R4,_mid+7
clr R5
cp R4,R16
cpc R5,R17
breq L37
X6:
.dbline 123
; {
.dbline 124
; jisuan(date);
rcall _jisuan
.dbline 125
; Char_Set_XY_BYTE(7,1,charindex[gewei],2);
ldi R24,2
ldi R25,0
std y+3,R25
std y+2,R24
ldi R24,<_charindex
ldi R25,>_charindex
lds R30,_gewei
lds R31,_gewei+1
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
std y+1,R3
std y+0,R2
ldi R18,1
ldi R19,0
ldi R16,7
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 126
; Char_Set_XY_BYTE(7,1,charindex[shiwei],1);
ldi R24,1
ldi R25,0
std y+3,R25
std y+2,R24
ldi R24,<_charindex
ldi R25,>_charindex
lds R30,_shiwei
lds R31,_shiwei+1
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
std y+1,R3
std y+0,R2
ldi R18,1
ldi R19,0
ldi R16,7
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 127
; }
L37:
.dbline 128
; mid[7]=date;
lds R2,_date
lds R3,_date+1
sts _mid+7,R2
.dbline 131
;
;
; day=ReadDay();
rcall _ReadDay
movw R10,R16
sts _day+1,R11
sts _day,R10
.dbline 132
; if(mid[6]!=day)
lds R4,_mid+6
clr R5
cp R4,R16
cpc R5,R17
breq L41
X7:
.dbline 133
; {
.dbline 134
; jisuan(day);
rcall _jisuan
.dbline 135
; Char_Set_XY_BYTE(7,2,charindex[gewei],2);
ldi R24,2
ldi R25,0
std y+3,R25
std y+2,R24
ldi R24,<_charindex
ldi R25,>_charindex
lds R30,_gewei
lds R31,_gewei+1
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
std y+1,R3
std y+0,R2
ldi R18,2
ldi R19,0
ldi R16,7
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 136
; Char_Set_XY_BYTE(7,2,charindex[shiwei],1);
ldi R24,1
ldi R25,0
std y+3,R25
std y+2,R24
ldi R24,<_charindex
ldi R25,>_charindex
lds R30,_shiwei
lds R31,_shiwei+1
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
std y+1,R3
std y+0,R2
ldi R18,2
ldi R19,0
ldi R16,7
ldi R17,0
rcall _Char_Set_XY_BYTE
.dbline 137
; }
L41:
.dbline 138
; mid[6]=day;
lds R2,_day
lds R3,_day+1
sts _mid+6,R2
.dbline 139
; }
L11:
.dbline 59
rjmp L10
X8:
.dbline -2
L2:
.dbline 0 ; func end
adiw R28,4
ret
.dbsym r num 20 c
.dbend
.area bss(ram, con, rel)
.dbfile E:\AVR实验\ds1302+12864时钟\main.c
_date::
.blkb 2
.dbsym e date _date i
_day::
.blkb 2
.dbsym e day _day i
_month::
.blkb 2
.dbsym e month _month i
_year::
.blkb 2
.dbsym e year _year i
_hour::
.blkb 2
.dbsym e hour _hour i
_min::
.blkb 2
.dbsym e min _min i
_sec::
.blkb 2
.dbsym e sec _sec i
_shiwei::
.blkb 2
.dbsym e shiwei _shiwei i
_gewei::
.blkb 2
.dbsym e gewei _gewei i
.area data(ram, con, rel)
.dbfile E:\AVR实验\ds1302+12864时钟\main.c
L5:
.blkb 5
.area idata
.byte 'w,'e,'e,'k,0
.area data(ram, con, rel)
.dbfile E:\AVR实验\ds1302+12864时钟\main.c
L4:
.blkb 5
.area idata
.byte 'd,'a,'t,'e,0
.area data(ram, con, rel)
.dbfile E:\AVR实验\ds1302+12864时钟\main.c
L3:
.blkb 5
.area idata
.byte 't,'i,'m,'e,0
.area data(ram, con, rel)
.dbfile E:\AVR实验\ds1302+12864时钟\main.c
; }
;
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -