📄 project.s
字号:
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L245:
.dbline 435
inc R20
L247:
.dbline 435
cpi R20,32
brlo L244
L239:
.dbline 437
; next[m]=DL[Word_Number-3][m]; //依次换字显示“到了”
; Word_Number++;} //显示字数+1
lds R24,_Word_Number
subi R24,255 ; addi 1
sts _Word_Number,R24
.dbline 437
rjmp L114
L236:
.dbline 439
; else //若全部显示完,则
; Word_Number=0; //显示字数清0
clr R2
sts _Word_Number,R2
.dbline 440
; break;
rjmp L114
L248:
.dbline 442
; case 11: //若为第11站
; if(Word_Number<5) //判断已显示字数
lds R24,_Word_Number
cpi R24,5
brlo X16
rjmp L249
X16:
.dbline 443
; {if(Word_Number<3) //若未显示完“第11站”,则
.dbline 443
cpi R24,3
brsh L251
.dbline 444
; {for(m=0;m<32;m++)
.dbline 444
clr R20
rjmp L256
L253:
.dbline 445
ldi R18,5
ldi R19,0
lds R16,_Word_Number
clr R17
rcall lsl16
mov R2,R16
mov R3,R17
ldi R24,<_State1
ldi R25,>_State1
add R2,R24
adc R3,R25
mov R4,R20
clr R5
add R4,R2
adc R5,R3
mov R30,R4
mov R31,R5
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L254:
.dbline 444
inc R20
L256:
.dbline 444
cpi R20,32
brlo L253
.dbline 445
; next[m]=State1[Word_Number][m];} //依次换字显示“第11站”
rjmp L252
L251:
.dbline 447
; else //否则
; for(m=0;m<32;m++)
clr R20
rjmp L260
L257:
.dbline 448
ldi R18,5
ldi R19,0
lds R16,_Word_Number
clr R17
subi R16,3
sbci R17,0
rcall lsl16
mov R2,R16
mov R3,R17
ldi R24,<_DL
ldi R25,>_DL
add R2,R24
adc R3,R25
mov R4,R20
clr R5
add R4,R2
adc R5,R3
mov R30,R4
mov R31,R5
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L258:
.dbline 447
inc R20
L260:
.dbline 447
cpi R20,32
brlo L257
L252:
.dbline 449
; next[m]=DL[Word_Number-3][m]; //依次换字显示“到了”
; Word_Number++;} //显示字数+1
lds R24,_Word_Number
subi R24,255 ; addi 1
sts _Word_Number,R24
.dbline 449
rjmp L114
L249:
.dbline 451
; else //若全部显示完,则
; Word_Number=0; //显示字数清0
clr R2
sts _Word_Number,R2
.dbline 452
; break;
rjmp L114
L261:
.dbline 454
; case 12: //若为第12站
; if(Word_Number<5) //判断已显示字数
lds R24,_Word_Number
cpi R24,5
brlo X17
rjmp L262
X17:
.dbline 455
; {if(Word_Number<3) //若未显示完“第12站”,则
.dbline 455
cpi R24,3
brsh L264
.dbline 456
; {for(m=0;m<32;m++)
.dbline 456
clr R20
rjmp L269
L266:
.dbline 457
ldi R18,5
ldi R19,0
lds R16,_Word_Number
clr R17
rcall lsl16
mov R2,R16
mov R3,R17
ldi R24,<_State2
ldi R25,>_State2
add R2,R24
adc R3,R25
mov R4,R20
clr R5
add R4,R2
adc R5,R3
mov R30,R4
mov R31,R5
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L267:
.dbline 456
inc R20
L269:
.dbline 456
cpi R20,32
brlo L266
.dbline 457
; next[m]=State2[Word_Number][m];} //依次换字显示“第12站”
rjmp L265
L264:
.dbline 459
; else //否则
; for(m=0;m<32;m++)
clr R20
rjmp L273
L270:
.dbline 460
ldi R18,5
ldi R19,0
lds R16,_Word_Number
clr R17
subi R16,3
sbci R17,0
rcall lsl16
mov R2,R16
mov R3,R17
ldi R24,<_DL
ldi R25,>_DL
add R2,R24
adc R3,R25
mov R4,R20
clr R5
add R4,R2
adc R5,R3
mov R30,R4
mov R31,R5
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L271:
.dbline 459
inc R20
L273:
.dbline 459
cpi R20,32
brlo L270
L265:
.dbline 461
; next[m]=DL[Word_Number-3][m]; //依次换字显示“到了”
; Word_Number++;} //显示字数+1
lds R24,_Word_Number
subi R24,255 ; addi 1
sts _Word_Number,R24
.dbline 461
rjmp L114
L262:
.dbline 463
; else //若全部显示完,则
; Word_Number=0; //显示字数清0
clr R2
sts _Word_Number,R2
.dbline 464
; break;
rjmp L114
L274:
.dbline 466
; case 13: //若为第13站
; if(Word_Number<5) //判断已显示字数
lds R24,_Word_Number
cpi R24,5
brlo X18
rjmp L275
X18:
.dbline 467
; {if(Word_Number<3) //若未显示完“第13站”,则
.dbline 467
cpi R24,3
brsh L277
.dbline 468
; {for(m=0;m<32;m++)
.dbline 468
clr R20
rjmp L282
L279:
.dbline 469
ldi R18,5
ldi R19,0
lds R16,_Word_Number
clr R17
rcall lsl16
mov R2,R16
mov R3,R17
ldi R24,<_State1
ldi R25,>_State1
add R2,R24
adc R3,R25
mov R4,R20
clr R5
add R4,R2
adc R5,R3
mov R30,R4
mov R31,R5
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L280:
.dbline 468
inc R20
L282:
.dbline 468
cpi R20,32
brlo L279
.dbline 469
; next[m]=State1[Word_Number][m];} //依次换字显示“第13站”
rjmp L278
L277:
.dbline 471
; else //否则
; for(m=0;m<32;m++)
clr R20
rjmp L286
L283:
.dbline 472
ldi R18,5
ldi R19,0
lds R16,_Word_Number
clr R17
subi R16,3
sbci R17,0
rcall lsl16
mov R2,R16
mov R3,R17
ldi R24,<_DL
ldi R25,>_DL
add R2,R24
adc R3,R25
mov R4,R20
clr R5
add R4,R2
adc R5,R3
mov R30,R4
mov R31,R5
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L284:
.dbline 471
inc R20
L286:
.dbline 471
cpi R20,32
brlo L283
L278:
.dbline 473
; next[m]=DL[Word_Number-3][m]; //依次换字显示“到了”
; Word_Number++;} //显示字数+1
lds R24,_Word_Number
subi R24,255 ; addi 1
sts _Word_Number,R24
.dbline 473
rjmp L114
L275:
.dbline 475
; else //若全部显示完,则
; Word_Number=0; //显示字数清0
clr R2
sts _Word_Number,R2
.dbline 476
; break;
rjmp L114
L287:
.dbline 478
; case 14: //若为第14站
; if(Word_Number<5) //判断已显示字数
lds R24,_Word_Number
cpi R24,5
brlo X19
rjmp L288
X19:
.dbline 479
; {if(Word_Number<3) //若未显示完“第14站”,则
.dbline 479
cpi R24,3
brsh L290
.dbline 480
; {for(m=0;m<32;m++)
.dbline 480
clr R20
rjmp L295
L292:
.dbline 481
ldi R18,5
ldi R19,0
lds R16,_Word_Number
clr R17
rcall lsl16
mov R2,R16
mov R3,R17
ldi R24,<_State2
ldi R25,>_State2
add R2,R24
adc R3,R25
mov R4,R20
clr R5
add R4,R2
adc R5,R3
mov R30,R4
mov R31,R5
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L293:
.dbline 480
inc R20
L295:
.dbline 480
cpi R20,32
brlo L292
.dbline 481
; next[m]=State2[Word_Number][m];} //依次换字显示“第14站”
rjmp L291
L290:
.dbline 483
; else //否则
; for(m=0;m<32;m++)
clr R20
rjmp L299
L296:
.dbline 484
ldi R18,5
ldi R19,0
lds R16,_Word_Number
clr R17
subi R16,3
sbci R17,0
rcall lsl16
mov R2,R16
mov R3,R17
ldi R24,<_DL
ldi R25,>_DL
add R2,R24
adc R3,R25
mov R4,R20
clr R5
add R4,R2
adc R5,R3
mov R30,R4
mov R31,R5
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L297:
.dbline 483
inc R20
L299:
.dbline 483
cpi R20,32
brlo L296
L291:
.dbline 485
; next[m]=DL[Word_Number-3][m]; //依次换字显示“到了”
; Word_Number++;} //显示字数+1
lds R24,_Word_Number
subi R24,255 ; addi 1
sts _Word_Number,R24
.dbline 485
rjmp L114
L288:
.dbline 487
; else //若全部显示完,则
; Word_Number=0; //显示字数清0
clr R2
sts _Word_Number,R2
.dbline 488
; break;
rjmp L114
L300:
.dbline 490
; case 15: //若为第15站
; if(Word_Number<5) //判断已显示字数
lds R24,_Word_Number
cpi R24,5
brlo X20
rjmp L301
X20:
.dbline 491
; {if(Word_Number<3) //若未显示完“第15站”,则
.dbline 491
cpi R24,3
brsh L303
.dbline 492
; {for(m=0;m<32;m++)
.dbline 492
clr R20
rjmp L308
L305:
.dbline 493
ldi R18,5
ldi R19,0
lds R16,_Word_Number
clr R17
rcall lsl16
mov R2,R16
mov R3,R17
ldi R24,<_State1
ldi R25,>_State1
add R2,R24
adc R3,R25
mov R4,R20
clr R5
add R4,R2
adc R5,R3
mov R30,R4
mov R31,R5
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L306:
.dbline 492
inc R20
L308:
.dbline 492
cpi R20,32
brlo L305
.dbline 493
; next[m]=State1[Word_Number][m];} //依次换字显示“第15站”
rjmp L304
L303:
.dbline 495
; else //否则
; for(m=0;m<32;m++)
clr R20
rjmp L312
L309:
.dbline 496
ldi R18,5
ldi R19,0
lds R16,_Word_Number
clr R17
subi R16,3
sbci R17,0
rcall lsl16
mov R2,R16
mov R3,R17
ldi R24,<_DL
ldi R25,>_DL
add R2,R24
adc R3,R25
mov R4,R20
clr R5
add R4,R2
adc R5,R3
mov R30,R4
mov R31,R5
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L310:
.dbline 495
inc R20
L312:
.dbline 495
cpi R20,32
brlo L309
L304:
.dbline 497
; next[m]=DL[Word_Number-3][m]; //依次换字显示“到了”
; Word_Number++;} //显示字数+1
lds R24,_Word_Number
subi R24,255 ; addi 1
sts _Word_Number,R24
.dbline 497
rjmp L114
L301:
.dbline 499
; else //若全部显示完,则
; Word_Number=0; //显示字数清0
clr R2
sts _Word_Number,R2
.dbline 500
; break;
rjmp L114
L313:
.dbline 502
; case 16: //若为第16站
; if(Word_Number<5) //判断已显示字数
lds R24,_Word_Number
cpi R24,5
brlo X21
rjmp L314
X21:
.dbline 503
; {if(Word_Number<3) //若未显示完“第16站”,则
.dbline 503
cpi R24,3
brsh L316
.dbline 504
; {for(m=0;m<32;m++)
.dbline 504
clr R20
rjmp L321
L318:
.dbline 505
ldi R18,5
ldi R19,0
lds R16,_Word_Number
clr R17
rcall lsl16
mov R2,R16
mov R3,R17
ldi R24,<_State2
ldi R25,>_State2
add R2,R24
adc R3,R25
mov R4,R20
clr R5
add R4,R2
adc R5,R3
mov R30,R4
mov R31,R5
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L319:
.dbline 504
inc R20
L321:
.dbline 504
cpi R20,32
brlo L318
.dbline 505
; next[m]=State2[Word_Number][m];} //依次换字显示“第16站”
rjmp L317
L316:
.dbline 507
; else //否则
; for(m=0;m<32;m++)
clr R20
rjmp L325
L322:
.dbline 508
ldi R18,5
ldi R19,0
lds R16,_Word_Number
clr R17
subi R16,3
sbci R17,0
rcall lsl16
mov R2,R16
mov R3,R17
ldi R24,<_DL
ldi R25,>_DL
add R2,R24
adc R3,R25
mov R4,R20
clr R5
add R4,R2
adc R5,R3
mov R30,R4
mov R31,R5
lpm
ldi R24,<_next
ldi R25,>_next
mov R30,R20
clr R31
add R30,R24
adc R31,R25
std z+0,R0
L323:
.dbline 507
inc R20
L325:
.dbline 507
cpi R20,32
brlo L322
L317:
.dbline 509
; next[m]=DL[Word_Number-3][m]; //依次换字显示“到了”
; Word_Number++;} //显示字数+1
lds R24,_Word_Number
subi R24,255 ; addi 1
sts _Word_Number,R24
.dbline 509
rjmp L114
L314:
.dbline 511
; else //若全部显示完,则
; Word_Number=0; //显示字数清0
clr R2
sts _Word_Number,R2
.dbline 512
; break;}}
.dbline 512
rjmp L114
L113:
.dbline 514
; else //预报站情形
; {switch(State
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -