⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pproject.s

📁 公交报站系统
💻 S
📖 第 1 页 / 共 5 页
字号:
;        next[m]=State1[Word_Number][m];	//依次换字显示“第1站”
;      }
	rjmp L158
L157:
	.dbline 572
;      else				//否则
;       for(m=0;m<32;m++)
	clr R20
	rjmp L166
L163:
	.dbline 573
	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
L164:
	.dbline 572
	inc R20
L166:
	.dbline 572
	cpi R20,32
	brlo L163
L158:
	.dbline 574
;        next[m]=DL[Word_Number-3][m];		//依次换字显示“到了”
;      Word_Number++;		//显示字数+1
	lds R24,_Word_Number
	subi R24,255    ; addi 1
	sts _Word_Number,R24
	.dbline 575
;     }
	rjmp L150
L155:
	.dbline 577
;     else					//若全部显示完,则
;      Word_Number=0;		//显示字数清0
	clr R2
	sts _Word_Number,R2
	.dbline 578
;     break;
	rjmp L150
L167:
	.dbline 580
;    case 2:				//若为第2站
;     if(Word_Number<5)	//判断已显示字数
	lds R24,_Word_Number
	cpi R24,5
	brlo X9
	rjmp L168
X9:
	.dbline 581
;     {
	.dbline 582
;      if(Word_Number<3)	//若未显示完“第2站”,则
	cpi R24,3
	brsh L170
	.dbline 583
;      {
	.dbline 584
;       for(m=0;m<32;m++)
	clr R20
	rjmp L175
L172:
	.dbline 585
	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
L173:
	.dbline 584
	inc R20
L175:
	.dbline 584
	cpi R20,32
	brlo L172
	.dbline 586
;        next[m]=State2[Word_Number][m];	//依次换字显示“第2站”
;      }
	rjmp L171
L170:
	.dbline 588
;      else				//否则
;       for(m=0;m<32;m++)
	clr R20
	rjmp L179
L176:
	.dbline 589
	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
L177:
	.dbline 588
	inc R20
L179:
	.dbline 588
	cpi R20,32
	brlo L176
L171:
	.dbline 590
;        next[m]=DL[Word_Number-3][m];		//依次换字显示“到了”
;      Word_Number++;		//显示字数+1
	lds R24,_Word_Number
	subi R24,255    ; addi 1
	sts _Word_Number,R24
	.dbline 591
;     }
	rjmp L150
L168:
	.dbline 593
;     else					//若全部显示完,则
;      Word_Number=0;		//显示字数清0
	clr R2
	sts _Word_Number,R2
	.dbline 594
;     break;
	rjmp L150
L180:
	.dbline 596
;    case 3:				//若为第3站
;     if(Word_Number<5)	//判断已显示字数
	lds R24,_Word_Number
	cpi R24,5
	brlo X10
	rjmp L181
X10:
	.dbline 597
;     {
	.dbline 598
;      if(Word_Number<3)	//若未显示完“第3站”,则
	cpi R24,3
	brsh L183
	.dbline 599
;      {
	.dbline 600
;       for(m=0;m<32;m++)
	clr R20
	rjmp L188
L185:
	.dbline 601
	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
L186:
	.dbline 600
	inc R20
L188:
	.dbline 600
	cpi R20,32
	brlo L185
	.dbline 602
;        next[m]=State1[Word_Number][m];	//依次换字显示“第3站”
;      }
	rjmp L184
L183:
	.dbline 604
;      else				//否则
;       for(m=0;m<32;m++)
	clr R20
	rjmp L192
L189:
	.dbline 605
	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
L190:
	.dbline 604
	inc R20
L192:
	.dbline 604
	cpi R20,32
	brlo L189
L184:
	.dbline 606
;        next[m]=DL[Word_Number-3][m];		//依次换字显示“到了”
;      Word_Number++;		//显示字数+1
	lds R24,_Word_Number
	subi R24,255    ; addi 1
	sts _Word_Number,R24
	.dbline 607
;     }
	rjmp L150
L181:
	.dbline 609
;     else					//若全部显示完,则
;      Word_Number=0;		//显示字数清0
	clr R2
	sts _Word_Number,R2
	.dbline 610
;     break;
	rjmp L150
L193:
	.dbline 612
;    case 4:				//若为第4站
;     if(Word_Number<5)	//判断已显示字数
	lds R24,_Word_Number
	cpi R24,5
	brlo X11
	rjmp L194
X11:
	.dbline 613
;     {
	.dbline 614
;      if(Word_Number<3)	//若未显示完“第4站”,则
	cpi R24,3
	brsh L196
	.dbline 615
;      {
	.dbline 616
;       for(m=0;m<32;m++)
	clr R20
	rjmp L201
L198:
	.dbline 617
	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
L199:
	.dbline 616
	inc R20
L201:
	.dbline 616
	cpi R20,32
	brlo L198
	.dbline 618
;        next[m]=State2[Word_Number][m];	//依次换字显示“第4站”
;      }
	rjmp L197
L196:
	.dbline 620
;      else				//否则
;       for(m=0;m<32;m++)
	clr R20
	rjmp L205
L202:
	.dbline 621
	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
L203:
	.dbline 620
	inc R20
L205:
	.dbline 620
	cpi R20,32
	brlo L202
L197:
	.dbline 622
;        next[m]=DL[Word_Number-3][m];		//依次换字显示“到了”
;      Word_Number++;		//显示字数+1
	lds R24,_Word_Number
	subi R24,255    ; addi 1
	sts _Word_Number,R24
	.dbline 623
;     }
	rjmp L150
L194:
	.dbline 625
;     else					//若全部显示完,则
;      Word_Number=0;		//显示字数清0
	clr R2
	sts _Word_Number,R2
	.dbline 626
;     break;
	rjmp L150
L206:
	.dbline 628
;    case 5:				//若为第5站
;     if(Word_Number<5)	//判断已显示字数
	lds R24,_Word_Number
	cpi R24,5
	brlo X12
	rjmp L207
X12:
	.dbline 629
;     {
	.dbline 630
;      if(Word_Number<3)	//若未显示完“第5站”,则
	cpi R24,3
	brsh L209
	.dbline 631
;      {
	.dbline 632
;       for(m=0;m<32;m++)
	clr R20
	rjmp L214
L211:
	.dbline 633
	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
L212:
	.dbline 632
	inc R20
L214:
	.dbline 632
	cpi R20,32
	brlo L211
	.dbline 634
;        next[m]=State1[Word_Number][m];	//依次换字显示“第5站”
;      }
	rjmp L210
L209:
	.dbline 636
;      else				//否则
;       for(m=0;m<32;m++)
	clr R20
	rjmp L218
L215:
	.dbline 637
	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
L216:
	.dbline 636
	inc R20
L218:
	.dbline 636
	cpi R20,32
	brlo L215
L210:
	.dbline 638
;        next[m]=DL[Word_Number-3][m];		//依次换字显示“到了”
;      Word_Number++;		//显示字数+1
	lds R24,_Word_Number
	subi R24,255    ; addi 1
	sts _Word_Number,R24
	.dbline 639
;     }
	rjmp L150
L207:
	.dbline 641
;     else					//若全部显示完,则
;      Word_Number=0;		//显示字数清0
	clr R2
	sts _Word_Number,R2
	.dbline 642
;     break;
	rjmp L150
L219:
	.dbline 644
;    case 6:				//若为第6站
;     if(Word_Number<5)	//判断已显示字数
	lds R24,_Word_Number
	cpi R24,5
	brlo X13
	rjmp L220
X13:
	.dbline 645
;     {
	.dbline 646
;      if(Word_Number<3)	//若未显示完“第6站”,则
	cpi R24,3
	brsh L222
	.dbline 647
;      {
	.dbline 648
;       for(m=0;m<32;m++)
	clr R20
	rjmp L227
L224:
	.dbline 649
	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
L225:
	.dbline 648
	inc R20
L227:
	.dbline 648
	cpi R20,32
	brlo L224
	.dbline 650
;        next[m]=State2[Word_Number][m];	//依次换字显示“第6站”
;      }
	rjmp L223
L222:
	.dbline 652
;      else				//否则
;       for(m=0;m<32;m++)
	clr R20
	rjmp L231
L228:
	.dbline 653
	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
L229:
	.dbline 652
	inc R20
L231:
	.dbline 652
	cpi R20,32
	brlo L228
L223:
	.dbline 654
;        next[m]=DL[Word_Number-3][m];		//依次换字显示“到了”
;      Word_Number++;		//显示字数+1
	lds R24,_Word_Number
	subi R24,255    ; addi 1
	sts _Word_Number,R24
	.dbline 655
;     }
	rjmp L150
L220:
	.dbline 657
;     else					//若全部显示完,则
;      Word_Number=0;		//显示字数清0
	clr R2
	sts _Word_Number,R2
	.dbline 658
;     break;
	rjmp L150
L232:
	.dbline 660
;    case 7:				//若为第7站
;     if(Word_Number<5)	//判断已显示字数
	lds R24,_Word_Number
	cpi R24,5
	brlo X14
	rjmp L233
X14:
	.dbline 661
;     {
	.dbline 662
;      if(Word_Number<3)	//若未显示完“第7站”,则
	cpi R24,3
	brsh L235
	.dbline 663
;      {
	.dbline 664
;       for(m=0;m<32;m++)
	clr R20
	rjmp L240
L237:
	.dbline 665
	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
L238:
	.dbline 664
	inc R20
L240:
	.dbline 664
	cpi R20,32
	brlo L237
	.dbline 666
;        next[m]=State1[Word_Number][m];	//依次换字显示“第7站”
;      }
	rjmp L236
L235:
	.dbline 668
;      else				//否则
;       for(m=0;m<32;m++)
	clr R20
	rjmp L244
L241:
	.dbline 669
	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
L242:
	.dbline 668
	inc R20
L244:
	.dbline 668
	cpi R20,32
	brlo L241
L236:
	.dbline 670
;        next[m]=DL[Word_Number-3][m];		//依次换字显示“到了”
;      Word_Number++;		//显示字数+1
	lds R24,_Word_Number
	subi R24,255    ; addi 1
	sts _Word_Number,R24
	.dbline 671
;     }
	rjmp L150
L233:
	.dbline 673
;     else					//若全部显示完,则
;      Word_Number=0;		//显示字数清0
	clr R2
	sts _Word_Number,R2
	.dbline 674
;     break;
	rjmp L150
L245:
	.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -