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

📄 linkkey.lst

📁 ATmega16应用例子
💻 LST
📖 第 1 页 / 共 3 页
字号:
    0165 F411      BNE	0x0168
(0127) 		LED_PORT=0x18;
    0166 E188      LDI	R24,0x18
    0167 BB88      OUT	0x18,R24
(0128) 	if(KEY_PIN==0xAF)	
    0168 B389      IN	R24,0x19
    0169 3A8F      CPI	R24,0xAF
    016A F411      BNE	0x016D
(0129) 		LED_PORT=0x19;
    016B E189      LDI	R24,0x19
    016C BB88      OUT	0x18,R24
(0130) 	if(KEY_PIN==0x6F)	
    016D B389      IN	R24,0x19
    016E 368F      CPI	R24,0x6F
    016F F411      BNE	0x0172
(0131) 		LED_PORT=0x1A;
    0170 E18A      LDI	R24,0x1A
    0171 BB88      OUT	0x18,R24
(0132) 
(0133) 	KEY_DDR = 0X20;
    0172 E280      LDI	R24,0x20
    0173 BB8A      OUT	0x1A,R24
(0134) 	KEY_PORT = 0xDF;
    0174 ED8F      LDI	R24,0xDF
    0175 BB8B      OUT	0x1B,R24
(0135) 	delay50us(1);	
    0176 E001      LDI	R16,1
    0177 E010      LDI	R17,0
    0178 DF31      RCALL	_delay50us
(0136) 	if(KEY_PIN==0x9F)	
    0179 B389      IN	R24,0x19
    017A 398F      CPI	R24,0x9F
    017B F411      BNE	0x017E
(0137) 		LED_PORT=0x1B;
    017C E18B      LDI	R24,0x1B
    017D BB88      OUT	0x18,R24
(0138) 	if(KEY_PIN==0x5F)	
    017E B389      IN	R24,0x19
    017F 358F      CPI	R24,0x5F
    0180 F411      BNE	0x0183
(0139) 		LED_PORT=0x1C;
    0181 E18C      LDI	R24,0x1C
    0182 BB88      OUT	0x18,R24
(0140) 
(0141) 	KEY_DDR = 0X40;
    0183 E480      LDI	R24,0x40
    0184 BB8A      OUT	0x1A,R24
(0142) 	KEY_PORT = 0xBF;
    0185 EB8F      LDI	R24,0xBF
    0186 BB8B      OUT	0x1B,R24
(0143) 	delay50us(1);	
    0187 E001      LDI	R16,1
    0188 E010      LDI	R17,0
    0189 DF20      RCALL	_delay50us
(0144) 	if(KEY_PIN==0x3F)	
    018A B389      IN	R24,0x19
    018B 338F      CPI	R24,0x3F
    018C F411      BNE	0x018F
(0145) 		LED_PORT=0x1D;
    018D E18D      LDI	R24,0x1D
    018E BB88      OUT	0x18,R24
(0146) }
    018F 9508      RET
(0147) /*--------------------------------------------------------------------
(0148) 函数名称:
(0149) 函数功能:
(0150) 注意事项:
(0151) 提示说明:
(0152) 输    入:
(0153) 返    回:
(0154) --------------------------------------------------------------------*/
(0155) void main()
(0156) {
(0157) 	LED_DDR = 0XFF;
_main:
    0190 EF8F      LDI	R24,0xFF
    0191 BB87      OUT	0x17,R24
    0192 C001      RJMP	0x0194
(0158) 	while(1)
(0159) 		scanKey();
    0193 DF3E      RCALL	_scanKey
    0194 CFFE      RJMP	0x0193
(0160) }
FILE: <library>
    0195 9508      RET
push_arg4:
    0196 933A      ST	R19,-Y
    0197 932A      ST	R18,-Y
push_arg2:
    0198 931A      ST	R17,-Y
    0199 930A      ST	R16,-Y
    019A 9508      RET
div32u:
    019B 94E8      BCLR	6
    019C C001      RJMP	0x019E
mod32u:
    019D 9468      BSET	6
    019E D02F      RCALL	long_div_prolog
    019F 24CC      CLR	R12
    01A0 C008      RJMP	0x01A9
div32s:
    01A1 94E8      BCLR	6
    01A2 C001      RJMP	0x01A4
mod32s:
    01A3 9468      BSET	6
    01A4 D029      RCALL	long_div_prolog
    01A5 FD37      SBRC	R19,7
    01A6 D053      RCALL	neg_R16_R19
    01A7 FDB7      SBRC	R27,7
    01A8 D05A      RCALL	neg_R24_R27
    01A9 2477      CLR	R7
    01AA 2488      CLR	R8
    01AB 2499      CLR	R9
    01AC 24AA      CLR	R10
    01AD 24BB      CLR	R11
    01AE D041      RCALL	tst_R16_R19
    01AF F0C1      BEQ	0x01C8
    01B0 D044      RCALL	tst_R24_R27
    01B1 F0B1      BEQ	0x01C8
    01B2 E2E8      LDI	R30,0x28
    01B3 0F00      LSL	R16
    01B4 1F11      ROL	R17
    01B5 1F22      ROL	R18
    01B6 1F33      ROL	R19
    01B7 1C77      ROL	R7
    01B8 1C88      ROL	R8
    01B9 1C99      ROL	R9
    01BA 1CAA      ROL	R10
    01BB 1CBB      ROL	R11
    01BC 1688      CP	R8,R24
    01BD 0699      CPC	R9,R25
    01BE 06AA      CPC	R10,R26
    01BF 06BB      CPC	R11,R27
    01C0 F028      BCS	0x01C6
    01C1 1A88      SUB	R8,R24
    01C2 0A99      SBC	R9,R25
    01C3 0AAA      SBC	R10,R26
    01C4 0ABB      SBC	R11,R27
    01C5 9503      INC	R16
    01C6 95EA      DEC	R30
    01C7 F759      BNE	0x01B3
    01C8 F426      BRTC	0x01CD
    01C9 2D08      MOV	R16,R8
    01CA 2D19      MOV	R17,R9
    01CB 2D2A      MOV	R18,R10
    01CC 2D3B      MOV	R19,R11
    01CD C013      RJMP	long_div_epilog
long_div_prolog:
    01CE 927A      ST	R7,-Y
    01CF 928A      ST	R8,-Y
    01D0 929A      ST	R9,-Y
    01D1 92AA      ST	R10,-Y
    01D2 92BA      ST	R11,-Y
    01D3 92CA      ST	R12,-Y
    01D4 93EA      ST	R30,-Y
    01D5 938A      ST	R24,-Y
    01D6 939A      ST	R25,-Y
    01D7 93AA      ST	R26,-Y
    01D8 93BA      ST	R27,-Y
    01D9 858B      LDD	R24,Y+11
    01DA 859C      LDD	R25,Y+12
    01DB 85AD      LDD	R26,Y+13
    01DC 85BE      LDD	R27,Y+14
    01DD 2EC3      MOV	R12,R19
    01DE F00E      BRTS	0x01E0
    01DF 26CB      EOR	R12,R27
    01E0 9508      RET
long_div_epilog:
    01E1 FCC7      SBRC	R12,7
    01E2 D017      RCALL	neg_R16_R19
    01E3 91B9      LD	R27,Y+
    01E4 91A9      LD	R26,Y+
    01E5 9199      LD	R25,Y+
    01E6 9189      LD	R24,Y+
    01E7 91E9      LD	R30,Y+
    01E8 90C9      LD	R12,Y+
    01E9 90B9      LD	R11,Y+
    01EA 90A9      LD	R10,Y+
    01EB 9099      LD	R9,Y+
    01EC 9089      LD	R8,Y+
    01ED 9079      LD	R7,Y+
    01EE 9624      ADIW	R28,4
    01EF 9508      RET
tst_R16_R19:
    01F0 2FE0      MOV	R30,R16
    01F1 2BE1      OR	R30,R17
    01F2 2BE2      OR	R30,R18
    01F3 2BE3      OR	R30,R19
    01F4 9508      RET
tst_R24_R27:
    01F5 2FE8      MOV	R30,R24
    01F6 2BE9      OR	R30,R25
    01F7 2BEA      OR	R30,R26
    01F8 2BEB      OR	R30,R27
    01F9 9508      RET
neg_R16_R19:
    01FA 9500      COM	R16
    01FB 9510      COM	R17
    01FC 9520      COM	R18
    01FD 9530      COM	R19
    01FE 5F0F      SUBI	R16,0xFF
    01FF 4F1F      SBCI	R17,0xFF
    0200 4F2F      SBCI	R18,0xFF
    0201 4F3F      SBCI	R19,0xFF
    0202 9508      RET
neg_R24_R27:
    0203 9580      COM	R24
    0204 9590      COM	R25
    0205 95A0      COM	R26
    0206 95B0      COM	R27
    0207 5F8F      SUBI	R24,0xFF
    0208 4F9F      SBCI	R25,0xFF
    0209 4FAF      SBCI	R26,0xFF
    020A 4FBF      SBCI	R27,0xFF
    020B 9508      RET
empy32s:
empy32u:
    020C 940E0262  CALL	long_prolog
    020E 927F      PUSH	R7
    020F 940E027B  CALL	tstzero1
    0211 F139      BEQ	0x0239
    0212 2477      CLR	R7
    0213 940E0281  CALL	tstzero2
    0215 F419      BNE	0x0219
    0216 018C      MOVW	R16,R24
    0217 019D      MOVW	R18,R26
    0218 C020      RJMP	0x0239
    0219 9F08      MUL	R16,R24
    021A 2CB0      MOV	R11,R0
    021B 2CA1      MOV	R10,R1
    021C 9F28      MUL	R18,R24
    021D 2C90      MOV	R9,R0
    021E 2C81      MOV	R8,R1
    021F 9F18      MUL	R17,R24
    0220 0CA0      ADD	R10,R0
    0221 1C91      ADC	R9,R1
    0222 1C87      ADC	R8,R7
    0223 9F09      MUL	R16,R25
    0224 0CA0      ADD	R10,R0
    0225 1C91      ADC	R9,R1
    0226 1C87      ADC	R8,R7
    0227 9F19      MUL	R17,R25
    0228 0C90      ADD	R9,R0
    0229 1C81      ADC	R8,R1
    022A 9F0A      MUL	R16,R26
    022B 0C90      ADD	R9,R0
    022C 1C81      ADC	R8,R1
    022D 9F38      MUL	R19,R24
    022E 0C80      ADD	R8,R0
    022F 9F29      MUL	R18,R25
    0230 0C80      ADD	R8,R0
    0231 9F1A      MUL	R17,R26
    0232 0C80      ADD	R8,R0
    0233 9F0B      MUL	R16,R27
    0234 0C80      ADD	R8,R0
    0235 2D0B      MOV	R16,R11
    0236 2D1A      MOV	R17,R10
    0237 2D29      MOV	R18,R9
    0238 2D38      MOV	R19,R8
    0239 907F      POP	R7
    023A 940C0270  JMP	long_epilog
pop_gset4:
    023C E0E8      LDI	R30,0x8
    023D 940C0243  JMP	pop
push_gset1:
    023F 935A      ST	R21,-Y
    0240 934A      ST	R20,-Y
    0241 9508      RET
pop_gset1:
    0242 E0E1      LDI	R30,1
pop:
    0243 9149      LD	R20,Y+
    0244 9159      LD	R21,Y+
    0245 FDE0      SBRC	R30,0
    0246 9508      RET
    0247 9169      LD	R22,Y+
    0248 9179      LD	R23,Y+
    0249 FDE1      SBRC	R30,1
    024A 9508      RET
    024B 90A9      LD	R10,Y+
    024C 90B9      LD	R11,Y+
    024D FDE2      SBRC	R30,2
    024E 9508      RET
    024F 90C9      LD	R12,Y+
    0250 90D9      LD	R13,Y+
    0251 FDE3      SBRC	R30,3
    0252 9508      RET
    0253 90E9      LD	R14,Y+
    0254 90F9      LD	R15,Y+
    0255 9508      RET
push_gset2:
    0256 937A      ST	R23,-Y
    0257 936A      ST	R22,-Y
    0258 940C023F  JMP	push_gset1
push_gset3:
    025A 92BA      ST	R11,-Y
    025B 92AA      ST	R10,-Y
    025C 940C0256  JMP	push_gset2
push_gset4:
    025E 92DA      ST	R13,-Y
    025F 92CA      ST	R12,-Y
    0260 940C025A  JMP	push_gset3
long_prolog:
    0262 928A      ST	R8,-Y
    0263 929A      ST	R9,-Y
    0264 92AA      ST	R10,-Y
    0265 92BA      ST	R11,-Y
    0266 93EA      ST	R30,-Y
    0267 938A      ST	R24,-Y
    0268 939A      ST	R25,-Y
    0269 93AA      ST	R26,-Y
    026A 93BA      ST	R27,-Y
    026B 8589      LDD	R24,Y+9
    026C 859A      LDD	R25,Y+10
    026D 85AB      LDD	R26,Y+11
    026E 85BC      LDD	R27,Y+12
    026F 9508      RET
long_epilog:
    0270 91B9      LD	R27,Y+
    0271 91A9      LD	R26,Y+
    0272 9199      LD	R25,Y+
    0273 9189      LD	R24,Y+
    0274 91E9      LD	R30,Y+
    0275 90B9      LD	R11,Y+
    0276 90A9      LD	R10,Y+
    0277 9099      LD	R9,Y+
    0278 9089      LD	R8,Y+
    0279 9624      ADIW	R28,4
    027A 9508      RET
tstzero1:
    027B 27EE      CLR	R30
    027C 2BE0      OR	R30,R16
    027D 2BE1      OR	R30,R17
    027E 2BE2      OR	R30,R18
    027F 2BE3      OR	R30,R19
    0280 9508      RET
tstzero2:
    0281 27EE      CLR	R30
    0282 2BE8      OR	R30,R24
    0283 2BE9      OR	R30,R25
    0284 2BEA      OR	R30,R26
    0285 2BEB      OR	R30,R27
    0286 9508      RET

⌨️ 快捷键说明

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