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

📄 ledmenu_icc.lst

📁 简单菜单程序,八个按键.使用AVR单片机.2008/3/24--2008/3/29 编译器为ICCAVR7.14.晶振7.3728M,单片机为ATmega16(用ATmega32在proteus中仿
💻 LST
📖 第 1 页 / 共 2 页
字号:
FILE: <library>
__text_start:
__start:
    02EC E5CF      LDI	R28,0x5F
    02ED E0D4      LDI	R29,4
    02EE BFCD      OUT	0x3D,R28
    02EF BFDE      OUT	0x3E,R29
    02F0 51CE      SUBI	R28,0x1E
    02F1 40D0      SBCI	R29,0
    02F2 EA0A      LDI	R16,0xAA
    02F3 8308      STD	Y+0,R16
    02F4 2400      CLR	R0
    02F5 E6E9      LDI	R30,0x69
    02F6 E0F0      LDI	R31,0
    02F7 E010      LDI	R17,0
    02F8 3BE3      CPI	R30,0xB3
    02F9 07F1      CPC	R31,R17
    02FA F011      BEQ	0x02FD
    02FB 9201      ST	R0,Z+
    02FC CFFB      RJMP	0x02F8
    02FD 8300      STD	Z+0,R16
    02FE ECEE      LDI	R30,0xCE
    02FF E0F5      LDI	R31,5
    0300 E6A0      LDI	R26,0x60
    0301 E0B0      LDI	R27,0
    0302 E015      LDI	R17,5
    0303 3DE7      CPI	R30,0xD7
    0304 07F1      CPC	R31,R17
    0305 F021      BEQ	0x030A
    0306 95C8      LPM
    0307 9631      ADIW	R30,1
    0308 920D      ST	R0,X+
    0309 CFF9      RJMP	0x0303
    030A 940E068E  CALL	_main
_exit:
    030C CFFF      RJMP	_exit
_delay_3_us:
  n                    --> R16
    030D C004      RJMP	0x0312
    030E 0000      NOP
    030F 0000      NOP
    0310 5001      SUBI	R16,1
    0311 4010      SBCI	R17,0
    0312 3000      CPI	R16,0
    0313 0701      CPC	R16,R17
    0314 F7C9      BNE	0x030E
    0315 9508      RET
_delay_ms:
  n                    --> R20
  m                    --> R16
    0316 940E06F3  CALL	push_gset1
    0318 C00A      RJMP	0x0323
    0319 EC4D      LDI	R20,0xCD
    031A E054      LDI	R21,4
    031B C002      RJMP	0x031E
    031C 5041      SUBI	R20,1
    031D 4050      SBCI	R21,0
    031E 3040      CPI	R20,0
    031F 0745      CPC	R20,R21
    0320 F7D9      BNE	0x031C
    0321 5001      SUBI	R16,1
    0322 4010      SBCI	R17,0
    0323 3000      CPI	R16,0
    0324 0701      CPC	R16,R17
    0325 F799      BNE	0x0319
    0326 940E06F6  CALL	pop_gset1
    0328 9508      RET
_chkbusy:
    0329 9AC4      SBI	0x18,4
    032A 98C2      CBI	0x18,2
    032B 9AC3      SBI	0x18,3
    032C 9508      RET
_send_comm:
  command              --> R20
    032D 940E06F3  CALL	push_gset1
    032F 2F40      MOV	R20,R16
    0330 DFF8      RCALL	_chkbusy
    0331 9AC4      SBI	0x18,4
    0332 98C2      CBI	0x18,2
    0333 98C3      CBI	0x18,3
    0334 BB4B      OUT	0x1B,R20
    0335 9AC4      SBI	0x18,4
    0336 98C4      CBI	0x18,4
    0337 940E06F6  CALL	pop_gset1
    0339 9508      RET
_send_data:
  dat                  --> R20
    033A 940E06F3  CALL	push_gset1
    033C 2F40      MOV	R20,R16
    033D DFEB      RCALL	_chkbusy
    033E 9AC4      SBI	0x18,4
    033F 9AC2      SBI	0x18,2
    0340 98C3      CBI	0x18,3
    0341 BB4B      OUT	0x1B,R20
    0342 98C4      CBI	0x18,4
    0343 940E06F6  CALL	pop_gset1
    0345 9508      RET
_lcd_init:
    0346 EC00      LDI	R16,0xC0
    0347 DFE5      RCALL	_send_comm
    0348 EB08      LDI	R16,0xB8
    0349 DFE3      RCALL	_send_comm
    034A E400      LDI	R16,0x40
    034B DFE1      RCALL	_send_comm
    034C E30F      LDI	R16,0x3F
    034D DFDF      RCALL	_send_comm
    034E 9508      RET
_lcd_clr:
  page                 --> R20
  col                  --> R22
    034F 940E06F1  CALL	push_gset2
    0351 9AC0      SBI	0x18,0
    0352 98C1      CBI	0x18,1
    0353 2744      CLR	R20
    0354 C00D      RJMP	0x0362
    0355 2F04      MOV	R16,R20
    0356 6B08      ORI	R16,0xB8
    0357 DFD5      RCALL	_send_comm
    0358 E400      LDI	R16,0x40
    0359 DFD3      RCALL	_send_comm
    035A 2766      CLR	R22
    035B C003      RJMP	0x035F
    035C 2700      CLR	R16
    035D DFDC      RCALL	_send_data
    035E 9563      INC	R22
    035F 3460      CPI	R22,0x40
    0360 F3D8      BCS	0x035C
    0361 9543      INC	R20
    0362 3048      CPI	R20,0x8
    0363 F388      BCS	0x0355
    0364 98C0      CBI	0x18,0
    0365 9AC1      SBI	0x18,1
    0366 2744      CLR	R20
    0367 C00D      RJMP	0x0375
    0368 2F04      MOV	R16,R20
    0369 6B08      ORI	R16,0xB8
    036A DFC2      RCALL	_send_comm
    036B E400      LDI	R16,0x40
    036C DFC0      RCALL	_send_comm
    036D 2766      CLR	R22
    036E C003      RJMP	0x0372
    036F 2700      CLR	R16
    0370 DFC9      RCALL	_send_data
    0371 9563      INC	R22
    0372 3460      CPI	R22,0x40
    0373 F3D8      BCS	0x036F
    0374 9543      INC	R20
    0375 3048      CPI	R20,0x8
    0376 F388      BCS	0x0368
    0377 940E06E5  CALL	pop_gset2
    0379 9508      RET
_draw_bmp:
  address              --> R20
  p                    --> R22
  window               --> R10
  x                    --> R12
  bmp                  --> R14
  mod                  --> Y+16
  width                --> Y+14
  col                  --> Y+12
  page                 --> Y+10
    037A 940E06C8  CALL	push_arg4
    037C 940E06EB  CALL	push_gset5
    037E 88EA      LDD	R14,Y+18
    037F 88FB      LDD	R15,Y+19
    0380 24AA      CLR	R10
    0381 2766      CLR	R22
    0382 84CC      LDD	R12,Y+12
    0383 C058      RJMP	0x03DC
    0384 E78F      LDI	R24,0x7F
    0385 158C      CP	R24,R12
    0386 F408      BCC	0x0388
    0387 C05A      RJMP	0x03E2
    0388 E38F      LDI	R24,0x3F
    0389 158C      CP	R24,R12
    038A F440      BCC	0x0393
    038B 24AA      CLR	R10
    038C 94A3      INC	R10
    038D E410      LDI	R17,0x40
    038E 2D0C      MOV	R16,R12
    038F 940E06CD  CALL	mod8u
    0391 2F40      MOV	R20,R16
    0392 C002      RJMP	0x0395
    0393 24AA      CLR	R10
    0394 2D4C      MOV	R20,R12
    0395 20AA      TST	R10
    0396 F019      BEQ	0x039A
    0397 98C0      CBI	0x18,0
    0398 9AC1      SBI	0x18,1
    0399 C002      RJMP	0x039C
    039A 9AC0      SBI	0x18,0
    039B 98C1      CBI	0x18,1
    039C 850A      LDD	R16,Y+10
    039D 6B08      ORI	R16,0xB8
    039E DF8E      RCALL	_send_comm
    039F 2F04      MOV	R16,R20
    03A0 6400      ORI	R16,0x40
    03A1 DF8B      RCALL	_send_comm
    03A2 8808      LDD	R0,Y+16
    03A3 2000      TST	R0
    03A4 F041      BEQ	0x03AD
    03A5 2FE6      MOV	R30,R22
    03A6 27FF      CLR	R31
    03A7 0DEE      ADD	R30,R14
    03A8 1DFF      ADC	R31,R15
    03A9 9104      LPM	R16,0(Z)
    03AA 9500      COM	R16
    03AB DF8E      RCALL	_send_data
    03AC C006      RJMP	0x03B3
    03AD 2FE6      MOV	R30,R22
    03AE 27FF      CLR	R31
    03AF 0DEE      ADD	R30,R14
    03B0 1DFF      ADC	R31,R15
    03B1 9104      LPM	R16,0(Z)
    03B2 DF87      RCALL	_send_data
    03B3 20AA      TST	R10
    03B4 F019      BEQ	0x03B8
    03B5 98C0      CBI	0x18,0
    03B6 9AC1      SBI	0x18,1
    03B7 C002      RJMP	0x03BA
    03B8 9AC0      SBI	0x18,0
    03B9 98C1      CBI	0x18,1
    03BA 850A      LDD	R16,Y+10
    03BB 6B08      ORI	R16,0xB8
    03BC 5F0F      SUBI	R16,0xFF
    03BD DF6F      RCALL	_send_comm
    03BE 2F04      MOV	R16,R20
    03BF 6400      ORI	R16,0x40
    03C0 DF6C      RCALL	_send_comm
    03C1 8808      LDD	R0,Y+16
    03C2 2000      TST	R0
    03C3 F061      BEQ	0x03D0
    03C4 842E      LDD	R2,Y+14
    03C5 2433      CLR	R3
    03C6 2FE6      MOV	R30,R22
    03C7 27FF      CLR	R31
    03C8 0DE2      ADD	R30,R2
    03C9 1DF3      ADC	R31,R3
    03CA 0DEE      ADD	R30,R14
    03CB 1DFF      ADC	R31,R15
    03CC 9104      LPM	R16,0(Z)
    03CD 9500      COM	R16
    03CE DF6B      RCALL	_send_data
    03CF C00A      RJMP	0x03DA
    03D0 842E      LDD	R2,Y+14
    03D1 2433      CLR	R3
    03D2 2FE6      MOV	R30,R22
    03D3 27FF      CLR	R31
    03D4 0DE2      ADD	R30,R2
    03D5 1DF3      ADC	R31,R3
    03D6 0DEE      ADD	R30,R14
    03D7 1DFF      ADC	R31,R15
    03D8 9104      LPM	R16,0(Z)
    03D9 DF60      RCALL	_send_data
    03DA 9563      INC	R22
    03DB 94C3      INC	R12
    03DC 842C      LDD	R2,Y+12
    03DD 840E      LDD	R0,Y+14
    03DE 0C20      ADD	R2,R0
    03DF 14C2      CP	R12,R2
    03E0 F408      BCC	0x03E2
    03E1 CFA2      RJMP	0x0384
    03E2 940E06E8  CALL	pop_gset5
    03E4 9624      ADIW	R28,4
    03E5 9508      RET
_get_key:
  pass                 --> R16
  kcodebuf             --> R18
    03E6 B320      IN	R18,0x10
    03E7 7F2F      ANDI	R18,0xFF
    03E8 91800066  LDS	R24,keytime
    03EA 5F8F      SUBI	R24,0xFF
    03EB 93800066  STS	keytime,R24
    03ED 90200069  LDS	R2,lastkcode
    03EF 1522      CP	R18,R2
    03F0 F019      BEQ	0x03F4
    03F1 2422      CLR	R2
    03F2 92200066  STS	keytime,R2
    03F4 3F2F      CPI	R18,0xFF
    03F5 F449      BNE	0x03FF
    03F6 2422      CLR	R2
    03F7 92200067  STS	havekey,R2
    03F9 92200068  STS	keylock,R2
    03FB 92200066  STS	keytime,R2
    03FD 2700      CLR	R16
    03FE C066      RJMP	0x0465
    03FF 372F      CPI	R18,0x7F
    0400 F4A1      BNE	0x0415
    0401 E081      LDI	R24,1
    0402 93800068  STS	keylock,R24
    0404 90200066  LDS	R2,keytime
    0406 2022      TST	R2
    0407 F411      BNE	0x040A
    0408 E007      LDI	R16,7
    0409 C05B      RJMP	0x0465
    040A 91800066  LDS	R24,keytime
    040C 3684      CPI	R24,0x64
    040D F429      BNE	0x0413
    040E E007      LDI	R16,7
    040F E580      LDI	R24,0x50
    0410 93800066  STS	keytime,R24
    0412 C052      RJMP	0x0465
    0413 E009      LDI	R16,0x9
    0414 C050      RJMP	0x0465
    0415 3B2F      CPI	R18,0xBF
    0416 F4A1      BNE	0x042B
    0417 E081      LDI	R24,1
    0418 93800068  STS	keylock,R24
    041A 90200066  LDS	R2,keytime
    041C 2022      TST	R2
    041D F411      BNE	0x0420
    041E E008      LDI	R16,0x8
    041F C045      RJMP	0x0465
    0420 91800066  LDS	R24,keytime
    0422 3684      CPI	R24,0x64
    0423 F429      BNE	0x0429
    0424 E008      LDI	R16,0x8
    0425 E580      LDI	R24,0x50
    0426 93800066  STS	keytime,R24
    0428 C03C      RJMP	0x0465
    0429 E009      LDI	R16,0x9
    042A C03A      RJMP	0x0465
    042B 90200067  LDS	R2,havekey
    042D 2022      TST	R2
    042E F429      BNE	0x0434
    042F E081      LDI	R24,1
    0430 93800067  STS	havekey,R24
    0432 E00A      LDI	R16,0xA
    0433 C031      RJMP	0x0465
    0434 91800068  LDS	R24,keylock
    0436 3081      CPI	R24,1
    0437 F411      BNE	0x043A
    0438 E00A      LDI	R16,0xA
    0439 C02B      RJMP	0x0465
    043A 3D2F      CPI	R18,0xDF
    043B F429      BNE	0x0441
    043C E081      LDI	R24,1
    043D 93800068  STS	keylock,R24
    043F E006      LDI	R16,6
    0440 C024      RJMP	0x0465
    0441 3E2F      CPI	R18,0xEF
    0442 F429      BNE	0x0448
    0443 E081      LDI	R24,1
    0444 93800068  STS	keylock,R24
    0446 E005      LDI	R16,5
    0447 C01D      RJMP	0x0465
    0448 3F27      CPI	R18,0xF7
    0449 F429      BNE	0x044F
    044A E081      LDI	R24,1
    044B 93800068  STS	keylock,R24
    044D E004      LDI	R16,4
    044E C016      RJMP	0x0465
    044F 3F2B      CPI	R18,0xFB
    0450 F429      BNE	0x0456
    0451 E081      LDI	R24,1
    0452 93800068  STS	keylock,R24
    0454 E003      LDI	R16,3
    0455 C00F      RJMP	0x0465
    0456 3F2D      CPI	R18,0xFD
    0457 F429      BNE	0x045D
    0458 E081      LDI	R24,1
    0459 93800068  STS	keylock,R24
    045B E002      LDI	R16,2
    045C C008      RJMP	0x0465
    045D 3F2E      CPI	R18,0xFE
    045E F429      BNE	0x0464
    045F E081      LDI	R24,1
    0460 93800068  STS	keylock,R24
    0462 E001      LDI	R16,1
    0463 C001      RJMP	0x0465
    0464 E00A      LDI	R16,0xA
    0465 93200069  STS	lastkcode,R18
    0467 9508      RET
_main_init:
    0468 EF8F      LDI	R24,0xFF
    0469 BB8A      OUT	0x1A,R24
    046A 2422      CLR	R2
    046B BA2B      OUT	0x1B,R2
    046C BB87      OUT	0x17,R24
    046D BA28      OUT	0x18,R2
    046E BA24      OUT	0x14,R2
    046F BB85      OUT	0x15,R24
    0470 BA21      OUT	0x11,R2
    0471 BB82      OUT	0x12,R24
    0472 9508      RET
_main_menu_initial:
    0473 E083      LDI	R24,3
    0474 9380008F  STS	main_menu,R24
    0476 EE8E      LDI	R24,0xEE
    0477 E092      LDI	R25,2
    0478 93900091  STS	main_menu+2,R25
    047A 93800090  STS	main_menu+1,R24
    047C 2422      CLR	R2
    047D 2433      CLR	R3
    047E 92300093  STS	0x93,R3
    0480 92200092  STS	main_menu+3,R2
    0482 E78D      LDI	R24,0x7D
    0483 E090      LDI	R25,0
    0484 93900095  STS	0x95,R25
    0486 93800094  STS	0x94,R24
    0488 92300097  STS	0x97,R3
    048A 92200096  STS	0x96,R2
    048C E083      LDI	R24,3
    048D 93800098  STS	0x98,R24
    048F EA8E      LDI	R24,0xAE
    0490 E093      LDI	R25,3
    0491 9390009A  STS	0x9A,R25
    0493 93800099  STS	0x99,R24
    0495 9230009C  STS	0x9C,R3
    0497 9220009B  STS	0x9B,R2
    0499 E68B      LDI	R24,0x6B
    049A E090      LDI	R25,0
    049B 9390009E  STS	0x9E,R25
    049D 9380009D  STS	0x9D,R24
    049F 923000A0  STS	0xA0,R3
    04A1 9220009F  STS	0x9F,R2
    04A3 E083      LDI	R24,3
    04A4 938000A1  STS	0xA1,R24
    04A6 E68E      LDI	R24,0x6E
    04A7 E094      LDI	R25,4
    04A8 939000A3  STS	0xA3,R25
    04AA 938000A2  STS	0xA2,R24
    04AC E58C      LDI	R24,0x5C
    04AD E090      LDI	R25,0
    04AE 939000A5  STS	0xA5,R25
    04B0 938000A4  STS	0xA4,R24
    04B2 923000A7  STS	0xA7,R3
    04B4 922000A6  STS	0xA6,R2
    04B6 923000A9  STS	0xA9,R3
    04B8 922000A8  STS	0xA8,R2
    04BA 9508      RET
_blue_menu_initial:
    04BB E082      LDI	R24,2
    04BC 9380007D  STS	blue_menu,R24
    04BE E28E      LDI	R24,0x2E
    04BF E095      LDI	R25,5
    04C0 9390007F  STS	blue_menu+2,R25
    04C2 9380007E  STS	blue_menu+1,R24
    04C4 E58A      LDI	R24,0x5A
    04C5 E090      LDI	R25,0
    04C6 93900081  STS	0x81,R25
    04C8 93800080  STS	blue_menu+3,R24
    04CA 2422      CLR	R2
    04CB 2433      CLR	R3
    04CC 92300083  STS	0x83,R3
    04CE 92200082  STS	0x82,R2
    04D0 E88F      LDI	R24,0x8F
    04D1 E090      LDI	R25,0
    04D2 93900085  STS	0x85,R25
    04D4 93800084  STS	0x84,R24
    04D6 E082      LDI	R24,2
    04D7 93800086  STS	0x86,R24
    04D9 E68E      LDI	R24,0x6E
    04DA E095      LDI	R25,5
    04DB 93900088  STS	0x88,R25
    04DD 93800087  STS	0x87,R24
    04DF E588      LDI	R24,0x58
    04E0 E090      LDI	R25,0
    04E1 9390008A  STS	0x8A,R25
    04E3 93800089  STS	0x89,R24
    04E5 9230008C  STS	0x8C,R3
    04E7 9220008B  STS	0x8B,R2
    04E9 E88F      LDI	R24,0x8F
    04EA E090      LDI	R25,0
    04EB 9390008E  STS	0x8E,R25
    04ED 9380008D  STS	0x8D,R24
    04EF 9508      RET
_green_menu_initial:
    04F0 E082      LDI	R24,2
    04F1 9380006B  STS	green_menu,R24
    04F3 E28E      LDI	R24,0x2E
    04F4 E095      LDI	R25,5
    04F5 9390006D  STS	green_menu+2,R25
    04F7 9380006C  STS	green_menu+1,R24
    04F9 E586      LDI	R24,0x56
    04FA E090      LDI	R25,0
    04FB 9390006F  STS	0x6F,R25
    04FD 9380006E  STS	green_menu+3,R24
    04FF 2422      CLR	R2
    0500 2433      CLR	R3

⌨️ 快捷键说明

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