📄 macoh.s
字号:
std y+1,R25
std y+0,R24
ldi R18,<_trdata_x
ldi R19,>_trdata_x
ldi R16,48
ldi R17,0
rcall _EEPROMWriteBytes_extIO
.dbline 182
; fbit=0;
clr R0
std y+15,R0
.dbline 183
; }
rjmp L33
L36:
.dbline 186
; else
;
; { cbit=pontdata;
.dbline 186
lds R2,_pontdata
std y+16,R2
rjmp L39
L38:
.dbline 188
; while(1)
; {//----------------------------------------------------------------pont
.dbline 189
; sandchar_display(pont,ponddd);
ldi R18,<_ponddd
ldi R19,>_ponddd
ldi R16,<_pont
ldi R17,>_pont
rcall _sandchar_display
.dbline 190
; ponddd[cbit]+=25;
ldi R24,<_ponddd
ldi R25,>_ponddd
ldd R2,y+16
clr R3
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,231 ; addi 25
std z+0,R24
.dbline 191
; key=display_flash(fbit,cbit,2);
ldi R24,2
std y+0,R24
ldd R18,y+16
ldd R16,y+15
rcall _display_flash
sts _key,R16
.dbline 192
; ponddd[cbit]-=25;
ldi R24,<_ponddd
ldi R25,>_ponddd
ldd R2,y+16
clr R3
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
subi R24,25
std z+0,R24
.dbline 193
; if(keybit==0xf7) {keybit=0; keytime=0; return;}
lds R24,_keybit
cpi R24,247
brne L41
.dbline 193
.dbline 193
clr R2
sts _keybit,R2
.dbline 193
clr R3
sts _keytime+1,R3
sts _keytime,R2
.dbline 193
rjmp L12
L41:
.dbline 194
; switch (key)
lds R2,_key
clr R3
std y+8,R3
std y+7,R2
movw R24,R2
cpi R24,11
ldi R30,0
cpc R25,R30
breq L46
ldi R24,11
cp R24,R2
cpc R25,R3
brlt L57
L56:
ldd R24,y+7
ldd R25,y+8
cpi R24,7
ldi R30,0
cpc R25,R30
breq L49
rjmp L43
L57:
ldd R24,y+7
ldd R25,y+8
cpi R24,19
ldi R30,0
cpc R25,R30
brne X40
rjmp L55
X40:
cpi R24,19
ldi R30,0
cpc R25,R30
brlt L43
L58:
ldd R24,y+7
ldd R25,y+8
cpi R24,23
ldi R30,0
cpc R25,R30
brne X41
rjmp L53
X41:
rjmp L43
X3:
.dbline 195
; {
L46:
.dbline 197
; case left:
; fbit=2;
ldi R24,2
std y+15,R24
.dbline 198
; if(cbit<5) {cbit++;}
ldd R24,y+16
cpi R24,5
brsh L47
.dbline 198
.dbline 198
mov R0,R24
inc R0
std y+16,R0
.dbline 198
rjmp L44
L47:
.dbline 199
; else {cbit=0;}
.dbline 199
clr R0
std y+16,R0
.dbline 199
.dbline 200
; break;
rjmp L44
L49:
.dbline 202
; case set:
; if(fbit==2)
ldd R24,y+15
cpi R24,2
breq X42
rjmp L12
X42:
.dbline 203
; {
.dbline 204
; pontdata=cbit;
ldd R0,y+16
sts _pontdata,R0
.dbline 205
; ponddd[cbit]=0;
ldi R24,<_ponddd
ldi R25,>_ponddd
mov R30,R0
clr R31
add R30,R24
adc R31,R25
clr R2
std z+0,R2
.dbline 206
; EEPROMwrite(0x10,pontdata);
lds R18,_pontdata
ldi R16,16
ldi R17,0
rcall _EEPROMwrite_extIO
.dbline 207
; fbit=100;
ldi R24,100
std y+15,R24
.dbline 208
; }
.dbline 209
; else return ;
.dbline 210
; break;
.dbline 212
; case set3s:
; goto menu2;
.dbline 214
; case set_left3s:
; goto menu3;
L43:
L44:
.dbline 216
L39:
.dbline 187
rjmp L38
X4:
.dbline 217
; }
; }
; }
.dbline 218
; break;
rjmp L33
L59:
.dbline 220
; case up:
; if(fbit==2)
ldd R24,y+15
cpi R24,2
breq X43
rjmp L33
X43:
.dbline 221
; {
.dbline 222
; if(cbit==1) p[cbit]-=25;
ldd R24,y+16
cpi R24,1
brne L62
.dbline 222
lds R2,_p
lds R3,_p+1
mov R4,R24
clr R5
add R4,R2
adc R5,R3
movw R30,R4
ldd R24,z+0
subi R24,25
std z+0,R24
L62:
.dbline 223
; if(p[cbit]<9) p[cbit]++;
lds R2,_p
lds R3,_p+1
ldd R30,y+16
clr R31
add R30,R2
adc R31,R3
ldd R24,z+0
cpi R24,9
brsh L64
.dbline 223
ldd R4,y+16
clr R5
add R4,R2
adc R5,R3
movw R30,R4
ldd R24,z+0
subi R24,255 ; addi 1
std z+0,R24
rjmp L65
L64:
.dbline 224
; else p[cbit]=0;
lds R2,_p
lds R3,_p+1
ldd R30,y+16
clr R31
add R30,R2
adc R31,R3
clr R2
std z+0,R2
L65:
.dbline 225
; if(cbit==1) p[cbit]+=25;
ldd R24,y+16
cpi R24,1
breq X44
rjmp L33
X44:
.dbline 225
lds R2,_p
lds R3,_p+1
mov R4,R24
clr R5
add R4,R2
adc R5,R3
movw R30,R4
ldd R24,z+0
subi R24,231 ; addi 25
std z+0,R24
.dbline 226
; }
.dbline 227
; break;
rjmp L33
L68:
.dbline 229
; case down:
; if(fbit==2)
ldd R24,y+15
cpi R24,2
breq X45
rjmp L33
X45:
.dbline 230
; {
.dbline 231
; if(cbit==1) p[cbit]-=25;
ldd R24,y+16
cpi R24,1
brne L71
.dbline 231
lds R2,_p
lds R3,_p+1
mov R4,R24
clr R5
add R4,R2
adc R5,R3
movw R30,R4
ldd R24,z+0
subi R24,25
std z+0,R24
L71:
.dbline 232
; if(p[cbit]>0) p[cbit]--;
lds R2,_p
lds R3,_p+1
ldd R30,y+16
clr R31
add R30,R2
adc R31,R3
ldd R2,z+0
clr R3
cp R3,R2
brsh L73
.dbline 232
lds R2,_p
lds R3,_p+1
ldd R4,y+16
clr R5
add R4,R2
adc R5,R3
movw R30,R4
ldd R24,z+0
subi R24,1
std z+0,R24
rjmp L74
L73:
.dbline 233
; else p[cbit]=9;
lds R2,_p
lds R3,_p+1
ldd R30,y+16
clr R31
add R30,R2
adc R31,R3
ldi R24,9
std z+0,R24
L74:
.dbline 234
; if(cbit==1) p[cbit]+=25;
ldd R24,y+16
cpi R24,1
brne L33
.dbline 234
lds R2,_p
lds R3,_p+1
mov R4,R24
clr R5
add R4,R2
adc R5,R3
movw R30,R4
ldd R24,z+0
subi R24,231 ; addi 25
std z+0,R24
.dbline 235
; }
.dbline 236
; break;
rjmp L33
L77:
.dbline 238
; case left:
; fbit=2;
ldi R24,2
std y+15,R24
.dbline 239
; if(cbit<1) cbit++;
ldd R24,y+16
cpi R24,1
brsh L78
.dbline 239
mov R0,R24
inc R0
std y+16,R0
rjmp L33
L78:
.dbline 240
; else cbit=0;
clr R0
std y+16,R0
.dbline 241
; break;
.dbline 243
; case set3s:
; goto menu2;
.dbline 245
; case set_left3s:
; goto menu3;
L32:
L33:
.dbline 247
L28:
.dbline 165
rjmp L27
X5:
.dbline 248
; } //---------------------------------------------------------------------trdata
; }
; }
.dbline 249
; break;
rjmp L22
L84:
.dbline 251
; case up:
; if(fbit==2)
ldd R24,y+15
cpi R24,2
breq X46
rjmp L22
X46:
.dbline 252
; {
.dbline 253
; if(p[cbit]<9) p[cbit]++;
lds R2,_p
lds R3,_p+1
ldd R30,y+16
clr R31
add R30,R2
adc R31,R3
ldd R24,z+0
cpi R24,9
brsh L87
.dbline 253
ldd R4,y+16
clr R5
add R4,R2
adc R5,R3
movw R30,R4
ldd R24,z+0
subi R24,255 ; addi 1
std z+0,R24
rjmp L22
L87:
.dbline 254
; else p[cbit]=0;
lds R2,_p
lds R3,_p+1
ldd R30,y+16
clr R31
add R30,R2
adc R31,R3
clr R2
std z+0,R2
.dbline 255
; }
.dbline 256
; break;
rjmp L22
L89:
.dbline 258
; case down:
; if(fbit==2)
ldd R24,y+15
cpi R24,2
breq X47
rjmp L22
X47:
.dbline 259
; {
.dbline 260
; if(p[cbit]>0) p[cbit]--;
lds R2,_p
lds R3,_p+1
ldd R30,y+16
clr R31
add R30,R2
adc R31,R3
ldd R2,z+0
clr R3
cp R3,R2
brsh L92
.dbline 260
lds R2,_p
lds R3,_p+1
ldd R4,y+16
clr R5
add R4,R2
adc R5,R3
movw R30,R4
ldd R24,z+0
subi R24,1
std z+0,R24
rjmp L22
L92:
.dbline 261
; else p[cbit]=9;
lds R2,_p
lds R3,_p+1
ldd R30,y+16
clr R31
add R30,R2
adc R31,R3
ldi R24,9
std z+0,R24
.dbline 262
; }
.dbline 263
; break;
rjmp L22
L94:
.dbline 265
; case left:
; fbit=2;
ldi R24,2
std y+15,R24
.dbline 266
; if(cbit<5) cbit++;
ldd R24,y+16
cpi R24,5
brsh L95
.dbline 266
mov R0,R24
inc R0
std y+16,R0
rjmp L96
L95:
.dbline 267
; else cbit=0;
clr R0
std y+16,R0
L96:
.dbline 268
; if(p[cbit]==10) { p[cbit]=0; }
lds R2,_p
lds R3,_p+1
ldd R30,y+16
clr R31
add R30,R2
adc R31,R3
ldd R24,z+0
cpi R24,10
brne L22
.dbline 268
.dbline 268
ldd R30,y+16
clr R31
add R30,R2
adc R31,R3
clr R2
std z+0,R2
.dbline 268
.dbline 269
; break;
.dbline 271
; case set3s:
; goto menu2;
.dbline 273
; case set_left3s:
; goto menu3;
L21:
L22:
.dbline 275
L18:
.dbline 145
rjmp L17
X6:
.dbline 276
; }
; }
; break;
rjmp L12
L103:
L53:
.dbline 279
; case set3s:
; menu2:
; if((PINB&0X0f)!=0x0f) goto menu2;
in R24,0x3
andi R24,15
cpi R24,15
brne X48
rjmp L107
X48:
.dbline 279
rjmp L53
L106:
.dbline 281
; while(1)
; {
L109:
.dbline 283
; psxsetmu2:
; if(fbit!=2) sandcnd_display(psx,timeset[tdbit],0);
ldd R24,y+15
cpi R24,2
breq L110
.dbline 283
clr R2
std y+2,R2
ldi R24,4
ldd R0,y+17
mul R24,R0
movw R30,R0
ldi R24,<_timeset
ldi R25,>_timeset
add R30,R24
adc R31,R25
ldd R2,z+0
ldd R3,z+1
ldd R4,z+2
ldd R5,z+3
std y+0,R4
std y+1,R5
movw R18,R2
ldi R16,<_psx
ldi R17,>_psx
rcall _sandcnd_display
L110:
.dbline 284
; o=psx;
ldi R24,<_psx
ldi R25,>_psx
sts _o+1,R25
sts _o,R24
.dbline 285
; o[1]=tdbit+1;
ldd R24,y+17
subi R24,255 ; addi 1
lds R30,_o
lds R31,_o+1
std z+1,R24
.dbline 286
; key=display_flash(fbit,cbit,2);
ldi R24,2
std y+0,R24
ldd R18,y+16
ldd R16,y+15
rcall _display_flash
sts _key,R16
.dbline 287
; switch (key)
mov R2,R16
clr R3
std y+4,R3
std y+3,R2
movw R24,R2
cpi R24,19
ldi R30,0
cpc R25,R30
brne X49
rjmp L55
X49:
ldi R24,19
cp R24,R2
cpc R25,R3
brlt L306
L305:
ldd R24,y+3
ldd R25,y+4
cpi R24,7
ldi R30,0
cpc R25,R30
breq L115
cpi R24,11
ldi R30,0
cpc R25,R30
brne X50
rjmp L298
X50:
cpi R24,13
ldi R30,0
cpc R25,R30
brne X51
rjmp L293
X51:
cpi R24,14
ldi R30,0
cpc R25,R30
brne X52
rjmp L288
X52:
rjmp L112
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -