📄 adc.lst
字号:
mod16u:
288 9468 BSET 6
289 C001 RJMP xdiv16u
div16u:
28A 94E8 BCLR 6
xdiv16u:
28B 92EA ST R14,-Y
28C 92FA ST R15,-Y
28D 938A ST R24,-Y
28E 24EE CLR R14
28F 24FF CLR R15
290 E180 LDI R24,0x10
291 0F00 LSL R16
292 1F11 ROL R17
293 1CEE ROL R14
294 1CFF ROL R15
295 16E2 CP R14,R18
296 06F3 CPC R15,R19
297 F018 BCS 0x029B
298 1AE2 SUB R14,R18
299 0AF3 SBC R15,R19
29A 9503 INC R16
29B 958A DEC R24
29C F7A1 BNE 0x0291
29D F416 BRTC 0x02A0
29E 2D0E MOV R16,R14
29F 2D1F MOV R17,R15
2A0 9189 LD R24,Y+
2A1 90F9 LD R15,Y+
2A2 90E9 LD R14,Y+
2A3 9508 RET
pop_xgset30FC:
2A4 90A9 LD R10,Y+
2A5 90B9 LD R11,Y+
2A6 90C9 LD R12,Y+
2A7 90D9 LD R13,Y+
2A8 90E9 LD R14,Y+
2A9 90F9 LD R15,Y+
2AA 9149 LD R20,Y+
2AB 9159 LD R21,Y+
2AC 9508 RET
push_xgsetF0FC:
2AD 937A ST R23,-Y
2AE 936A ST R22,-Y
push_xgset30FC:
2AF 935A ST R21,-Y
2B0 934A ST R20,-Y
push_xgset00FC:
2B1 92FA ST R15,-Y
2B2 92EA ST R14,-Y
push_xgset003C:
2B3 92DA ST R13,-Y
2B4 92CA ST R12,-Y
2B5 92BA ST R11,-Y
2B6 92AA ST R10,-Y
2B7 9508 RET
push_xgsetF00C:
2B8 937A ST R23,-Y
2B9 936A ST R22,-Y
2BA 935A ST R21,-Y
2BB 934A ST R20,-Y
2BC 92BA ST R11,-Y
2BD 92AA ST R10,-Y
2BE 9508 RET
pop_xgsetF00C:
2BF 90A9 LD R10,Y+
2C0 90B9 LD R11,Y+
2C1 9149 LD R20,Y+
2C2 9159 LD R21,Y+
2C3 9169 LD R22,Y+
2C4 9179 LD R23,Y+
2C5 9508 RET
push_xgset303C:
2C6 935A ST R21,-Y
2C7 934A ST R20,-Y
2C8 92DA ST R13,-Y
2C9 92CA ST R12,-Y
2CA 92BA ST R11,-Y
2CB 92AA ST R10,-Y
2CC 9508 RET
pop_xgset303C:
2CD 90A9 LD R10,Y+
2CE 90B9 LD R11,Y+
2CF 90C9 LD R12,Y+
2D0 90D9 LD R13,Y+
2D1 9149 LD R20,Y+
2D2 9159 LD R21,Y+
2D3 9508 RET
push_xgsetF03C:
2D4 937A ST R23,-Y
2D5 936A ST R22,-Y
2D6 935A ST R21,-Y
2D7 934A ST R20,-Y
2D8 92DA ST R13,-Y
2D9 92CA ST R12,-Y
2DA 92BA ST R11,-Y
2DB 92AA ST R10,-Y
2DC 9508 RET
pop_xgsetF03C:
2DD 90A9 LD R10,Y+
2DE 90B9 LD R11,Y+
2DF 90C9 LD R12,Y+
2E0 90D9 LD R13,Y+
2E1 9149 LD R20,Y+
2E2 9159 LD R21,Y+
2E3 9169 LD R22,Y+
2E4 9179 LD R23,Y+
2E5 9508 RET
neg32:
2E6 9500 COM R16
2E7 9510 COM R17
2E8 9520 COM R18
2E9 9530 COM R19
2EA 5F0F SUBI R16,0xFF
2EB 4F1F SBCI R17,0xFF
2EC 4F2F SBCI R18,0xFF
2ED 4F3F SBCI R19,0xFF
2EE 9508 RET
lpm32:
2EF 93EA ST R30,-Y
2F0 93FA ST R31,-Y
2F1 920A ST R0,-Y
2F2 2FE0 MOV R30,R16
2F3 2FF1 MOV R31,R17
2F4 95C8 LPM
2F5 2D00 MOV R16,R0
2F6 9631 ADIW R30,1
2F7 95C8 LPM
2F8 2D10 MOV R17,R0
2F9 9631 ADIW R30,1
2FA 95C8 LPM
2FB 2D20 MOV R18,R0
2FC 9631 ADIW R30,1
2FD 95C8 LPM
2FE 2D30 MOV R19,R0
2FF 9009 LD R0,Y+
300 91F9 LD R31,Y+
301 91E9 LD R30,Y+
302 9508 RET
fpint:
303 934A ST R20,-Y
304 935A ST R21,-Y
305 936A ST R22,-Y
306 940E 035F CALL unpacku
308 F0F1 BEQ 0x0327
309 2355 TST R21
30A F0C2 BMI 0x0323
30B 314F CPI R20,0x1F
30C F4A8 BCC 0x0322
30D 3147 CPI R20,0x17
30E F0C1 BEQ 0x0327
30F F450 BCC 0x031A
310 9541 NEG R20
311 5E49 SUBI R20,0xE9
312 C005 RJMP 0x0318
313 9535 ASR R19
314 9527 ROR R18
315 9517 ROR R17
316 9507 ROR R16
317 954A DEC R20
318 F7D1 BNE 0x0313
319 C00D RJMP 0x0327
31A 5147 SUBI R20,0x17
31B 0F00 LSL R16
31C 1F11 ROL R17
31D 1F22 ROL R18
31E 1F33 ROL R19
31F 954A DEC R20
320 F7D1 BNE 0x031B
321 C005 RJMP 0x0327
322 E73F LDI R19,0x7F
323 2F23 MOV R18,R19
324 2F13 MOV R17,R19
325 2F03 MOV R16,R19
326 C004 RJMP 0x032B
327 2366 TST R22
328 F011 BEQ 0x032B
329 940E 02E6 CALL neg32
32B 9169 LD R22,Y+
32C 9159 LD R21,Y+
32D 9149 LD R20,Y+
32E 9508 RET
uint2fp:
32F 9468 BSET 6
330 C001 RJMP 0x0332
int2fp:
331 94E8 BCLR 6
332 2722 CLR R18
333 2733 CLR R19
334 F046 BRTS 0x033D
335 FD17 SBRC R17,7
336 9520 COM R18
337 FD17 SBRC R17,7
338 9530 COM R19
339 C002 RJMP long2fp
ulong2fp:
33A 9468 BSET 6
33B C001 RJMP 0x033D
long2fp:
33C 94E8 BCLR 6
33D 934A ST R20,-Y
33E 935A ST R21,-Y
33F 936A ST R22,-Y
340 E147 LDI R20,0x17
341 2766 CLR R22
342 2755 CLR R21
343 F02E BRTS 0x0349
344 2333 TST R19
345 F41A BPL 0x0349
346 940E 02E6 CALL neg32
348 E860 LDI R22,0x80
349 940E 0374 CALL normalize_and_pack
34B 9169 LD R22,Y+
34C 9159 LD R21,Y+
34D 9149 LD R20,Y+
34E 9508 RET
unpacks:
34F D00F RCALL unpacku
350 F029 BEQ 0x0356
351 2366 TST R22
352 F011 BEQ 0x0355
353 940E 02E6 CALL neg32
355 9498 BCLR 1
356 9508 RET
tstR16_R19:
357 2300 TST R16
358 F429 BNE 0x035E
359 2311 TST R17
35A F419 BNE 0x035E
35B 2322 TST R18
35C F409 BNE 0x035E
35D 2333 TST R19
35E 9508 RET
unpacku:
35F DFF7 RCALL tstR16_R19
360 F079 BEQ 0x0370
361 2F63 MOV R22,R19
362 7860 ANDI R22,0x80
363 0F22 LSL R18
364 1F33 ROL R19
365 2F43 MOV R20,R19
366 E75F LDI R21,0x7F
367 1B45 SUB R20,R21
368 2755 CLR R21
369 4050 SBCI R21,0
36A 9526 LSR R18
36B E830 LDI R19,0x80
36C 2B23 OR R18,R19
36D 2733 CLR R19
36E 9498 BCLR 1
36F 9508 RET
370 2744 CLR R20
371 2755 CLR R21
372 2766 CLR R22
373 9508 RET
normalize_and_pack:
374 DFE2 RCALL tstR16_R19
375 F121 BEQ 0x039A
376 939A ST R25,-Y
377 938A ST R24,-Y
378 E78E LDI R24,0x7E
379 E090 LDI R25,0
37A 2333 TST R19
37B F051 BEQ 0x0386
37C 9536 LSR R19
37D 9527 ROR R18
37E 9517 ROR R17
37F 9507 ROR R16
380 1748 CP R20,R24
381 0759 CPC R21,R25
382 F4C4 BGE 0x039B
383 5F4F SUBI R20,0xFF
384 4F5F SBCI R21,0xFF
385 CFF4 RJMP 0x037A
386 9580 COM R24
387 9590 COM R25
388 9601 ADIW R24,1
389 2322 TST R18
38A F0AA BMI 0x03A0
38B 0F00 LSL R16
38C 1F11 ROL R17
38D 1F22 ROL R18
38E 1748 CP R20,R24
38F 0759 CPC R21,R25
390 F01C BLT 0x0394
391 5041 SUBI R20,1
392 4050 SBCI R21,0
393 CFF5 RJMP 0x0389
394 2700 CLR R16
395 2711 CLR R17
396 2722 CLR R18
397 2733 CLR R19
398 9189 LD R24,Y+
399 9199 LD R25,Y+
39A 9508 RET
39B 2733 CLR R19
39C EF0F LDI R16,0xFF
39D 2F10 MOV R17,R16
39E E72F LDI R18,0x7F
39F 2F32 MOV R19,R18
3A0 9189 LD R24,Y+
3A1 9199 LD R25,Y+
pack:
3A2 DFB4 RCALL tstR16_R19
3A3 F039 BEQ 0x03AB
3A4 5841 SUBI R20,0x81
3A5 4F5F SBCI R21,0xFF
3A6 2F34 MOV R19,R20
3A7 0F22 LSL R18
3A8 9536 LSR R19
3A9 9527 ROR R18
3AA 2B36 OR R19,R22
3AB 9508 RET
fpneg:
3AC DFAA RCALL tstR16_R19
3AD F021 BEQ 0x03B2
3AE 930F PUSH R16
3AF E800 LDI R16,0x80
3B0 2730 EOR R19,R16
3B1 910F POP R16
3B2 9508 RET
fpneg2:
3B3 DFF8 RCALL fpneg
3B4 933A ST R19,-Y
3B5 932A ST R18,-Y
3B6 931A ST R17,-Y
3B7 930A ST R16,-Y
3B8 9508 RET
saveR8toR25:
3B9 928A ST R8,-Y
3BA 929A ST R9,-Y
3BB 92AA ST R10,-Y
3BC 92BA ST R11,-Y
3BD 92CA ST R12,-Y
3BE 92DA ST R13,-Y
3BF 92EA ST R14,-Y
3C0 92FA ST R15,-Y
3C1 934A ST R20,-Y
3C2 935A ST R21,-Y
3C3 936A ST R22,-Y
3C4 937A ST R23,-Y
3C5 938A ST R24,-Y
3C6 939A ST R25,-Y
3C7 9508 RET
restoreR8toR25:
3C8 9199 LD R25,Y+
3C9 9189 LD R24,Y+
3CA 9179 LD R23,Y+
3CB 9169 LD R22,Y+
3CC 9159 LD R21,Y+
3CD 9149 LD R20,Y+
3CE 90F9 LD R15,Y+
3CF 90E9 LD R14,Y+
3D0 90D9 LD R13,Y+
3D1 90C9 LD R12,Y+
3D2 90B9 LD R11,Y+
3D3 90A9 LD R10,Y+
3D4 9099 LD R9,Y+
3D5 9089 LD R8,Y+
3D6 9508 RET
fpmule:
3D7 940E 03B9 CALL saveR8toR25
3D9 93AA ST R26,-Y
3DA 93BA ST R27,-Y
3DB 940E 035F CALL unpacku
3DD F1D1 BEQ 0x0418
3DE 2EE6 MOV R14,R22
3DF 2ED5 MOV R13,R21
3E0 2EC4 MOV R12,R20
3E1 2EB3 MOV R11,R19
3E2 2EA2 MOV R10,R18
3E3 2E91 MOV R9,R17
3E4 2E80 MOV R8,R16
3E5 8100 LDD R16,Z+0
3E6 8111 LDD R17,Z+1
3E7 8122 LDD R18,Z+2
3E8 8133 LDD R19,Z+3
3E9 940E 035F CALL unpacku
3EB F161 BEQ 0x0418
3EC 256E EOR R22,R14
3ED 0D4C ADD R20,R12
3EE 1D5D ADC R21,R13
3EF 3840 CPI R20,0x80
3F0 0753 CPC R21,R19
3F1 F55C BGE 0x041D
3F2 3841 CPI R20,0x81
3F3 EF7F LDI R23,0xFF
3F4 0757 CPC R21,R23
3F5 F164 BLT 0x0422
3F6 9EA2 MUL R10,R18
3F7 2DB1 MOV R27,R1
3F8 2DA0 MOV R26,R0
3F9 9E91 MUL R9,R17
3FA 2D91 MOV R25,R1
3FB 2D80 MOV R24,R0
3FC 9EA0 MUL R10,R16
3FD 0D80 ADD R24,R0
3FE 1D91 ADC R25,R1
3FF 1FA3 ADC R26,R19
400 1FB3 ADC R27,R19
401 9E82 MUL R8,R18
402 0D80 ADD R24,R0
403 1D91 ADC R25,R1
404 1FA3 ADC R26,R19
405 1FB3 ADC R27,R19
406 9E92 MUL R9,R18
407 0D90 ADD R25,R0
408 1DA1 ADC R26,R1
409 1FB3 ADC R27,R19
40A 9EA1 MUL R10,R17
40B 0D90 ADD R25,R0
40C 1DA1 ADC R26,R1
40D 1FB3 ADC R27,R19
40E 2F2B MOV R18,R27
40F 2F1A MOV R17,R26
410 2F09 MOV R16,R25
411 0F88 LSL R24
412 1F00 ROL R16
413 1F11 ROL R17
414 1F22 ROL R18
415 1F33 ROL R19
416 940E 0374 CALL normalize_and_pack
418 91B9 LD R27,Y+
419 91A9 LD R26,Y+
41A 940E 03C8 CALL restoreR8toR25
41C 9508 RET
41D EF0F LDI R16,0xFF
41E 2F10 MOV R17,R16
41F E72F LDI R18,0x7F
420 E74F LDI R20,0x7F
421 CFF6 RJMP 0x0418
422 2700 CLR R16
423 2F10 MOV R17,R16
424 2F20 MOV R18,R16
425 2F30 MOV R19,R16
426 CFF1 RJMP 0x0418
fpmule2:
427 93FA ST R31,-Y
428 93EA ST R30,-Y
429 2FEC MOV R30,R28
42A 2FFD MOV R31,R29
42B 9632 ADIW R30,2
42C 940E 03D7 CALL fpmule
42E 91E9 LD R30,Y+
42F 91F9 LD R31,Y+
430 9624 ADIW R28,4
431 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -