📄 macoh.s
字号:
L306:
ldd R24,y+3
ldd R25,y+4
cpi R24,23
ldi R30,0
cpc R25,R30
brne X53
rjmp L12
X53:
rjmp L112
X7:
.dbline 288
; {
L115:
.dbline 290
; case set:
; if(fbit==2)
ldd R24,y+15
cpi R24,2
brne L116
.dbline 291
; {
.dbline 292
; timeset[tdbit]=process_add();
rcall _process_add
movw R2,R16
movw R4,R18
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
std z+0,R2
std z+1,R3
std z+2,R4
std z+3,R5
.dbline 293
; EEPROM_WRITE(0x40,timeset[0]);
ldi R24,4
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,<_timeset
ldi R19,>_timeset
ldi R16,64
ldi R17,0
rcall _EEPROMWriteBytes_extIO
.dbline 294
; EEPROM_WRITE(0x50,timeset[1]);
ldi R24,4
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,<_timeset+4
ldi R19,>_timeset+4
ldi R16,80
ldi R17,0
rcall _EEPROMWriteBytes_extIO
.dbline 295
; EEPROM_WRITE(0x60,timeset[2]);
ldi R24,4
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,<_timeset+8
ldi R19,>_timeset+8
ldi R16,96
ldi R17,0
rcall _EEPROMWriteBytes_extIO
.dbline 296
; fbit=0;
clr R0
std y+15,R0
.dbline 297
; }
rjmp L113
L116:
.dbline 299
; else
; {
.dbline 300
; if(tdbit==2)
ldd R24,y+17
cpi R24,2
breq X54
rjmp L122
X54:
.dbline 301
; { tdbit=0;
.dbline 301
clr R0
std y+17,R0
.dbline 302
; sandcnd_display(tr_x,trdata_x[tdbit],1);
ldi R24,1
std y+2,R24
ldi R24,<_trdata_x
ldi R25,>_trdata_x
mov R30,R0
clr R31
add R30,R24
adc R31,R25
ldd R2,z+0
clr R3
clr R4
clr R5
std y+0,R4
std y+1,R5
movw R18,R2
ldi R16,<_tr_x
ldi R17,>_tr_x
rcall _sandcnd_display
rjmp L125
L124:
.dbline 304
; while (1)
; {
.dbline 305
; o=tr_x;
ldi R24,<_tr_x
ldi R25,>_tr_x
sts _o+1,R25
sts _o,R24
.dbline 306
; 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 307
; p[1]+=25;
lds R24,_p
lds R25,_p+1
adiw R24,1
movw R30,R24
ldd R24,z+0
subi R24,231 ; addi 25
std z+0,R24
.dbline 308
; 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 309
; p[1]-=25;
lds R24,_p
lds R25,_p+1
adiw R24,1
movw R30,R24
ldd R24,z+0
subi R24,25
std z+0,R24
.dbline 310
; switch (key)
lds R2,_key
clr R3
std y+6,R3
std y+5,R2
movw R24,R2
cpi R24,19
ldi R30,0
cpc R25,R30
brne X55
rjmp L55
X55:
ldi R24,19
cp R24,R2
cpc R25,R3
brlt L285
L284:
ldd R24,y+5
ldd R25,y+6
cpi R24,7
ldi R30,0
cpc R25,R30
breq L130
cpi R24,11
ldi R30,0
cpc R25,R30
brne X56
rjmp L279
X56:
cpi R24,13
ldi R30,0
cpc R25,R30
brne X57
rjmp L270
X57:
cpi R24,14
ldi R30,0
cpc R25,R30
brne X58
rjmp L261
X58:
rjmp L127
L285:
ldd R24,y+5
ldd R25,y+6
cpi R24,23
ldi R30,0
cpc R25,R30
brne X59
rjmp L12
X59:
rjmp L127
X8:
.dbline 311
; {//------------------------------------2-2-22-2-2
L130:
.dbline 313
; case set:
; if(fbit==2)
ldd R24,y+15
cpi R24,2
brne L131
.dbline 314
; {
.dbline 315
; trdata=0;
clr R2
sts _trdata,R2
.dbline 316
; trdata+= p[1]*10;
lds R30,_p
lds R31,_p+1
ldd R2,z+1
ldi R24,10
mul R24,R2
lds R2,_trdata
add R2,R0
sts _trdata,R2
.dbline 317
; trdata+= p[0];
lds R30,_p
lds R31,_p+1
ldd R2,z+0
lds R3,_trdata
add R3,R2
sts _trdata,R3
.dbline 318
; trdata_x[tdbit]=trdata;
ldi R24,<_trdata_x
ldi R25,>_trdata_x
ldd R30,y+17
clr R31
add R30,R24
adc R31,R25
mov R2,R3
std z+0,R2
.dbline 319
; EEPROM_WRITE(0x30,trdata_x);
ldi R24,3
ldi R25,0
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 320
; fbit=0; }
clr R0
std y+15,R0
.dbline 320
rjmp L128
L131:
.dbline 322
; else
; {
.dbline 323
; if(tdbit==2)
ldd R24,y+17
cpi R24,2
breq X60
rjmp L133
X60:
.dbline 324
; {
.dbline 325
; tdbit=0;
clr R0
std y+17,R0
.dbline 326
; sandcnd_display(scl,scldata[tdbit],0);
clr R2
std y+2,R2
ldi R24,2
mul R24,R0
movw R30,R0
ldi R24,<_scldata
ldi R25,>_scldata
add R30,R24
adc R31,R25
ldd R2,z+0
ldd R3,z+1
clr R4
clr R5
std y+0,R4
std y+1,R5
movw R18,R2
ldi R16,<_scl
ldi R17,>_scl
rcall _sandcnd_display
rjmp L136
L135:
.dbline 328
; while (1)
; {
.dbline 329
; o=scl;
ldi R24,<_scl
ldi R25,>_scl
sts _o+1,R25
sts _o,R24
.dbline 330
; o[0]=scl_set+tdbit;
ldd R24,y+17
subi R24,206 ; addi 50
lds R30,_o
lds R31,_o+1
std z+0,R24
.dbline 331
; 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 332
; switch (key)
mov R2,R16
clr R3
std y+8,R3
std y+7,R2
movw R24,R2
cpi R24,19
ldi R30,0
cpc R25,R30
brne X61
rjmp L55
X61:
ldi R24,19
cp R24,R2
cpc R25,R3
brlt L258
L257:
ldd R24,y+7
ldd R25,y+8
cpi R24,7
ldi R30,0
cpc R25,R30
breq L141
cpi R24,11
ldi R30,0
cpc R25,R30
brne X62
rjmp L250
X62:
cpi R24,13
ldi R30,0
cpc R25,R30
brne X63
rjmp L241
X63:
cpi R24,14
ldi R30,0
cpc R25,R30
brne X64
rjmp L232
X64:
rjmp L138
L258:
ldd R24,y+7
ldd R25,y+8
cpi R24,23
ldi R30,0
cpc R25,R30
brne X65
rjmp L12
X65:
rjmp L138
X9:
.dbline 333
; {
L141:
.dbline 335
; case set:
; if(fbit==2)
ldd R24,y+15
cpi R24,2
brne L142
.dbline 336
; {
.dbline 337
; scldata[scl_set-50+tdbit]=process_add();
rcall _process_add
movw R2,R16
movw R4,R18
ldi R24,2
ldd R0,y+17
mul R24,R0
movw R30,R0
ldi R24,<_scldata
ldi R25,>_scldata
add R30,R24
adc R31,R25
std z+1,R3
std z+0,R2
.dbline 338
; EEPROM_WRITE(0x20,scldata);
ldi R24,4
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,<_scldata
ldi R19,>_scldata
ldi R16,32
ldi R17,0
rcall _EEPROMWriteBytes_extIO
.dbline 339
; fbit=0;
clr R0
std y+15,R0
.dbline 340
; }
rjmp L139
L142:
.dbline 341
; else {if(tdbit<1) {
.dbline 341
ldd R24,y+17
cpi R24,1
brsh L144
.dbline 341
.dbline 342
; tdbit++;
mov R0,R24
inc R0
std y+17,R0
.dbline 343
; sandcnd_display(scl,scldata[tdbit],0);
clr R2
std y+2,R2
ldi R24,2
mul R24,R0
movw R30,R0
ldi R24,<_scldata
ldi R25,>_scldata
add R30,R24
adc R31,R25
ldd R2,z+0
ldd R3,z+1
clr R4
clr R5
std y+0,R4
std y+1,R5
movw R18,R2
ldi R16,<_scl
ldi R17,>_scl
rcall _sandcnd_display
.dbline 344
; }
rjmp L139
L144:
.dbline 346
; else
; { tdbit=0;
.dbline 346
clr R0
std y+17,R0
.dbline 347
; reset_m=resettemp;
lds R14,_resettemp
.dbline 348
; intm_m =inmtemp;
lds R10,_inmtemp
rjmp L147
L146:
.dbline 350
; while(1)
; {
.dbline 351
; if(intm_m==0) sandchar_display(inm,in_msa);
tst R10
brne L149
.dbline 351
ldi R18,<_in_msa
ldi R19,>_in_msa
ldi R16,<_inm
ldi R17,>_inm
rcall _sandchar_display
rjmp L150
L149:
.dbline 352
; else sandchar_display(inm,in_msb);
ldi R18,<_in_msb
ldi R19,>_in_msb
ldi R16,<_inm
ldi R17,>_inm
rcall _sandchar_display
L150:
.dbline 353
; key=display_flash(fbit,0,2); ///////////////////////////////////////////
ldi R24,2
std y+0,R24
clr R18
ldd R16,y+15
rcall _display_flash
sts _key,R16
.dbline 354
; switch (key)
mov R2,R16
clr R3
std y+10,R3
std y+9,R2
movw R24,R2
cpi R24,19
ldi R30,0
cpc R25,R30
brne X66
rjmp L55
X66:
ldi R24,19
cp R24,R2
cpc R25,R3
brlt L231
L230:
ldd R24,y+9
ldd R25,y+10
cpi R24,7
ldi R30,0
cpc R25,R30
breq L154
cpi R24,11
ldi R30,0
cpc R25,R30
brne X67
rjmp L227
X67:
cpi R24,13
ldi R30,0
cpc R25,R30
brne X68
rjmp L221
X68:
cpi R24,14
ldi R30,0
cpc R25,R30
brne X69
rjmp L220
X69:
rjmp L151
L231:
ldd R24,y+9
ldd R25,y+10
cpi R24,23
ldi R30,0
cpc R25,R30
brne X70
rjmp L12
X70:
rjmp L151
X10:
.dbline 355
; {
L154:
.dbline 357
; case set:
; if(fbit==2)
ldd R24,y+15
cpi R24,2
breq X71
rjmp L158
X71:
.dbline 358
; {
.dbline 359
; inmtemp=intm_m;
sts _inmtemp,R10
.dbline 360
; EEPROMwrite(0x14,inmtemp );
mov R18,R10
ldi R16,20
ldi R17,0
rcall _EEPROMwrite_extIO
.dbline 361
; fbit=0;
clr R0
std y+15,R0
.dbline 362
; }
rjmp L152
L157:
.dbline 365
; else
; while(1)
; {
.dbline 366
; sandchar_display(rst,comtep);
ldi R18,<_comtep
ldi R19,>_comtep
ldi R16,<_rst
ldi R17,>_rst
rcall _sandchar_display
.dbline 367
; if(reset_m==0) {p[0]=48;}
tst R14
brne L160
.dbline 367
.dbline 367
ldi R24,48
lds R30,_p
lds R31,_p+1
std z+0,R24
.dbline 367
L160:
.dbline 368
; if(reset_m==1) {p[0]=49;}
mov R24,R14
cpi R24,1
brne L162
.dbline 368
.dbline 368
ldi R24,49
lds R30,_p
lds R31,_p+1
std z+0,R24
.dbline 368
L162:
.dbline 369
; if(reset_m>=2) {p[0]=15;}
mov R24,R14
cpi R24,2
brlo L164
.dbline 369
.dbline 369
ldi R24,15
lds R30,_p
lds R31,_p+1
std z+0,R24
.dbline 369
L164:
.dbline 370
; key=display_flash(fbit,0,2);
ldi R24,2
std y+0,R24
clr R18
ldd R16,y+15
rcall _display_flash
sts _key,R16
.dbline 371
; comtep[0]=10;
ldi R24,10
sts _comtep,R24
.dbline 372
; cbit=5;
ldi R24,5
std y+16,R24
.dbline 373
; switch (key)
mov R2,R16
clr R3
std y+12,R3
std y+11,R2
movw R24,R2
cpi R24,19
ldi R30,0
cpc R25,R30
brne X72
rjmp L55
X72:
ldi R24,19
cp R24,R2
cpc R25,R3
brlt L219
L218:
ldd R24,y+11
ldd R25,y+12
cpi R24,7
ldi R30,0
cpc R25,R30
breq L169
cpi R24,11
ldi R30,0
cpc R25,R30
brne X73
rjmp L215
X73:
cpi R24,13
ldi R30,0
cpc R25,R30
brne X74
rjmp L208
X74:
cpi R24,14
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -