📄 ad2disp.lst
字号:
(0030) {
(0031) ADMUX=0x40|ADChannel[AdP];
022C 91E00066 LDS R30,0x66
022E 27FF CLR R31
022F 0FE8 ADD R30,R24
0230 1FF9 ADC R31,R25
0231 91E4 LPM R30,0(Z)
0232 64E0 ORI R30,0x40
0233 B9E7 OUT 0x07,R30
(0032) ADCSR|=BIT(ADSC);
0234 9A36 SBI 0x06,6
(0033)
(0034)
(0035) }
0235 C006 RJMP 0x023C
(0036) else
(0037) {
(0038) AdP=0;
0236 2422 CLR R2
0237 92200066 STS 0x66,R2
(0039) AdFlag=1;
0239 E081 LDI R24,1
023A 93800067 STS 0x67,R24
(0040) }
(0041) }
023C 9009 LD R0,Y+
023D BE0F OUT 0x3F,R0
023E 91F9 LD R31,Y+
023F 91E9 LD R30,Y+
0240 9199 LD R25,Y+
0241 9189 LD R24,Y+
0242 9119 LD R17,Y+
0243 9109 LD R16,Y+
0244 9039 LD R3,Y+
0245 9029 LD R2,Y+
0246 9019 LD R1,Y+
0247 9009 LD R0,Y+
0248 9518 RETI
(0042) void adc_start(void)
(0043) {
(0044) ADMUX=0x40|ADChannel[AdP];
_adc_start:
0249 E584 LDI R24,0x54
024A E090 LDI R25,0
024B 91E00066 LDS R30,0x66
024D 27FF CLR R31
024E 0FE8 ADD R30,R24
024F 1FF9 ADC R31,R25
0250 91E4 LPM R30,0(Z)
0251 64E0 ORI R30,0x40
0252 B9E7 OUT 0x07,R30
(0045) ADCSR|=BIT(ADSC);
0253 9A36 SBI 0x06,6
(0046)
(0047) }
FILE: <library>
0254 9508 RET
mod16u:
0255 9468 BSET 6
0256 C001 RJMP xdiv16u
div16u:
0257 94E8 BCLR 6
xdiv16u:
0258 92EA ST R14,-Y
0259 92FA ST R15,-Y
025A 938A ST R24,-Y
025B 24EE CLR R14
025C 24FF CLR R15
025D E180 LDI R24,0x10
025E 0F00 LSL R16
025F 1F11 ROL R17
0260 1CEE ROL R14
0261 1CFF ROL R15
0262 16E2 CP R14,R18
0263 06F3 CPC R15,R19
0264 F018 BCS 0x0268
0265 1AE2 SUB R14,R18
0266 0AF3 SBC R15,R19
0267 9503 INC R16
0268 958A DEC R24
0269 F7A1 BNE 0x025E
026A F416 BRTC 0x026D
026B 2D0E MOV R16,R14
026C 2D1F MOV R17,R15
026D 9189 LD R24,Y+
026E 90F9 LD R15,Y+
026F 90E9 LD R14,Y+
0270 9508 RET
div32u:
0271 94E8 BCLR 6
0272 C001 RJMP 0x0274
mod32u:
0273 9468 BSET 6
0274 D02F RCALL long_div_prolog
0275 24CC CLR R12
0276 C008 RJMP 0x027F
div32s:
0277 94E8 BCLR 6
0278 C001 RJMP 0x027A
mod32s:
0279 9468 BSET 6
027A D029 RCALL long_div_prolog
027B FD37 SBRC R19,7
027C D053 RCALL neg_R16_R19
027D FDB7 SBRC R27,7
027E D05A RCALL neg_R24_R27
027F 2477 CLR R7
0280 2488 CLR R8
0281 2499 CLR R9
0282 24AA CLR R10
0283 24BB CLR R11
0284 D041 RCALL tst_R16_R19
0285 F0C1 BEQ 0x029E
0286 D044 RCALL tst_R24_R27
0287 F0B1 BEQ 0x029E
0288 E2E8 LDI R30,0x28
0289 0F00 LSL R16
028A 1F11 ROL R17
028B 1F22 ROL R18
028C 1F33 ROL R19
028D 1C77 ROL R7
028E 1C88 ROL R8
028F 1C99 ROL R9
0290 1CAA ROL R10
0291 1CBB ROL R11
0292 1688 CP R8,R24
0293 0699 CPC R9,R25
0294 06AA CPC R10,R26
0295 06BB CPC R11,R27
0296 F028 BCS 0x029C
0297 1A88 SUB R8,R24
0298 0A99 SBC R9,R25
0299 0AAA SBC R10,R26
029A 0ABB SBC R11,R27
029B 9503 INC R16
029C 95EA DEC R30
029D F759 BNE 0x0289
029E F426 BRTC 0x02A3
029F 2D08 MOV R16,R8
02A0 2D19 MOV R17,R9
02A1 2D2A MOV R18,R10
02A2 2D3B MOV R19,R11
02A3 C013 RJMP long_div_epilog
long_div_prolog:
02A4 927A ST R7,-Y
02A5 928A ST R8,-Y
02A6 929A ST R9,-Y
02A7 92AA ST R10,-Y
02A8 92BA ST R11,-Y
02A9 92CA ST R12,-Y
02AA 93EA ST R30,-Y
02AB 938A ST R24,-Y
02AC 939A ST R25,-Y
02AD 93AA ST R26,-Y
02AE 93BA ST R27,-Y
02AF 858B LDD R24,Y+11
02B0 859C LDD R25,Y+12
02B1 85AD LDD R26,Y+13
02B2 85BE LDD R27,Y+14
02B3 2EC3 MOV R12,R19
02B4 F00E BRTS 0x02B6
02B5 26CB EOR R12,R27
02B6 9508 RET
long_div_epilog:
02B7 FCC7 SBRC R12,7
02B8 D017 RCALL neg_R16_R19
02B9 91B9 LD R27,Y+
02BA 91A9 LD R26,Y+
02BB 9199 LD R25,Y+
02BC 9189 LD R24,Y+
02BD 91E9 LD R30,Y+
02BE 90C9 LD R12,Y+
02BF 90B9 LD R11,Y+
02C0 90A9 LD R10,Y+
02C1 9099 LD R9,Y+
02C2 9089 LD R8,Y+
02C3 9079 LD R7,Y+
02C4 9624 ADIW R28,4
02C5 9508 RET
tst_R16_R19:
02C6 2FE0 MOV R30,R16
02C7 2BE1 OR R30,R17
02C8 2BE2 OR R30,R18
02C9 2BE3 OR R30,R19
02CA 9508 RET
tst_R24_R27:
02CB 2FE8 MOV R30,R24
02CC 2BE9 OR R30,R25
02CD 2BEA OR R30,R26
02CE 2BEB OR R30,R27
02CF 9508 RET
neg_R16_R19:
02D0 9500 COM R16
02D1 9510 COM R17
02D2 9520 COM R18
02D3 9530 COM R19
02D4 5F0F SUBI R16,0xFF
02D5 4F1F SBCI R17,0xFF
02D6 4F2F SBCI R18,0xFF
02D7 4F3F SBCI R19,0xFF
02D8 9508 RET
neg_R24_R27:
02D9 9580 COM R24
02DA 9590 COM R25
02DB 95A0 COM R26
02DC 95B0 COM R27
02DD 5F8F SUBI R24,0xFF
02DE 4F9F SBCI R25,0xFF
02DF 4FAF SBCI R26,0xFF
02E0 4FBF SBCI R27,0xFF
02E1 9508 RET
empy16s:
02E2 920A ST R0,-Y
02E3 921A ST R1,-Y
02E4 938A ST R24,-Y
02E5 939A ST R25,-Y
02E6 9F02 MUL R16,R18
02E7 01C0 MOVW R24,R0
02E8 9F12 MUL R17,R18
02E9 0D90 ADD R25,R0
02EA 9F03 MUL R16,R19
02EB 0D90 ADD R25,R0
02EC 018C MOVW R16,R24
02ED 9199 LD R25,Y+
02EE 9189 LD R24,Y+
02EF 9019 LD R1,Y+
02F0 9009 LD R0,Y+
02F1 9508 RET
empy32s:
empy32u:
02F2 940E034C CALL long_prolog
02F4 927F PUSH R7
02F5 940E0365 CALL tstzero1
02F7 F139 BEQ 0x031F
02F8 2477 CLR R7
02F9 940E036B CALL tstzero2
02FB F419 BNE 0x02FF
02FC 018C MOVW R16,R24
02FD 019D MOVW R18,R26
02FE C020 RJMP 0x031F
02FF 9F08 MUL R16,R24
0300 2CB0 MOV R11,R0
0301 2CA1 MOV R10,R1
0302 9F28 MUL R18,R24
0303 2C90 MOV R9,R0
0304 2C81 MOV R8,R1
0305 9F18 MUL R17,R24
0306 0CA0 ADD R10,R0
0307 1C91 ADC R9,R1
0308 1C87 ADC R8,R7
0309 9F09 MUL R16,R25
030A 0CA0 ADD R10,R0
030B 1C91 ADC R9,R1
030C 1C87 ADC R8,R7
030D 9F19 MUL R17,R25
030E 0C90 ADD R9,R0
030F 1C81 ADC R8,R1
0310 9F0A MUL R16,R26
0311 0C90 ADD R9,R0
0312 1C81 ADC R8,R1
0313 9F38 MUL R19,R24
0314 0C80 ADD R8,R0
0315 9F29 MUL R18,R25
0316 0C80 ADD R8,R0
0317 9F1A MUL R17,R26
0318 0C80 ADD R8,R0
0319 9F0B MUL R16,R27
031A 0C80 ADD R8,R0
031B 2D0B MOV R16,R11
031C 2D1A MOV R17,R10
031D 2D29 MOV R18,R9
031E 2D38 MOV R19,R8
031F 907F POP R7
0320 940C035A JMP long_epilog
pop_gset5:
0322 27EE CLR R30
0323 940C0329 JMP pop
push_gset1:
0325 935A ST R21,-Y
0326 934A ST R20,-Y
0327 9508 RET
pop_gset1:
0328 E0E1 LDI R30,1
pop:
0329 9149 LD R20,Y+
032A 9159 LD R21,Y+
032B FDE0 SBRC R30,0
032C 9508 RET
032D 9169 LD R22,Y+
032E 9179 LD R23,Y+
032F FDE1 SBRC R30,1
0330 9508 RET
0331 90A9 LD R10,Y+
0332 90B9 LD R11,Y+
0333 FDE2 SBRC R30,2
0334 9508 RET
0335 90C9 LD R12,Y+
0336 90D9 LD R13,Y+
0337 FDE3 SBRC R30,3
0338 9508 RET
0339 90E9 LD R14,Y+
033A 90F9 LD R15,Y+
033B 9508 RET
push_gset2:
033C 937A ST R23,-Y
033D 936A ST R22,-Y
033E 940C0325 JMP push_gset1
push_gset3:
0340 92BA ST R11,-Y
0341 92AA ST R10,-Y
0342 940C033C JMP push_gset2
push_gset4:
0344 92DA ST R13,-Y
0345 92CA ST R12,-Y
0346 940C0340 JMP push_gset3
push_gset5:
0348 92FA ST R15,-Y
0349 92EA ST R14,-Y
034A 940C0344 JMP push_gset4
long_prolog:
034C 928A ST R8,-Y
034D 929A ST R9,-Y
034E 92AA ST R10,-Y
034F 92BA ST R11,-Y
0350 93EA ST R30,-Y
0351 938A ST R24,-Y
0352 939A ST R25,-Y
0353 93AA ST R26,-Y
0354 93BA ST R27,-Y
0355 8589 LDD R24,Y+9
0356 859A LDD R25,Y+10
0357 85AB LDD R26,Y+11
0358 85BC LDD R27,Y+12
0359 9508 RET
long_epilog:
035A 91B9 LD R27,Y+
035B 91A9 LD R26,Y+
035C 9199 LD R25,Y+
035D 9189 LD R24,Y+
035E 91E9 LD R30,Y+
035F 90B9 LD R11,Y+
0360 90A9 LD R10,Y+
0361 9099 LD R9,Y+
0362 9089 LD R8,Y+
0363 9624 ADIW R28,4
0364 9508 RET
tstzero1:
0365 27EE CLR R30
0366 2BE0 OR R30,R16
0367 2BE1 OR R30,R17
0368 2BE2 OR R30,R18
0369 2BE3 OR R30,R19
036A 9508 RET
tstzero2:
036B 27EE CLR R30
036C 2BE8 OR R30,R24
036D 2BE9 OR R30,R25
036E 2BEA OR R30,R26
036F 2BEB OR R30,R27
0370 9508 RET
lsl16:
0371 2322 TST R18
0372 F021 BEQ 0x0377
0373 0F00 LSL R16
0374 1F11 ROL R17
0375 952A DEC R18
0376 CFFA RJMP lsl16
0377 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -