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

📄 pc_8515.lst

📁 单片机开发资料光盘-双龙-686M.zip
💻 LST
📖 第 1 页 / 共 2 页
字号:
(0072) 		           }		           
(0073) 		 default:{
(0074) 		          if (shift==0)
    0158 90200071  LDS	R2,0x71
    015A 2022      TST	R2
    015B F009      BEQ	0x015D
    015C C01A      RJMP	0x0177
(0075) 					 {
(0076) 					 for(i = 0;unshifted[i][0]!=sc && unshifted[i][0]; i++);
    015D 2744      CLR	R20
    015E C001      RJMP	0x0160
    015F 9543      INC	R20
    0160 E18A      LDI	R24,0x1A
    0161 D0E0      RCALL	<created procedures>
    0162 2C20      MOV	R2,R0
    0163 2433      CLR	R3
    0164 2E46      MOV	R4,R22
    0165 2455      CLR	R5
    0166 1424      CP	R2,R4
    0167 0435      CPC	R3,R5
    0168 F021      BEQ	0x016D
    0169 2022      TST	R2
    016A F7A1      BNE	0x015F
    016B 2033      TST	R3
    016C F791      BNE	0x015F
(0077)                      if (unshifted[i][0] == sc)
    016D E18A      LDI	R24,0x1A
    016E D0D3      RCALL	<created procedures>
    016F 1606      CP	R0,R22
    0170 F009      BEQ	0x0172
    0171 C01D      RJMP	0x018F
(0078) 						  put_kbbuff(unshifted[i][1]);	 
    0172 E18B      LDI	R24,0x1B
    0173 D0CE      RCALL	<created procedures>
    0174 2D00      MOV	R16,R0
    0175 DF6B      RCALL	_put_kbbuff
(0079) 					 }
    0176 C018      RJMP	0x018F
(0080) 				  else
(0081) 				     {
(0082) 					 for(i = 0;shifted[i][0]!=sc && shifted[i][0]; i++);
    0177 2744      CLR	R20
    0178 C001      RJMP	0x017A
    0179 9543      INC	R20
    017A EA82      LDI	R24,0xA2
    017B D0C6      RCALL	<created procedures>
    017C 2C20      MOV	R2,R0
    017D 2433      CLR	R3
    017E 2E46      MOV	R4,R22
    017F 2455      CLR	R5
    0180 1424      CP	R2,R4
    0181 0435      CPC	R3,R5
    0182 F021      BEQ	0x0187
    0183 2022      TST	R2
    0184 F7A1      BNE	0x0179
    0185 2033      TST	R3
    0186 F791      BNE	0x0179
(0083)                      if (shifted[i][0] == sc)
    0187 EA82      LDI	R24,0xA2
    0188 D0B9      RCALL	<created procedures>
    0189 1606      CP	R0,R22
    018A F421      BNE	0x018F
(0084)                          {
(0085) 						  put_kbbuff(shifted[i][1]);						  
    018B EA83      LDI	R24,0xA3
    018C D0B5      RCALL	<created procedures>
    018D 2D00      MOV	R16,R0
    018E DF52      RCALL	_put_kbbuff
(0086) 						 }	 	 						 
(0087) 					 } 
(0088) 		         }		         
(0089) 		} 	
(0090)     }
    018F D086      RCALL	pop_gset3
    0190 9508      RET
_int0_isr:
    0191 D039      RCALL	push_lset
    0192 D066      RCALL	push_gset1
(0091) //键盘数据读取程序	
(0092) #pragma interrupt_handler int0_isr:2
(0093) void int0_isr(void)
(0094)    {
(0095)     static unsigned char data;   	
(0096)     switch (bitcount)
    0193 914000B5  LDS	R20,_bitcount
    0195 2755      CLR	R21
    0196 3041      CPI	R20,1
    0197 E0E0      LDI	R30,0
    0198 075E      CPC	R21,R30
    0199 F0A1      BEQ	0x01AE
    019A 3042      CPI	R20,2
    019B E0E0      LDI	R30,0
    019C 075E      CPC	R21,R30
    019D F071      BEQ	0x01AC
    019E 3041      CPI	R20,1
    019F E0E0      LDI	R30,0
    01A0 075E      CPC	R21,R30
    01A1 F0D4      BLT	0x01BC
    01A2 304B      CPI	R20,0xB
    01A3 E0E0      LDI	R30,0
    01A4 075E      CPC	R21,R30
    01A5 F009      BEQ	0x01A7
    01A6 C015      RJMP	0x01BC
(0097) 	  {
(0098) 	   case 11:{
(0099) 	            if ((PIN_KB&(1<<DATAPIN))!=0)
    01A7 9B83      SBIS	P10,3
    01A8 C001      RJMP	0x01AA
(0100) 				     return;
    01A9 C01E      RJMP	0x01C8
(0101) 			    else		 
(0102) 	   			    bitcount--;
    01AA D0A2      RCALL	0x024D
(0103) 	    		break;}
    01AB C01C      RJMP	0x01C8
(0104) 	   case 2:{
(0105) 	   			bitcount--;	   		   
    01AC D0A0      RCALL	0x024D
(0106) 			    break;}
    01AD C01A      RJMP	0x01C8
(0107) 	   case 1:{
(0108) 	   			bitcount--;	 
    01AE D09E      RCALL	0x024D
(0109) 				if ((PIN_KB&(1<<DATAPIN))==0)
    01AF 9983      SBIC	P10,3
    01B0 C004      RJMP	0x01B5
(0110) 				    {
(0111) 					 bitcount=11;
    01B1 E08B      LDI	R24,0xB
    01B2 938000B5  STS	R24,_bitcount
(0112) 					 return;
    01B4 C013      RJMP	0x01C8
(0113) 					}
(0114) 				else
(0115) 				   {
(0116) 				    bitcount=11;
    01B5 E08B      LDI	R24,0xB
    01B6 938000B5  STS	R24,_bitcount
(0117) 		            decode(data);
    01B8 91000074  LDS	R16,0x74
    01BA DF60      RCALL	_decode
(0118) 				   }	  
(0119) 	   	        break;}
    01BB C00C      RJMP	0x01C8
(0120) 	   default:{
(0121) 	   	        data = (data >> 1);
    01BC 90200074  LDS	R2,0x74
    01BE 9426      LSR	R2
    01BF 92200074  STS	R2,0x74
(0122)                 if((PIN_KB&(1<<DATAPIN))!=0)
    01C1 9B83      SBIS	P10,3
    01C2 C004      RJMP	0x01C7
(0123)                     data|=0x80;
    01C3 2D82      MOV	R24,R2
    01C4 6880      ORI	R24,0x80
    01C5 93800074  STS	R24,0x74
(0124) 				bitcount--;
    01C7 D085      RCALL	0x024D
(0125) 	            }		
(0126) 	  }		 		 	  	
(0127)     } 
FILE: <library>
    01C8 D033      RCALL	pop_gset1
    01C9 D018      RCALL	pop_lset
    01CA 9518      RETI
push_lset:
    01CB 93FA      ST	R31,-Y
    01CC 93EA      ST	R30,-Y
    01CD 93BA      ST	R27,-Y
    01CE 93AA      ST	R26,-Y
    01CF 939A      ST	R25,-Y
    01D0 938A      ST	R24,-Y
    01D1 933A      ST	R19,-Y
    01D2 932A      ST	R18,-Y
    01D3 931A      ST	R17,-Y
    01D4 930A      ST	R16,-Y
    01D5 929A      ST	R9,-Y
    01D6 928A      ST	R8,-Y
    01D7 927A      ST	R7,-Y
    01D8 926A      ST	R6,-Y
    01D9 925A      ST	R5,-Y
    01DA 924A      ST	R4,-Y
    01DB 923A      ST	R3,-Y
    01DC 922A      ST	R2,-Y
    01DD 921A      ST	R1,-Y
    01DE 920A      ST	R0,-Y
    01DF B60F      IN	R0,P3F
    01E0 920A      ST	R0,-Y
    01E1 9508      RET
pop_lset:
    01E2 9009      LD	R0,Y+
    01E3 BE0F      OUT	P3F,R0
    01E4 9009      LD	R0,Y+
    01E5 9019      LD	R1,Y+
    01E6 9029      LD	R2,Y+
    01E7 9039      LD	R3,Y+
    01E8 9049      LD	R4,Y+
    01E9 9059      LD	R5,Y+
    01EA 9069      LD	R6,Y+
    01EB 9079      LD	R7,Y+
    01EC 9089      LD	R8,Y+
    01ED 9099      LD	R9,Y+
    01EE 9109      LD	R16,Y+
    01EF 9119      LD	R17,Y+
    01F0 9129      LD	R18,Y+
    01F1 9139      LD	R19,Y+
    01F2 9189      LD	R24,Y+
    01F3 9199      LD	R25,Y+
    01F4 91A9      LD	R26,Y+
    01F5 91B9      LD	R27,Y+
    01F6 91E9      LD	R30,Y+
    01F7 91F9      LD	R31,Y+
    01F8 9508      RET
push_gset1:
    01F9 935A      ST	R21,-Y
    01FA 934A      ST	R20,-Y
    01FB 9508      RET
pop_gset1:
    01FC E0E1      LDI	R30,1
pop:
    01FD 9149      LD	R20,Y+
    01FE 9159      LD	R21,Y+
    01FF FDE0      SBRC	R30,0
    0200 9508      RET
    0201 9169      LD	R22,Y+
    0202 9179      LD	R23,Y+
    0203 FDE1      SBRC	R30,1
    0204 9508      RET
    0205 90A9      LD	R10,Y+
    0206 90B9      LD	R11,Y+
    0207 FDE2      SBRC	R30,2
    0208 9508      RET
    0209 90C9      LD	R12,Y+
    020A 90D9      LD	R13,Y+
    020B FDE3      SBRC	R30,3
    020C 9508      RET
    020D 90E9      LD	R14,Y+
    020E 90F9      LD	R15,Y+
    020F 9508      RET
push_gset2:
    0210 937A      ST	R23,-Y
    0211 936A      ST	R22,-Y
    0212 CFE6      RJMP	push_gset1
push_gset3:
    0213 92BA      ST	R11,-Y
    0214 92AA      ST	R10,-Y
    0215 CFFA      RJMP	push_gset2
pop_gset3:
    0216 E0E4      LDI	R30,4
    0217 CFE5      RJMP	pop
_putchar:
    0218 DFE0      RCALL	push_gset1
    0219 2F40      MOV	R20,R16
    021A 903000B7  LDS	R3,__textmode+1
    021C 902000B6  LDS	R2,__textmode
    021E 2022      TST	R2
    021F F411      BNE	0x0222
    0220 2033      TST	R3
    0221 F021      BEQ	0x0226
    0222 304A      CPI	R20,0xA
    0223 F411      BNE	0x0226
    0224 E00D      LDI	R16,0xD
    0225 DFF2      RCALL	_putchar
    0226 9B5D      SBIS	P0B,5
    0227 CFFE      RJMP	0x0226
    0228 B94C      OUT	P0C,R20
    0229 2F04      MOV	R16,R20
    022A 2711      CLR	R17
    022B DFD0      RCALL	pop_gset1
    022C 9508      RET
_puts:
    022D DFCB      RCALL	push_gset1
    022E 2F40      MOV	R20,R16
    022F 2F51      MOV	R21,R17
    0230 C006      RJMP	0x0237
    0231 2FE4      MOV	R30,R20
    0232 2FF5      MOV	R31,R21
    0233 8100      LDD	R16,0+Z
    0234 DFE3      RCALL	_putchar
    0235 5F4F      SUBI	R20,0xFF
    0236 4F5F      SBCI	R21,0xFF
    0237 2FE4      MOV	R30,R20
    0238 2FF5      MOV	R31,R21
    0239 8020      LDD	R2,0+Z
    023A 2022      TST	R2
    023B F7A9      BNE	0x0231
    023C E00A      LDI	R16,0xA
    023D DFDA      RCALL	_putchar
    023E E001      LDI	R16,1
    023F E010      LDI	R17,0
    0240 DFBB      RCALL	pop_gset1
    0241 9508      RET
<created procedures>:
    0242 E090      LDI	R25,0
    0243 2E24      MOV	R2,R20
    0244 2433      CLR	R3
    0245 0C22      LSL	R2
    0246 1C33      ROL	R3
    0247 0E28      ADD	R2,R24
    0248 1E39      ADC	R3,R25
    0249 2DE2      MOV	R30,R2
    024A 2DF3      MOV	R31,R3
    024B 95C8      LPM
    024C 9508      RET
    024D 918000B5  LDS	R24,_bitcount
    024F 5081      SUBI	R24,1
    0250 938000B5  STS	R24,_bitcount
    0252 9508      RET
    0253 E081      LDI	R24,1
    0254 93800071  STS	R24,0x71
    0256 93800073  STS	R24,0x73
    0258 9508      RET

⌨️ 快捷键说明

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