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

📄 ps2_kb.lst

📁 单片机开发资料光盘-双龙-686M.zip
💻 LST
📖 第 1 页 / 共 2 页
字号:
(0063) 		   up=0;
    0195 2422      CLR	R2
    0196 922000C0  STS	0xC0,R2
(0064) 		   if ((sc==0x12)|(sc==0x59)) shift=0;
    0198 3162      CPI	R22,0x12
    0199 F421      BNE	0x019E
    019A E081      LDI	R24,1
    019B E090      LDI	R25,0
    019C 015C      MOVW	R10,R24
    019D C002      RJMP	0x01A0
    019E 24AA      CLR	R10
    019F 24BB      CLR	R11
    01A0 3569      CPI	R22,0x59
    01A1 F419      BNE	0x01A5
    01A2 E041      LDI	R20,1
    01A3 E050      LDI	R21,0
    01A4 C002      RJMP	0x01A7
    01A5 2744      CLR	R20
    01A6 2755      CLR	R21
    01A7 0115      MOVW	R2,R10
    01A8 2A24      OR	R2,R20
    01A9 2A35      OR	R3,R21
    01AA 2022      TST	R2
    01AB F419      BNE	0x01AF
    01AC 2033      TST	R3
    01AD F409      BNE	0x01AF
    01AE C069      RJMP	0x0218
    01AF 2422      CLR	R2
    01B0 922000BF  STS	0xBF,R2
(0065) 		   return;
    01B2 C065      RJMP	0x0218
(0066) 		  }	 
(0067) 	  switch (sc)
    01B3 2F46      MOV	R20,R22
    01B4 2755      CLR	R21
    01B5 3142      CPI	R20,0x12
    01B6 E0E0      LDI	R30,0
    01B7 075E      CPC	R21,R30
    01B8 F049      BEQ	0x01C2
    01B9 3142      CPI	R20,0x12
    01BA E0E0      LDI	R30,0
    01BB 075E      CPC	R21,R30
    01BC F07C      BLT	0x01CC
    01BD 3549      CPI	R20,0x59
    01BE E0E0      LDI	R30,0
    01BF 075E      CPC	R21,R30
    01C0 F031      BEQ	0x01C7
    01C1 C00A      RJMP	0x01CC
(0068) 	    {
(0069) 		 case 0x12:{
(0070) 					shift=1;		
    01C2 E081      LDI	R24,1
    01C3 938000BF  STS	0xBF,R24
(0071) 					shiftup=1;
    01C5 938000C1  STS	0xC1,R24
(0072) 		           }		           
(0073) 		 case 0x59:{
(0074) 				    shift=1;	
    01C7 E081      LDI	R24,1
    01C8 938000BF  STS	0xBF,R24
(0075) 					shiftup=1;
    01CA 938000C1  STS	0xC1,R24
(0076) 		           }		           
(0077) 		 default:{
(0078) 		          if (shift==0)
    01CC 902000BF  LDS	R2,0xBF
    01CE 2022      TST	R2
    01CF F529      BNE	0x01F5
(0079) 					 {
(0080) 					 for(i = 0;unshifted[i][0]!=sc && unshifted[i][0]; i++);
    01D0 2744      CLR	R20
    01D1 C001      RJMP	0x01D3
    01D2 9543      INC	R20
    01D3 E082      LDI	R24,2
    01D4 9F84      MUL	R24,R20
    01D5 01F0      MOVW	R30,R0
    01D6 E286      LDI	R24,0x26
    01D7 E090      LDI	R25,0
    01D8 0FE8      ADD	R30,R24
    01D9 1FF9      ADC	R31,R25
    01DA 9024      LPM	R2,0(Z)
    01DB 2433      CLR	R3
    01DC 1626      CP	R2,R22
    01DD F011      BEQ	0x01E0
    01DE 2022      TST	R2
    01DF F791      BNE	0x01D2
(0081)                      if (unshifted[i][0] == sc)
    01E0 E082      LDI	R24,2
    01E1 9F84      MUL	R24,R20
    01E2 01F0      MOVW	R30,R0
    01E3 E286      LDI	R24,0x26
    01E4 E090      LDI	R25,0
    01E5 0FE8      ADD	R30,R24
    01E6 1FF9      ADC	R31,R25
    01E7 91E4      LPM	R30,0(Z)
    01E8 17E6      CP	R30,R22
    01E9 F009      BEQ	0x01EB
    01EA C02D      RJMP	0x0218
(0082) 						  put_kbbuff(unshifted[i][1]);	 
    01EB E082      LDI	R24,2
    01EC 9F84      MUL	R24,R20
    01ED 01F0      MOVW	R30,R0
    01EE E287      LDI	R24,0x27
    01EF E090      LDI	R25,0
    01F0 0FE8      ADD	R30,R24
    01F1 1FF9      ADC	R31,R25
    01F2 9104      LPM	R16,0(Z)
    01F3 DF56      RCALL	_put_kbbuff
(0083) 					 }
    01F4 C023      RJMP	0x0218
(0084) 				  else
(0085) 				     {
(0086) 					 for(i = 0;shifted[i][0]!=sc && shifted[i][0]; i++);
    01F5 2744      CLR	R20
    01F6 C001      RJMP	0x01F8
    01F7 9543      INC	R20
    01F8 E082      LDI	R24,2
    01F9 9F84      MUL	R24,R20
    01FA 01F0      MOVW	R30,R0
    01FB EA8E      LDI	R24,0xAE
    01FC E090      LDI	R25,0
    01FD 0FE8      ADD	R30,R24
    01FE 1FF9      ADC	R31,R25
    01FF 9024      LPM	R2,0(Z)
    0200 2433      CLR	R3
    0201 1626      CP	R2,R22
    0202 F011      BEQ	0x0205
    0203 2022      TST	R2
    0204 F791      BNE	0x01F7
(0087)                      if (shifted[i][0] == sc)
    0205 E082      LDI	R24,2
    0206 9F84      MUL	R24,R20
    0207 01F0      MOVW	R30,R0
    0208 EA8E      LDI	R24,0xAE
    0209 E090      LDI	R25,0
    020A 0FE8      ADD	R30,R24
    020B 1FF9      ADC	R31,R25
    020C 91E4      LPM	R30,0(Z)
    020D 17E6      CP	R30,R22
    020E F449      BNE	0x0218
(0088)                          {
(0089) 						  put_kbbuff(shifted[i][1]);						  
    020F E082      LDI	R24,2
    0210 9F84      MUL	R24,R20
    0211 01F0      MOVW	R30,R0
    0212 EA8F      LDI	R24,0xAF
    0213 E090      LDI	R25,0
    0214 0FE8      ADD	R30,R24
    0215 1FF9      ADC	R31,R25
    0216 9104      LPM	R16,0(Z)
    0217 DF32      RCALL	_put_kbbuff
(0090) 						 }	 	 						 
(0091) 					 } 
(0092) 		         }		         
(0093) 		} 		
(0094)     }
    0218 D050      RCALL	pop_gset3
    0219 9508      RET
_int1_isr:
    021A D06D      RCALL	push_lset
    021B D04F      RCALL	push_gset1
(0095) #pragma interrupt_handler int1_isr:iv_INT1
(0096) void int1_isr(void)
(0097)    {
(0098)     static unsigned char data;   	
(0099)     switch (bitcount)
    021C 91400103  LDS	R20,_bitcount
    021E 2755      CLR	R21
    021F 3041      CPI	R20,1
    0220 E0E0      LDI	R30,0
    0221 075E      CPC	R21,R30
    0222 F0E1      BEQ	0x023F
    0223 3042      CPI	R20,2
    0224 E0E0      LDI	R30,0
    0225 075E      CPC	R21,R30
    0226 F091      BEQ	0x0239
    0227 3041      CPI	R20,1
    0228 E0E0      LDI	R30,0
    0229 075E      CPC	R21,R30
    022A F134      BLT	0x0251
    022B 304B      CPI	R20,0xB
    022C E0E0      LDI	R30,0
    022D 075E      CPC	R21,R30
    022E F009      BEQ	0x0230
    022F C021      RJMP	0x0251
(0100) 	  {
(0101) 	   case 11:{
(0102) 	            if ((PIN_KB&(1<<DATAPIN))!=0)
    0230 9B82      SBIS	0x10,2
    0231 C001      RJMP	0x0233
(0103) 				     return;
    0232 C02E      RJMP	0x0261
(0104) 			    else		 
(0105) 	   			    bitcount--;
    0233 91800103  LDS	R24,_bitcount
    0235 5081      SUBI	R24,1
    0236 93800103  STS	_bitcount,R24
(0106) 	    		break;}
    0238 C028      RJMP	0x0261
(0107) 	   case 2:{
(0108) 	   			bitcount--;	   		   
    0239 91800103  LDS	R24,_bitcount
    023B 5081      SUBI	R24,1
    023C 93800103  STS	_bitcount,R24
(0109) 			    break;}
    023E C022      RJMP	0x0261
(0110) 	   case 1:{
(0111) 	   			bitcount--;	 
    023F 91800103  LDS	R24,_bitcount
    0241 5081      SUBI	R24,1
    0242 93800103  STS	_bitcount,R24
(0112) 				if ((PIN_KB&(1<<DATAPIN))==0)
    0244 9982      SBIC	0x10,2
    0245 C004      RJMP	0x024A
(0113) 				    {
(0114) 					 bitcount=11;
    0246 E08B      LDI	R24,0xB
    0247 93800103  STS	_bitcount,R24
(0115) 					 return;
    0249 C017      RJMP	0x0261
(0116) 					}
(0117) 				else
(0118) 				   {
(0119) 				    bitcount=11;
    024A E08B      LDI	R24,0xB
    024B 93800103  STS	_bitcount,R24
(0120) 		            decode(data);
    024D 910000C2  LDS	R16,0xC2
    024F DF39      RCALL	_decode
(0121) 				   }	  
(0122) 	   	        break;}
    0250 C010      RJMP	0x0261
(0123) 	   default:{
(0124) 	   	        data = (data >> 1);
    0251 902000C2  LDS	R2,0xC2
    0253 9426      LSR	R2
    0254 922000C2  STS	0xC2,R2
(0125)                 if((PIN_KB&(1<<DATAPIN))!=0)
    0256 9B82      SBIS	0x10,2
    0257 C004      RJMP	0x025C
(0126)                     data|=0x80;
    0258 2D82      MOV	R24,R2
    0259 6880      ORI	R24,0x80
    025A 938000C2  STS	0xC2,R24
(0127) 				bitcount--;
    025C 91800103  LDS	R24,_bitcount
    025E 5081      SUBI	R24,1
    025F 93800103  STS	_bitcount,R24
(0128) 	            }		
(0129) 	  }		 		 	  	
(0130)     } 
    0261 D00C      RCALL	pop_gset1
    0262 D03C      RCALL	pop_lset
    0263 9518      RETI
FILE: E:\icc\iccavr\mega8\mega8\uart\read_flash.s
(0001) ;unsigned char read_flash(unsigned int add);
(0002) _read_flash::
(0003)         mov r31,r17
_read_flash:
    0264 2FF1      MOV	R31,R17
(0004) 		mov r30,r16 
    0265 2FE0      MOV	R30,R16
(0005) 		lpm r16,z 
    0266 9104      LPM	R16,0(Z)
(0006) 		clr r17
    0267 2711      CLR	R17
(0007) 		ret	
FILE: <library>
    0268 9508      RET
pop_gset3:
    0269 E0E4      LDI	R30,4
    026A C004      RJMP	pop
push_gset1:
    026B 935A      ST	R21,-Y
    026C 934A      ST	R20,-Y
    026D 9508      RET
pop_gset1:
    026E E0E1      LDI	R30,1
pop:
    026F 9149      LD	R20,Y+
    0270 9159      LD	R21,Y+
    0271 FDE0      SBRC	R30,0
    0272 9508      RET
    0273 9169      LD	R22,Y+
    0274 9179      LD	R23,Y+
    0275 FDE1      SBRC	R30,1
    0276 9508      RET
    0277 90A9      LD	R10,Y+
    0278 90B9      LD	R11,Y+
    0279 FDE2      SBRC	R30,2
    027A 9508      RET
    027B 90C9      LD	R12,Y+
    027C 90D9      LD	R13,Y+
    027D FDE3      SBRC	R30,3
    027E 9508      RET
    027F 90E9      LD	R14,Y+
    0280 90F9      LD	R15,Y+
    0281 9508      RET
push_gset2:
    0282 937A      ST	R23,-Y
    0283 936A      ST	R22,-Y
    0284 CFE6      RJMP	push_gset1
push_gset3:
    0285 92BA      ST	R11,-Y
    0286 92AA      ST	R10,-Y
    0287 CFFA      RJMP	push_gset2
push_lset:
    0288 93FA      ST	R31,-Y
    0289 93EA      ST	R30,-Y
    028A 93BA      ST	R27,-Y
    028B 93AA      ST	R26,-Y
    028C 939A      ST	R25,-Y
    028D 938A      ST	R24,-Y
    028E 933A      ST	R19,-Y
    028F 932A      ST	R18,-Y
    0290 931A      ST	R17,-Y
    0291 930A      ST	R16,-Y
    0292 929A      ST	R9,-Y
    0293 928A      ST	R8,-Y
    0294 927A      ST	R7,-Y
    0295 926A      ST	R6,-Y
    0296 925A      ST	R5,-Y
    0297 924A      ST	R4,-Y
    0298 923A      ST	R3,-Y
    0299 922A      ST	R2,-Y
    029A 921A      ST	R1,-Y
    029B 920A      ST	R0,-Y
    029C B60F      IN	R0,0x3F
    029D 920A      ST	R0,-Y
    029E 9508      RET
pop_lset:
    029F 9009      LD	R0,Y+
    02A0 BE0F      OUT	0x3F,R0
    02A1 9009      LD	R0,Y+
    02A2 9019      LD	R1,Y+
    02A3 9029      LD	R2,Y+
    02A4 9039      LD	R3,Y+
    02A5 9049      LD	R4,Y+
    02A6 9059      LD	R5,Y+
    02A7 9069      LD	R6,Y+
    02A8 9079      LD	R7,Y+
    02A9 9089      LD	R8,Y+
    02AA 9099      LD	R9,Y+
    02AB 9109      LD	R16,Y+
    02AC 9119      LD	R17,Y+
    02AD 9129      LD	R18,Y+
    02AE 9139      LD	R19,Y+
    02AF 9189      LD	R24,Y+
    02B0 9199      LD	R25,Y+
    02B1 91A9      LD	R26,Y+
    02B2 91B9      LD	R27,Y+
    02B3 91E9      LD	R30,Y+
    02B4 91F9      LD	R31,Y+
    02B5 9508      RET

⌨️ 快捷键说明

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