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

📄 训练项目九:ps2键盘的使用.lst

📁 长沙理工自己的实验程序
💻 LST
字号:
NO DEBUG INFORMATION AVAILABLE!
__text_start:
__start:
      AA EFCF      LDI	R28,0xFF
      AB E0DF      LDI	R29,0xF
      AC BFCD      OUT	0x3D,R28
      AD BFDE      OUT	0x3E,R29
      AE 51C0      SUBI	R28,0x10
      AF 40D0      SBCI	R29,0
      B0 EA0A      LDI	R16,0xAA
      B1 8308      STD	Y+0,R16
      B2 2400      CLR	R0
      B3 E5E3      LDI	R30,0x53
      B4 E0F1      LDI	R31,1
      B5 E011      LDI	R17,1
      B6 35E3      CPI	R30,0x53
      B7 07F1      CPC	R31,R17
      B8 F011      BEQ	0x00BB
      B9 9201      ST	R0,Z+
      BA CFFB      RJMP	0x00B6
      BB 8300      STD	Z+0,R16
      BC E6E0      LDI	R30,0x60
      BD E0F0      LDI	R31,0
      BE E6A0      LDI	R26,0x60
      BF E0B0      LDI	R27,0
      C0 E011      LDI	R17,1
      C1 E000      LDI	R16,0
      C2 BF0B      OUT	0x3B,R16
      C3 35E3      CPI	R30,0x53
      C4 07F1      CPC	R31,R17
      C5 F021      BEQ	0x00CA
      C6 95C8      LPM
      C7 9631      ADIW	R30,1
      C8 920D      ST	R0,X+
      C9 CFF9      RJMP	0x00C3
      CA 940E 0189 CALL	_main
_exit:
      CC CFFF      RJMP	_exit
_ps:
      CD 921A      ST	R1,-Y
      CE 922A      ST	R2,-Y
      CF 938A      ST	R24,-Y
      D0 939A      ST	R25,-Y
      D1 B61F      IN	R1,0x3F
      D2 921A      ST	R1,-Y
      D3 9020 0064 LDS	R2,count
      D5 E080      LDI	R24,0
      D6 1582      CP	R24,R2
      D7 F4C0      BCC	0x00F0
      D8 2D82      MOV	R24,R2
      D9 3089      CPI	R24,0x9
      DA F4A8      BCC	0x00F0
      DB 2422      CLR	R2
      DC 9220 0063 STS	flag,R2
      DE 9020 0060 LDS	R2,key
      E0 9426      LSR	R2
      E1 9220 0060 STS	key,R2
      E3 9B0D      SBIS	0x01,5
      E4 C005      RJMP	0x00EA
      E5 2D82      MOV	R24,R2
      E6 6880      ORI	R24,0x80
      E7 9380 0060 STS	key,R24
      E9 C009      RJMP	0x00F3
      EA 9180 0060 LDS	R24,key
      EC 778F      ANDI	R24,0x7F
      ED 9380 0060 STS	key,R24
      EF C003      RJMP	0x00F3
      F0 E081      LDI	R24,1
      F1 9380 0063 STS	flag,R24
      F3 9180 0064 LDS	R24,count
      F5 5F8F      SUBI	R24,0xFF
      F6 9380 0064 STS	count,R24
      F8 9B0C      SBIS	0x01,4
      F9 CFFE      RJMP	0x00F8
      FA E08A      LDI	R24,0xA
      FB 9020 0064 LDS	R2,count
      FD 1582      CP	R24,R2
      FE F418      BCC	0x0102
      FF 2422      CLR	R2
     100 9220 0064 STS	count,R2
     102 9019      LD	R1,Y+
     103 BE1F      OUT	0x3F,R1
     104 9199      LD	R25,Y+
     105 9189      LD	R24,Y+
     106 9029      LD	R2,Y+
     107 9019      LD	R1,Y+
     108 9518      RETI
_key_check:
     109 940E 0242 CALL	push_xgsetF000
     10B 2744      CLR	R20
     10C 2F60      MOV	R22,R16
     10D 2777      CLR	R23
     10E 3569      CPI	R22,0x59
     10F E0E0      LDI	R30,0
     110 077E      CPC	R23,R30
     111 F109      BEQ	0x0133
     112 E589      LDI	R24,0x59
     113 E090      LDI	R25,0
     114 1786      CP	R24,R22
     115 0797      CPC	R25,R23
     116 F02C      BLT	0x011C
     117 3162      CPI	R22,0x12
     118 E0E0      LDI	R30,0
     119 077E      CPC	R23,R30
     11A F059      BEQ	0x0126
     11B C024      RJMP	0x0140
     11C 3F60      CPI	R22,0xF0
     11D E0E0      LDI	R30,0
     11E 077E      CPC	R23,R30
     11F F009      BEQ	0x0121
     120 C01F      RJMP	0x0140
     121 E081      LDI	R24,1
     122 9380 0062 STS	up,R24
     124 2700      CLR	R16
     125 C061      RJMP	0x0187
     126 9020 0062 LDS	R2,up
     128 2022      TST	R2
     129 F419      BNE	0x012D
     12A E061      LDI	R22,1
     12B E070      LDI	R23,0
     12C C002      RJMP	0x012F
     12D 2766      CLR	R22
     12E 2777      CLR	R23
     12F 9360 0061 STS	shift,R22
     131 2700      CLR	R16
     132 C054      RJMP	0x0187
     133 9020 0062 LDS	R2,up
     135 2022      TST	R2
     136 F419      BNE	0x013A
     137 E061      LDI	R22,1
     138 E070      LDI	R23,0
     139 C002      RJMP	0x013C
     13A 2766      CLR	R22
     13B 2777      CLR	R23
     13C 9360 0061 STS	shift,R22
     13E 2700      CLR	R16
     13F C047      RJMP	0x0187
     140 9020 0062 LDS	R2,up
     142 2022      TST	R2
     143 F009      BEQ	0x0145
     144 C03E      RJMP	0x0183
     145 9020 0061 LDS	R2,shift
     147 2022      TST	R2
     148 F4D9      BNE	0x0164
     149 2744      CLR	R20
     14A C016      RJMP	0x0161
     14B E685      LDI	R24,0x65
     14C E090      LDI	R25,0
     14D 2FE4      MOV	R30,R20
     14E 27FF      CLR	R31
     14F 0FEE      LSL	R30
     150 1FFF      ROL	R31
     151 0FE8      ADD	R30,R24
     152 1FF9      ADC	R31,R25
     153 8020      LDD	R2,Z+0
     154 1620      CP	R2,R16
     155 F451      BNE	0x0160
     156 E686      LDI	R24,0x66
     157 E090      LDI	R25,0
     158 2FE4      MOV	R30,R20
     159 27FF      CLR	R31
     15A 0FEE      LSL	R30
     15B 1FFF      ROL	R31
     15C 0FE8      ADD	R30,R24
     15D 1FF9      ADC	R31,R25
     15E 8100      LDD	R16,Z+0
     15F C027      RJMP	0x0187
     160 9543      INC	R20
     161 334C      CPI	R20,0x3C
     162 F340      BCS	0x014B
     163 C023      RJMP	0x0187
     164 9180 0061 LDS	R24,shift
     166 3081      CPI	R24,1
     167 F4F9      BNE	0x0187
     168 2744      CLR	R20
     169 C016      RJMP	0x0180
     16A ED8D      LDI	R24,0xDD
     16B E090      LDI	R25,0
     16C 2FE4      MOV	R30,R20
     16D 27FF      CLR	R31
     16E 0FEE      LSL	R30
     16F 1FFF      ROL	R31
     170 0FE8      ADD	R30,R24
     171 1FF9      ADC	R31,R25
     172 8020      LDD	R2,Z+0
     173 1620      CP	R2,R16
     174 F451      BNE	0x017F
     175 ED8E      LDI	R24,0xDE
     176 E090      LDI	R25,0
     177 2FE4      MOV	R30,R20
     178 27FF      CLR	R31
     179 0FEE      LSL	R30
     17A 1FFF      ROL	R31
     17B 0FE8      ADD	R30,R24
     17C 1FF9      ADC	R31,R25
     17D 8100      LDD	R16,Z+0
     17E C008      RJMP	0x0187
     17F 9543      INC	R20
     180 334B      CPI	R20,0x3B
     181 F340      BCS	0x016A
     182 C004      RJMP	0x0187
     183 2422      CLR	R2
     184 9220 0062 STS	up,R2
     186 2700      CLR	R16
     187 940C 0247 JMP	pop_xgsetF000
_main:
     189 9722      SBIW	R28,2
     18A 24AA      CLR	R10
     18B 2422      CLR	R2
     18C BE25      OUT	0x35,R2
     18D 9478      BSET	7
     18E 940E 01C7 CALL	_lcd_init
     190 B182      IN	R24,0x02
     191 7C8F      ANDI	R24,0xCF
     192 B982      OUT	0x02,R24
     193 E180      LDI	R24,0x10
     194 BF89      OUT	0x39,R24
     195 E082      LDI	R24,2
     196 BF8A      OUT	0x3A,R24
     197 940E 01DF CALL	_lcd_clear
     199 C00E      RJMP	0x01A8
     19A 9100 0060 LDS	R16,key
     19C DF6C      RCALL	_key_check
     19D 2EA0      MOV	R10,R16
     19E 2C2A      MOV	R2,R10
     19F 2433      CLR	R3
     1A0 8239      STD	Y+1,R3
     1A1 8228      STD	Y+0,R2
     1A2 2722      CLR	R18
     1A3 2733      CLR	R19
     1A4 2700      CLR	R16
     1A5 2711      CLR	R17
     1A6 940E 0229 CALL	_lcd_putss
     1A8 CFF1      RJMP	0x019A
     1A9 9622      ADIW	R28,2
     1AA 9508      RET
_delay:
     1AB 934A      ST	R20,-Y
     1AC E041      LDI	R20,1
     1AD C001      RJMP	0x01AF
     1AE 9543      INC	R20
     1AF 2E24      MOV	R2,R20
     1B0 2433      CLR	R3
     1B1 1620      CP	R2,R16
     1B2 0631      CPC	R3,R17
     1B3 F3D0      BCS	0x01AE
     1B4 9149      LD	R20,Y+
     1B5 9508      RET
_lcd_w:
     1B6 934A      ST	R20,-Y
     1B7 935A      ST	R21,-Y
     1B8 E040      LDI	R20,0
     1B9 E950      LDI	R21,0x90
     1BA 990F      SBIC	0x01,7
     1BB CFFE      RJMP	0x01BA
     1BC 9AC0      SBI	0x18,0
     1BD 01FA      MOVW	R30,R20
     1BE 8300      STD	Z+0,R16
     1BF 98C0      CBI	0x18,0
     1C0 9A1E      SBI	0x03,6
     1C1 9B0F      SBIS	0x01,7
     1C2 CFFE      RJMP	0x01C1
     1C3 981E      CBI	0x03,6
     1C4 9159      LD	R21,Y+
     1C5 9149      LD	R20,Y+
     1C6 9508      RET
_lcd_init:
     1C7 B785      IN	R24,0x35
     1C8 6880      ORI	R24,0x80
     1C9 BF85      OUT	0x35,R24
     1CA 9AB8      SBI	0x17,0
     1CB B388      IN	R24,0x18
     1CC 7F8E      ANDI	R24,0xFE
     1CD BB88      OUT	0x18,R24
     1CE E480      LDI	R24,0x40
     1CF B982      OUT	0x02,R24
     1D0 EF8F      LDI	R24,0xFF
     1D1 B983      OUT	0x03,R24
     1D2 98AB      CBI	0x15,3
     1D3 E00A      LDI	R16,0xA
     1D4 E010      LDI	R17,0
     1D5 DFD5      RCALL	_delay
     1D6 9AAB      SBI	0x15,3
     1D7 E00A      LDI	R16,0xA
     1D8 E010      LDI	R17,0
     1D9 DFD1      RCALL	_delay
     1DA 981E      CBI	0x03,6
     1DB E00A      LDI	R16,0xA
     1DC E010      LDI	R17,0
     1DD DFCD      RCALL	_delay
     1DE 9508      RET
_lcd_clear:
     1DF EF04      LDI	R16,0xF4
     1E0 DFD5      RCALL	_lcd_w
     1E1 9508      RET
_lcd_putsc:
     1E2 940E 024C CALL	push_xgsetF00C
     1E4 2EA2      MOV	R10,R18
     1E5 2F60      MOV	R22,R16
     1E6 814E      LDD	R20,Y+6
     1E7 815F      LDD	R21,Y+7
     1E8 5F6E      SUBI	R22,0xFE
     1E9 C018      RJMP	0x0202
     1EA EF00      LDI	R16,0xF0
     1EB DFCA      RCALL	_lcd_w
     1EC 2F06      MOV	R16,R22
     1ED DFC8      RCALL	_lcd_w
     1EE 2D0A      MOV	R16,R10
     1EF DFC6      RCALL	_lcd_w
     1F0 01FA      MOVW	R30,R20
     1F1 8100      LDD	R16,Z+0
     1F2 5A00      SUBI	R16,0xA0
     1F3 DFC2      RCALL	_lcd_w
     1F4 5F4F      SUBI	R20,0xFF
     1F5 4F5F      SBCI	R21,0xFF
     1F6 01FA      MOVW	R30,R20
     1F7 8100      LDD	R16,Z+0
     1F8 5A00      SUBI	R16,0xA0
     1F9 DFBC      RCALL	_lcd_w
     1FA 5F4F      SUBI	R20,0xFF
     1FB 4F5F      SBCI	R21,0xFF
     1FC 3069      CPI	R22,0x9
     1FD F018      BCS	0x0201
     1FE E062      LDI	R22,2
     1FF 94A3      INC	R10
     200 C001      RJMP	0x0202
     201 9563      INC	R22
     202 01FA      MOVW	R30,R20
     203 8020      LDD	R2,Z+0
     204 2022      TST	R2
     205 F721      BNE	0x01EA
     206 940C 0253 JMP	pop_xgsetF00C
_lcd_putse:
     208 940E 024C CALL	push_xgsetF00C
     20A 2EA2      MOV	R10,R18
     20B 2F40      MOV	R20,R16
     20C 816E      LDD	R22,Y+6
     20D 817F      LDD	R23,Y+7
     20E 5F4C      SUBI	R20,0xFC
     20F C013      RJMP	0x0223
     210 EF01      LDI	R16,0xF1
     211 DFA4      RCALL	_lcd_w
     212 2F04      MOV	R16,R20
     213 DFA2      RCALL	_lcd_w
     214 2D0A      MOV	R16,R10
     215 DFA0      RCALL	_lcd_w
     216 01FB      MOVW	R30,R22
     217 8100      LDD	R16,Z+0
     218 DF9D      RCALL	_lcd_w
     219 5F6F      SUBI	R22,0xFF
     21A 4F7F      SBCI	R23,0xFF
     21B 3143      CPI	R20,0x13
     21C F028      BCS	0x0222
     21D E044      LDI	R20,4
     21E 2D8A      MOV	R24,R10
     21F 5F88      SUBI	R24,0xF8
     220 2EA8      MOV	R10,R24
     221 C001      RJMP	0x0223
     222 9543      INC	R20
     223 01FB      MOVW	R30,R22
     224 8020      LDD	R2,Z+0
     225 2022      TST	R2
     226 F749      BNE	0x0210
     227 940C 0253 JMP	pop_xgsetF00C
_lcd_putss:
     229 940E 0238 CALL	push_xgset300C
     22B 2EA2      MOV	R10,R18
     22C 2F40      MOV	R20,R16
     22D 5F4C      SUBI	R20,0xFC
     22E EF01      LDI	R16,0xF1
     22F DF86      RCALL	_lcd_w
     230 2F04      MOV	R16,R20
     231 DF84      RCALL	_lcd_w
     232 2D0A      MOV	R16,R10
     233 DF82      RCALL	_lcd_w
     234 810C      LDD	R16,Y+4
     235 DF80      RCALL	_lcd_w
     236 940C 023D JMP	pop_xgset300C
push_xgset300C:
     238 935A      ST	R21,-Y
     239 934A      ST	R20,-Y
     23A 92BA      ST	R11,-Y
     23B 92AA      ST	R10,-Y
     23C 9508      RET
pop_xgset300C:
     23D 90A9      LD	R10,Y+
     23E 90B9      LD	R11,Y+
     23F 9149      LD	R20,Y+
     240 9159      LD	R21,Y+
     241 9508      RET
push_xgsetF000:
     242 937A      ST	R23,-Y
     243 936A      ST	R22,-Y
     244 935A      ST	R21,-Y
     245 934A      ST	R20,-Y
     246 9508      RET
pop_xgsetF000:
     247 9149      LD	R20,Y+
     248 9159      LD	R21,Y+
     249 9169      LD	R22,Y+
     24A 9179      LD	R23,Y+
     24B 9508      RET
push_xgsetF00C:
     24C 937A      ST	R23,-Y
     24D 936A      ST	R22,-Y
     24E 935A      ST	R21,-Y
     24F 934A      ST	R20,-Y
     250 92BA      ST	R11,-Y
     251 92AA      ST	R10,-Y
     252 9508      RET
pop_xgsetF00C:
     253 90A9      LD	R10,Y+
     254 90B9      LD	R11,Y+
     255 9149      LD	R20,Y+
     256 9159      LD	R21,Y+
     257 9169      LD	R22,Y+
     258 9179      LD	R23,Y+
     259 9508      RET

⌨️ 快捷键说明

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