📄 linkkey.lst
字号:
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 + -