display_board2.lst

来自「一个LED特效显示程序」· LST 代码 · 共 952 行 · 第 1/2 页

LST
952
字号
    0247 940E0452  CALL	0x452
    0249 E98A      LDI	R24,0x9A
    024A 93900082  STS	PDataYMax+1,R25
    024C 93800081  STS	PDataYMax,R24
    024E C033      RJMP	0x0282
    024F 940E0426  CALL	0x426
    0251 C030      RJMP	0x0282
    0252 9180007F  LDS	R24,PDataY
    0254 91900080  LDS	R25,PDataY+1
    0256 9701      SBIW	R24,1
    0257 93900080  STS	PDataY+1,R25
    0259 9380007F  STS	PDataY,R24
    025B C026      RJMP	0x0282
    025C E081      LDI	R24,1
    025D 9380008F  STS	ModelContJuge,R24
    025F 2388      TST	R24
    0260 F049      BEQ	0x026A
    0261 940E0472  CALL	0x472
    0263 9601      ADIW	R24,1
    0264 940E0430  CALL	0x430
    0266 9601      ADIW	R24,1
    0267 940E0452  CALL	0x452
    0269 C008      RJMP	0x0272
    026A 940E0472  CALL	0x472
    026C 9701      SBIW	R24,1
    026D 940E0430  CALL	0x430
    026F 9701      SBIW	R24,1
    0270 940E0452  CALL	0x452
    0272 940E044D  CALL	0x44D
    0274 1542      CP	R20,R2
    0275 0553      CPC	R21,R3
    0276 F41C      BGE	0x027A
    0277 2422      CLR	R2
    0278 9220008F  STS	ModelContJuge,R2
    027A 940E044D  CALL	0x44D
    027C 1624      CP	R2,R20
    027D 0635      CPC	R3,R21
    027E F41C      BGE	0x0282
    027F E081      LDI	R24,1
    0280 9380008F  STS	ModelContJuge,R24
    0282 E004      LDI	R16,4
    0283 E010      LDI	R17,0
    0284 DF19      RCALL	_RAM_Read
    0285 2E20      MOV	R2,R16
    0286 E005      LDI	R16,5
    0287 E010      LDI	R17,0
    0288 922F      PUSH	R2
    0289 DF14      RCALL	_RAM_Read
    028A 902F      POP	R2
    028B 2E40      MOV	R4,R16
    028C 2455      CLR	R5
    028D 2C54      MOV	R5,R4
    028E 2444      CLR	R4
    028F 2433      CLR	R3
    0290 2024      AND	R2,R4
    0291 2035      AND	R3,R5
    0292 9230008E  STS	ModelDelayTime+1,R3
    0294 9220008D  STS	ModelDelayTime,R2
    0296 D119      RCALL	pop_gset2
    0297 9508      RET
_KEY_event:
    0298 9100006D  LDS	R16,key_num
    029A 2711      CLR	R17
    029B 3000      CPI	R16,0
    029C 0701      CPC	R16,R17
    029D F0F1      BEQ	0x02BC
    029E 3001      CPI	R16,1
    029F E0E0      LDI	R30,0
    02A0 071E      CPC	R17,R30
    02A1 F0D1      BEQ	0x02BC
    02A2 3002      CPI	R16,2
    02A3 E0E0      LDI	R30,0
    02A4 071E      CPC	R17,R30
    02A5 F029      BEQ	0x02AB
    02A6 3003      CPI	R16,3
    02A7 E0E0      LDI	R30,0
    02A8 071E      CPC	R17,R30
    02A9 F079      BEQ	0x02B9
    02AA C011      RJMP	0x02BC
    02AB 9180008C  LDS	R24,DispModel
    02AD 5F8F      SUBI	R24,0xFF
    02AE 9380008C  STS	DispModel,R24
    02B0 E088      LDI	R24,0x8
    02B1 9020008C  LDS	R2,DispModel
    02B3 1582      CP	R24,R2
    02B4 F438      BCC	0x02BC
    02B5 2422      CLR	R2
    02B6 9220008C  STS	DispModel,R2
    02B8 C003      RJMP	0x02BC
    02B9 B382      IN	R24,0x12
    02BA 7B8F      ANDI	R24,0xBF
    02BB BB82      OUT	0x12,R24
    02BC 9508      RET
_Display_event:
    02BD 940E0443  CALL	0x443
    02BF 708F      ANDI	R24,0xF
    02C0 7090      ANDI	R25,0
    02C1 93800060  STS	Disp_Buff,R24
    02C3 940E0443  CALL	0x443
    02C5 940E0448  CALL	0x448
    02C7 940E0448  CALL	0x448
    02C9 708F      ANDI	R24,0xF
    02CA 7090      ANDI	R25,0
    02CB 93800061  STS	Disp_Buff+1,R24
    02CD 90200088  LDS	R2,DataIndex
    02CF 90300089  LDS	R3,DataIndex+1
    02D1 2C23      MOV	R2,R3
    02D2 2433      CLR	R3
    02D3 FC27      SBRC	R2,7
    02D4 9430      COM	R3
    02D5 92200062  STS	Disp_Buff+2,R2
    02D7 9020008C  LDS	R2,DispModel
    02D9 92200063  STS	Disp_Buff+3,R2
    02DB 90200087  LDS	R2,HeadEN
    02DD 92200066  STS	0x66,R2
    02DF 90200085  LDS	R2,FileEnd
    02E1 92200067  STS	0x67,R2
    02E3 9508      RET
_main:
  temp                 --> Y+1
    02E4 DE7F      RCALL	_device_int
    02E5 CFFF      RJMP	0x02E5
    02E6 9508      RET
_exi_int0:
  adress               --> R20
  i                    --> R22
    02E7 D0E9      RCALL	push_lset
    02E8 D0CF      RCALL	push_gset2
    02E9 2766      CLR	R22
    02EA 9140007F  LDS	R20,PDataY
    02EC 91500080  LDS	R21,PDataY+1
    02EE 0F44      LSL	R20
    02EF 1F55      ROL	R21
    02F0 0F44      LSL	R20
    02F1 1F55      ROL	R21
    02F2 0F44      LSL	R20
    02F3 1F55      ROL	R21
    02F4 C00D      RJMP	0x0302
    02F5 011A      MOVW	R2,R20
    02F6 5F4F      SUBI	R20,0xFF
    02F7 4F5F      SBCI	R21,0xFF
    02F8 0181      MOVW	R16,R2
    02F9 DEA4      RCALL	_RAM_Read
    02FA E986      LDI	R24,0x96
    02FB E090      LDI	R25,0
    02FC 2FE6      MOV	R30,R22
    02FD 27FF      CLR	R31
    02FE 0FE8      ADD	R30,R24
    02FF 1FF9      ADC	R31,R25
    0300 8300      STD	Z+0,R16
    0301 9563      INC	R22
    0302 3068      CPI	R22,0x8
    0303 F388      BCS	0x02F5
    0304 DE81      RCALL	_Screen_send
    0305 940E0426  CALL	0x426
    0307 940E044D  CALL	0x44D
    0309 1582      CP	R24,R2
    030A 0593      CPC	R25,R3
    030B F441      BNE	0x0314
    030C 90200083  LDS	R2,PDataYMin
    030E 90300084  LDS	R3,PDataYMin+1
    0310 92300080  STS	PDataY+1,R3
    0312 9220007F  STS	PDataY,R2
    0314 D09B      RCALL	pop_gset2
    0315 D0D2      RCALL	pop_lset
    0316 9518      RETI
_timer1_vof:
    0317 D0B9      RCALL	push_lset
    0318 9478      BSET	7
    0319 940E046D  CALL	0x46D
    031B 9180007D  LDS	R24,sys_cont
    031D 9190007E  LDS	R25,sys_cont+1
    031F 9601      ADIW	R24,1
    0320 9390007E  STS	sys_cont+1,R25
    0322 9380007D  STS	sys_cont,R24
    0324 3E88      CPI	R24,0xE8
    0325 E0E3      LDI	R30,3
    0326 079E      CPC	R25,R30
    0327 F431      BNE	0x032E
    0328 2422      CLR	R2
    0329 2433      CLR	R3
    032A 9230007E  STS	sys_cont+1,R3
    032C 9220007D  STS	sys_cont,R2
    032E 940E043E  CALL	0x43E
    0330 9601      ADIW	R24,1
    0331 940E0439  CALL	0x439
    0333 90200087  LDS	R2,HeadEN
    0335 2022      TST	R2
    0336 F539      BNE	0x035E
    0337 90200085  LDS	R2,FileEnd
    0339 2022      TST	R2
    033A F519      BNE	0x035E
    033B 3280      CPI	R24,0x20
    033C E0E3      LDI	R30,3
    033D 079E      CPC	R25,R30
    033E F0F8      BCS	0x035E
    033F 9020007D  LDS	R2,sys_cont
    0341 9030007E  LDS	R3,sys_cont+1
    0343 2022      TST	R2
    0344 F491      BNE	0x0357
    0345 2033      TST	R3
    0346 F481      BNE	0x0357
    0347 91800092  LDS	R24,time_out_s
    0349 5F8F      SUBI	R24,0xFF
    034A 93800092  STS	time_out_s,R24
    034C E184      LDI	R24,0x14
    034D 93800092  STS	time_out_s,R24
    034F 2388      TST	R24
    0350 F031      BEQ	0x0357
    0351 E081      LDI	R24,1
    0352 E090      LDI	R25,0
    0353 940E0439  CALL	0x439
    0355 940E0463  CALL	0x463
    0357 EA0A      LDI	R16,0xAA
    0358 DE12      RCALL	_uart_TX
    0359 940E043E  CALL	0x43E
    035B 9701      SBIW	R24,1
    035C 940E0439  CALL	0x439
    035E 940E043E  CALL	0x43E
    0360 3E88      CPI	R24,0xE8
    0361 E0E3      LDI	R30,3
    0362 079E      CPC	R25,R30
    0363 F421      BNE	0x0368
    0364 E081      LDI	R24,1
    0365 E090      LDI	R25,0
    0366 940E0439  CALL	0x439
    0368 2422      CLR	R2
    0369 9030007A  LDS	R3,key_delay
    036B 1423      CP	R2,R3
    036C F410      BCC	0x036F
    036D 940E0477  CALL	0x477
    036F 940E045D  CALL	0x45D
    0371 F411      BNE	0x0374
    0372 2033      TST	R3
    0373 F049      BEQ	0x037D
    0374 9180007B  LDS	R24,delay_time_count
    0376 9190007C  LDS	R25,delay_time_count+1
    0378 9701      SBIW	R24,1
    0379 9390007C  STS	delay_time_count+1,R25
    037B 9380007B  STS	delay_time_count,R24
    037D 2422      CLR	R2
    037E 2433      CLR	R3
    037F 9040008D  LDS	R4,ModelDelayTime
    0381 9050008E  LDS	R5,ModelDelayTime+1
    0383 1424      CP	R2,R4
    0384 0435      CPC	R3,R5
    0385 F434      BGE	0x038C
    0386 01C2      MOVW	R24,R4
    0387 9701      SBIW	R24,1
    0388 9390008E  STS	ModelDelayTime+1,R25
    038A 9380008D  STS	ModelDelayTime,R24
    038C DD12      RCALL	_Disp_key_group
    038D DD51      RCALL	_Key_num
    038E DE8C      RCALL	_Disp_Model
    038F DF08      RCALL	_KEY_event
    0390 DF2C      RCALL	_Display_event
    0391 D056      RCALL	pop_lset
    0392 9518      RETI
_usart_rcx:
  uart_data            --> R20
    0393 D03D      RCALL	push_lset
    0394 D025      RCALL	push_gset1
    0395 B14C      IN	R20,0x0C
    0396 2F84      MOV	R24,R20
    0397 708F      ANDI	R24,0xF
    0398 93800064  STS	0x64,R24
    039A 2F04      MOV	R16,R20
    039B DE10      RCALL	_data_store
    039C EA0A      LDI	R16,0xAA
    039D DDCD      RCALL	_uart_TX
    039E 2422      CLR	R2
    039F 2433      CLR	R3
    03A0 92300091  STS	time_out_ms+1,R3
    03A2 92200090  STS	time_out_ms,R2
    03A4 92200092  STS	time_out_s,R2
    03A6 D016      RCALL	pop_gset1
    03A7 D040      RCALL	pop_lset
    03A8 9518      RETI
asr16:
    03A9 2322      TST	R18
    03AA F021      BEQ	0x03AF
    03AB 9515      ASR	R17
    03AC 9507      ROR	R16
    03AD 952A      DEC	R18
    03AE CFFA      RJMP	asr16
    03AF 9508      RET
pop_gset2:
    03B0 E0E2      LDI	R30,2
    03B1 C00C      RJMP	pop
push_gset5:
    03B2 92FA      ST	R15,-Y
    03B3 92EA      ST	R14,-Y
push_gset4:
    03B4 92DA      ST	R13,-Y
    03B5 92CA      ST	R12,-Y
push_gset3:
    03B6 92BA      ST	R11,-Y
    03B7 92AA      ST	R10,-Y
push_gset2:
    03B8 937A      ST	R23,-Y
    03B9 936A      ST	R22,-Y
push_gset1:
    03BA 935A      ST	R21,-Y
    03BB 934A      ST	R20,-Y
    03BC 9508      RET
pop_gset1:
    03BD E0E1      LDI	R30,1
pop:
    03BE 9149      LD	R20,Y+
    03BF 9159      LD	R21,Y+
    03C0 FDE0      SBRC	R30,0
    03C1 9508      RET
    03C2 9169      LD	R22,Y+
    03C3 9179      LD	R23,Y+
    03C4 FDE1      SBRC	R30,1
    03C5 9508      RET
    03C6 90A9      LD	R10,Y+
    03C7 90B9      LD	R11,Y+
    03C8 FDE2      SBRC	R30,2
    03C9 9508      RET
    03CA 90C9      LD	R12,Y+
    03CB 90D9      LD	R13,Y+
    03CC FDE3      SBRC	R30,3
    03CD 9508      RET
    03CE 90E9      LD	R14,Y+
    03CF 90F9      LD	R15,Y+
    03D0 9508      RET
push_lset:
    03D1 93FA      ST	R31,-Y
    03D2 93EA      ST	R30,-Y
    03D3 93BA      ST	R27,-Y
    03D4 93AA      ST	R26,-Y
    03D5 939A      ST	R25,-Y
    03D6 938A      ST	R24,-Y
    03D7 933A      ST	R19,-Y
    03D8 932A      ST	R18,-Y
    03D9 931A      ST	R17,-Y
    03DA 930A      ST	R16,-Y
    03DB 929A      ST	R9,-Y
    03DC 928A      ST	R8,-Y
    03DD 927A      ST	R7,-Y
    03DE 926A      ST	R6,-Y
    03DF 925A      ST	R5,-Y
    03E0 924A      ST	R4,-Y
    03E1 923A      ST	R3,-Y
    03E2 922A      ST	R2,-Y
    03E3 921A      ST	R1,-Y
    03E4 920A      ST	R0,-Y
    03E5 B60F      IN	R0,0x3F
    03E6 920A      ST	R0,-Y
    03E7 9508      RET
pop_lset:
    03E8 9009      LD	R0,Y+
    03E9 BE0F      OUT	0x3F,R0
    03EA 9009      LD	R0,Y+
    03EB 9019      LD	R1,Y+
    03EC 9029      LD	R2,Y+
    03ED 9039      LD	R3,Y+
    03EE 9049      LD	R4,Y+
    03EF 9059      LD	R5,Y+
    03F0 9069      LD	R6,Y+
    03F1 9079      LD	R7,Y+
    03F2 9089      LD	R8,Y+
    03F3 9099      LD	R9,Y+
    03F4 9109      LD	R16,Y+
    03F5 9119      LD	R17,Y+
    03F6 9129      LD	R18,Y+
    03F7 9139      LD	R19,Y+
    03F8 9189      LD	R24,Y+
    03F9 9199      LD	R25,Y+
    03FA 91A9      LD	R26,Y+
    03FB 91B9      LD	R27,Y+
    03FC 91E9      LD	R30,Y+
    03FD 91F9      LD	R31,Y+
    03FE 9508      RET
lsl16:
    03FF 2322      TST	R18
    0400 F021      BEQ	0x0405
    0401 0F00      LSL	R16
    0402 1F11      ROL	R17
    0403 952A      DEC	R18
    0404 CFFA      RJMP	lsl16
    0405 9508      RET
lsl8:
    0406 2311      TST	R17
    0407 F019      BEQ	0x040B
    0408 0F00      LSL	R16
    0409 951A      DEC	R17
    040A CFFB      RJMP	lsl8
    040B 9508      RET
<created procedures>:
    040C B382      IN	R24,0x12
    040D 6E80      ORI	R24,0xE0
    040E BB82      OUT	0x12,R24
    040F EF8F      LDI	R24,0xFF
    0410 BB8A      OUT	0x1A,R24
    0411 01C8      MOVW	R24,R16
    0412 7090      ANDI	R25,0
    0413 BB8B      OUT	0x1B,R24
    0414 01C8      MOVW	R24,R16
    0415 2F89      MOV	R24,R25
    0416 2799      CLR	R25
    0417 FD87      SBRC	R24,7
    0418 9590      COM	R25
    0419 7090      ANDI	R25,0
    041A BB85      OUT	0x15,R24
    041B B382      IN	R24,0x12
    041C 778F      ANDI	R24,0x7F
    041D BB82      OUT	0x12,R24
    041E 9508      RET
    041F E090      LDI	R25,0
    0420 91E00068  LDS	R30,disp_key_count
    0422 27FF      CLR	R31
    0423 0FE8      ADD	R30,R24
    0424 1FF9      ADC	R31,R25
    0425 9508      RET
    0426 9180007F  LDS	R24,PDataY
    0428 91900080  LDS	R25,PDataY+1
    042A 9601      ADIW	R24,1
    042B 93900080  STS	PDataY+1,R25
    042D 9380007F  STS	PDataY,R24
    042F 9508      RET
    0430 93900082  STS	PDataYMax+1,R25
    0432 93800081  STS	PDataYMax,R24
    0434 91800083  LDS	R24,PDataYMin
    0436 91900084  LDS	R25,PDataYMin+1
    0438 9508      RET
    0439 93900091  STS	time_out_ms+1,R25
    043B 93800090  STS	time_out_ms,R24
    043D 9508      RET
    043E 91800090  LDS	R24,time_out_ms
    0440 91900091  LDS	R25,time_out_ms+1
    0442 9508      RET
    0443 91800088  LDS	R24,DataIndex
    0445 91900089  LDS	R25,DataIndex+1
    0447 9508      RET
    0448 9595      ASR	R25
    0449 9587      ROR	R24
    044A 9595      ASR	R25
    044B 9587      ROR	R24
    044C 9508      RET
    044D 90200081  LDS	R2,PDataYMax
    044F 90300082  LDS	R3,PDataYMax+1
    0451 9508      RET
    0452 93900084  STS	PDataYMin+1,R25
    0454 93800083  STS	PDataYMin,R24
    0456 9508      RET
    0457 E090      LDI	R25,0
    0458 2FE4      MOV	R30,R20
    0459 27FF      CLR	R31
    045A 0FE8      ADD	R30,R24
    045B 1FF9      ADC	R31,R25
    045C 9508      RET
    045D 9020007B  LDS	R2,delay_time_count
    045F 9030007C  LDS	R3,delay_time_count+1
    0461 2022      TST	R2
    0462 9508      RET
    0463 93800087  STS	HeadEN,R24
    0465 93800085  STS	FileEnd,R24
    0467 9508      RET
    0468 9020008A  LDS	R2,FileLength
    046A 9030008B  LDS	R3,FileLength+1
    046C 9508      RET
    046D ED84      LDI	R24,0xD4
    046E BD8D      OUT	0x2D,R24
    046F EC8E      LDI	R24,0xCE
    0470 BD8C      OUT	0x2C,R24
    0471 9508      RET
    0472 91800081  LDS	R24,PDataYMax
    0474 91900082  LDS	R25,PDataYMax+1
    0476 9508      RET
    0477 2D83      MOV	R24,R3
    0478 5081      SUBI	R24,1
    0479 9380007A  STS	key_delay,R24
    047B 9508      RET

⌨️ 快捷键说明

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