📄 key.s
字号:
sts _time_array+4+1,R25
sts _time_array+4,R24
L43:
.dbline 89
; }
L38:
.dbline 91
;
; Draw_NtoArab(0x00,0x40,time_array[2]);
lds R2,_time_array+4
lds R3,_time_array+4+1
std y+0,R2
ldi R18,64
clr R16
xcall _Draw_NtoArab
.dbline 92
; Draw_NtoArab(0x00,0x48,time_array[3]);
lds R2,_time_array+6
lds R3,_time_array+6+1
std y+0,R2
ldi R18,72
clr R16
xcall _Draw_NtoArab
.dbline -2
L36:
adiw R28,1
.dbline 0 ; func end
ret
.dbend
.dbfunc e canbi0 _canbi0 fV
.even
_canbi0::
sbiw R28,2
.dbline -1
.dbline 97
; }
;
;
; void canbi0(void) //参比的正负设置
; {
.dbline 98
; if(leftcount%2==0)
ldi R17,2
lds R16,_leftcount
xcall mod8u
tst R16
brne L50
.dbline 99
; Bmp8x16(0x04,0x38,zhenghao);
ldi R24,<_zhenghao
ldi R25,>_zhenghao
std y+1,R25
std y+0,R24
ldi R18,56
ldi R16,4
xcall _Bmp8x16
xjmp L51
L50:
.dbline 101
ldi R24,<_fuhao
ldi R25,>_fuhao
std y+1,R25
std y+0,R24
ldi R18,56
ldi R16,4
xcall _Bmp8x16
L51:
.dbline -2
L49:
adiw R28,2
.dbline 0 ; func end
ret
.dbend
.dbfunc e incanbizhengshu _incanbizhengshu fV
.even
_incanbizhengshu::
sbiw R28,1
.dbline -1
.dbline 105
; else
; Bmp8x16(0x04,0x38,fuhao);
; }
;
; void incanbizhengshu(void) //参比的整数加1
; {
.dbline 106
; canbi_array[2]++;
lds R24,_canbi_array+4
lds R25,_canbi_array+4+1
adiw R24,1
sts _canbi_array+4+1,R25
sts _canbi_array+4,R24
.dbline 107
; if((canbi_array[1]==0x09)&&(canbi_array[2]==0x09))
lds R24,_canbi_array+2
lds R25,_canbi_array+2+1
cpi R24,9
ldi R30,0
cpc R25,R30
brne L54
lds R24,_canbi_array+4
lds R25,_canbi_array+4+1
cpi R24,9
ldi R30,0
cpc R25,R30
brne L54
.dbline 108
; {
.dbline 109
; canbi_array[1]=0x00;
clr R2
clr R3
sts _canbi_array+2+1,R3
sts _canbi_array+2,R2
.dbline 110
; canbi_array[2]=0x00;
sts _canbi_array+4+1,R3
sts _canbi_array+4,R2
.dbline 111
; }
L54:
.dbline 112
; if((canbi_array[1]!=0x09)&&(canbi_array[2]==0x0A))
lds R24,_canbi_array+2
lds R25,_canbi_array+2+1
cpi R24,9
ldi R30,0
cpc R25,R30
breq L60
lds R24,_canbi_array+4
lds R25,_canbi_array+4+1
cpi R24,10
ldi R30,0
cpc R25,R30
brne L60
.dbline 113
; {
.dbline 114
; canbi_array[1]++;
lds R24,_canbi_array+2
lds R25,_canbi_array+2+1
adiw R24,1
sts _canbi_array+2+1,R25
sts _canbi_array+2,R24
.dbline 115
; canbi_array[2]=0x00;
clr R2
clr R3
sts _canbi_array+4+1,R3
sts _canbi_array+4,R2
.dbline 116
; }
L60:
.dbline 118
;
; Draw_NtoArab(0x04,0x40,canbi_array[1]);
lds R2,_canbi_array+2
lds R3,_canbi_array+2+1
std y+0,R2
ldi R18,64
ldi R16,4
xcall _Draw_NtoArab
.dbline 119
; Draw_NtoArab(0x04,0x48,canbi_array[2]);
lds R2,_canbi_array+4
lds R3,_canbi_array+4+1
std y+0,R2
ldi R18,72
ldi R16,4
xcall _Draw_NtoArab
.dbline -2
L52:
adiw R28,1
.dbline 0 ; func end
ret
.dbend
.dbfunc e incanbixiaoshu _incanbixiaoshu fV
.even
_incanbixiaoshu::
sbiw R28,1
.dbline -1
.dbline 124
;
; }
;
; void incanbixiaoshu(void) //参比的小数加1
; {
.dbline 125
; canbi_array[4]++;
lds R24,_canbi_array+8
lds R25,_canbi_array+8+1
adiw R24,1
sts _canbi_array+8+1,R25
sts _canbi_array+8,R24
.dbline 126
; if((canbi_array[3]==0x09)&&(canbi_array[4]==0x09))
lds R24,_canbi_array+6
lds R25,_canbi_array+6+1
cpi R24,9
ldi R30,0
cpc R25,R30
brne L70
lds R24,_canbi_array+8
lds R25,_canbi_array+8+1
cpi R24,9
ldi R30,0
cpc R25,R30
brne L70
.dbline 127
; {
.dbline 128
; canbi_array[3]=0x00;
clr R2
clr R3
sts _canbi_array+6+1,R3
sts _canbi_array+6,R2
.dbline 129
; canbi_array[4]=0x00;
sts _canbi_array+8+1,R3
sts _canbi_array+8,R2
.dbline 130
; }
L70:
.dbline 131
; if((canbi_array[3]!=0x09)&&(canbi_array[4]==0x0A))
lds R24,_canbi_array+6
lds R25,_canbi_array+6+1
cpi R24,9
ldi R30,0
cpc R25,R30
breq L76
lds R24,_canbi_array+8
lds R25,_canbi_array+8+1
cpi R24,10
ldi R30,0
cpc R25,R30
brne L76
.dbline 132
; {
.dbline 133
; canbi_array[3]++;
lds R24,_canbi_array+6
lds R25,_canbi_array+6+1
adiw R24,1
sts _canbi_array+6+1,R25
sts _canbi_array+6,R24
.dbline 134
; canbi_array[4]=0x00;
clr R2
clr R3
sts _canbi_array+8+1,R3
sts _canbi_array+8,R2
.dbline 135
; }
L76:
.dbline 137
;
; Draw_NtoArab(0x04,0x58,canbi_array[3]);
lds R2,_canbi_array+6
lds R3,_canbi_array+6+1
std y+0,R2
ldi R18,88
ldi R16,4
xcall _Draw_NtoArab
.dbline 138
; Draw_NtoArab(0x04,0x60,canbi_array[4]);
lds R2,_canbi_array+8
lds R3,_canbi_array+8+1
std y+0,R2
ldi R18,96
ldi R16,4
xcall _Draw_NtoArab
.dbline -2
L68:
adiw R28,1
.dbline 0 ; func end
ret
.dbend
.dbfunc e decanbizhengshu _decanbizhengshu fV
.even
_decanbizhengshu::
sbiw R28,1
.dbline -1
.dbline 142
; }
;
; void decanbizhengshu(void) //参比的整数减1
; {
.dbline 143
; canbi_array[2]--;
lds R24,_canbi_array+4
lds R25,_canbi_array+4+1
sbiw R24,1
sts _canbi_array+4+1,R25
sts _canbi_array+4,R24
.dbline 144
; if((canbi_array[1]==0x00)&&(canbi_array[2]==-1))
lds R2,_canbi_array+2
lds R3,_canbi_array+2+1
tst R2
brne L86
tst R3
brne L86
X2:
lds R24,_canbi_array+4
lds R25,_canbi_array+4+1
cpi R24,255
ldi R30,255
cpc R25,R30
brne L86
.dbline 145
; {
.dbline 146
; canbi_array[1]=0x09;
ldi R24,9
ldi R25,0
sts _canbi_array+2+1,R25
sts _canbi_array+2,R24
.dbline 147
; canbi_array[2]=0x09;
sts _canbi_array+4+1,R25
sts _canbi_array+4,R24
.dbline 148
; }
L86:
.dbline 149
; if((canbi_array[1]!=0x00)&&(canbi_array[2]==-1))
lds R2,_canbi_array+2
lds R3,_canbi_array+2+1
tst R2
brne X3
tst R3
breq L92
X3:
lds R24,_canbi_array+4
lds R25,_canbi_array+4+1
cpi R24,255
ldi R30,255
cpc R25,R30
brne L92
.dbline 150
; {
.dbline 151
; canbi_array[2]=0x09;
ldi R24,9
ldi R25,0
sts _canbi_array+4+1,R25
sts _canbi_array+4,R24
.dbline 152
; canbi_array[1]--;
lds R24,_canbi_array+2
lds R25,_canbi_array+2+1
sbiw R24,1
sts _canbi_array+2+1,R25
sts _canbi_array+2,R24
.dbline 153
; }
L92:
.dbline 154
; Draw_NtoArab(0x04,0x40,canbi_array[1]);
lds R2,_canbi_array+2
lds R3,_canbi_array+2+1
std y+0,R2
ldi R18,64
ldi R16,4
xcall _Draw_NtoArab
.dbline 155
; Draw_NtoArab(0x04,0x48,canbi_array[2]);
lds R2,_canbi_array+4
lds R3,_canbi_array+4+1
std y+0,R2
ldi R18,72
ldi R16,4
xcall _Draw_NtoArab
.dbline -2
L84:
adiw R28,1
.dbline 0 ; func end
ret
.dbend
.dbfunc e decanbixiaoshu _decanbixiaoshu fV
.even
_decanbixiaoshu::
sbiw R28,1
.dbline -1
.dbline 159
; }
;
; void decanbixiaoshu(void) //参比的小数减1
; {
.dbline 161
;
; canbi_array[4]--;
lds R24,_canbi_array+8
lds R25,_canbi_array+8+1
sbiw R24,1
sts _canbi_array+8+1,R25
sts _canbi_array+8,R24
.dbline 162
; if((canbi_array[3]==0x00)&&(canbi_array[4]==-1))
lds R2,_canbi_array+6
lds R3,_canbi_array+6+1
tst R2
brne L102
tst R3
brne L102
X4:
lds R24,_canbi_array+8
lds R25,_canbi_array+8+1
cpi R24,255
ldi R30,255
cpc R25,R30
brne L102
.dbline 163
; {
.dbline 164
; canbi_array[3]=0x09;
ldi R24,9
ldi R25,0
sts _canbi_array+6+1,R25
sts _canbi_array+6,R24
.dbline 165
; canbi_array[4]=0x09;
sts _canbi_array+8+1,R25
sts _canbi_array+8,R24
.dbline 166
; }
L102:
.dbline 167
; if((canbi_array[3]!=0x00)&&(canbi_array[4]==-1))
lds R2,_canbi_array+6
lds R3,_canbi_array+6+1
tst R2
brne X5
tst R3
breq L108
X5:
lds R24,_canbi_array+8
lds R25,_canbi_array+8+1
cpi R24,255
ldi R30,255
cpc R25,R30
brne L108
.dbline 168
; {
.dbline 169
; canbi_array[4]=0x09;
ldi R24,9
ldi R25,0
sts _canbi_array+8+1,R25
sts _canbi_array+8,R24
.dbline 170
; canbi_array[3]--;
lds R24,_canbi_array+6
lds R25,_canbi_array+6+1
sbiw R24,1
sts _canbi_array+6+1,R25
sts _canbi_array+6,R24
.dbline 171
; }
L108:
.dbline 172
; Draw_NtoArab(0x04,0x58,canbi_array[3]);
lds R2,_canbi_array+6
lds R3,_canbi_array+6+1
std y+0,R2
ldi R18,88
ldi R16,4
xcall _Draw_NtoArab
.dbline 173
; Draw_NtoArab(0x04,0x60,canbi_array[4]);
lds R2,_canbi_array+8
lds R3,_canbi_array+8+1
std y+0,R2
ldi R18,96
ldi R16,4
xcall _Draw_NtoArab
.dbline -2
L100:
adiw R28,1
.dbline 0 ; func end
ret
.dbend
.dbfunc e getkey _getkey fc
; keycode -> R20
.even
_getkey::
xcall push_gset1
.dbline -1
.dbline 178
; }
;
;
; unsigned char getkey(void)
; {
.dbline 180
; unsigned char keycode;
; if((PINB&0xbc)!=0xbc)
in R24,0x16
andi R24,188
cpi R24,188
breq L117
.dbline 181
; {
.dbline 182
; Delay10ms(35);
ldi R16,35
xcall _Delay10ms
.dbline 183
; if((PINB&0Xbc)!=0Xbc)
in R24,0x16
andi R24,188
cpi R24,188
breq L119
.dbline 184
; {
.dbline 185
; keycode=PINB&0xbc;
in R20,0x16
andi R20,188
L121:
.dbline 186
L122:
.dbline 186
; while((PINB&0xbc)!=0Xbc);
in R24,0x16
andi R24,188
cpi R24,188
brne L121
.dbline 187
; }
L119:
.dbline 188
; }
L117:
.dbline 189
; return keycode;
mov R16,R20
.dbline -2
L116:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r keycode 20 c
.dbend
.dbfunc e getkeylock _getkeylock fc
; keycode -> R20
.even
_getkeylock::
xcall push_gset1
.dbline -1
.dbline 193
; }
;
; unsigned char getkeylock(void)
; {
L125:
.dbline 195
L126:
.dbline 195
; unsigned char keycode;
; while((PINB&0xbc)==0xbc);
in R24,0x16
andi R24,188
cpi R24,188
breq L125
.dbline 196
; Delay10ms(35);
ldi R16,35
xcall _Delay10ms
.dbline 197
; if((PINB&0xbc)!=0xbc)
in R24,0x16
andi R24,188
cpi R24,188
breq L128
.dbline 198
; {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -