📄 rctest.lst
字号:
0338 940E04BD CALL int2fp
033A 933A ST R19,-Y
033B 932A ST R18,-Y
033C 931A ST R17,-Y
033D 930A ST R16,-Y
033E 940E0606 CALL empy32fs
0340 0187 MOVW R16,R14
0341 7001 ANDI R16,1
0342 7010 ANDI R17,0
0343 940E04BD CALL int2fp
0345 933A ST R19,-Y
0346 932A ST R18,-Y
0347 931A ST R17,-Y
0348 930A ST R16,-Y
0349 940E0517 CALL add32fs
034B 940E057B CALL div32f
034D 01FE MOVW R30,R28
034E 8300 STD Z+0,R16
034F 8311 STD Z+1,R17
0350 8322 STD Z+2,R18
0351 8333 STD Z+3,R19
(0333)
(0334) //R=1234;
(0335) LcdInit();
0352 DE51 RCALL _LcdInit
(0336) LcdGotoXY(X_Init,Y_Init);
0353 E022 LDI R18,2
0354 E00A LDI R16,0xA
0355 DE84 RCALL _LcdGotoXY
(0337)
(0338) R_TMP=R;
0356 01FE MOVW R30,R28
0357 8020 LDD R2,Z+0
0358 8031 LDD R3,Z+1
0359 8042 LDD R4,Z+2
035A 8053 LDD R5,Z+3
035B 925A ST R5,-Y
035C 924A ST R4,-Y
035D 923A ST R3,-Y
035E 922A ST R2,-Y
035F E006 LDI R16,6
0360 E012 LDI R17,2
0361 940E0461 CALL lpm32
0363 933A ST R19,-Y
0364 932A ST R18,-Y
0365 931A ST R17,-Y
0366 930A ST R16,-Y
0367 940E05D5 CALL cmp32f
0369 F0D4 BLT 0x0384
036A 01FE MOVW R30,R28
036B 8020 LDD R2,Z+0
036C 8031 LDD R3,Z+1
036D 8042 LDD R4,Z+2
036E 8053 LDD R5,Z+3
036F 925A ST R5,-Y
0370 924A ST R4,-Y
0371 923A ST R3,-Y
0372 922A ST R2,-Y
0373 E006 LDI R16,6
0374 E012 LDI R17,2
0375 940E0461 CALL lpm32
0377 933A ST R19,-Y
0378 932A ST R18,-Y
0379 931A ST R17,-Y
037A 930A ST R16,-Y
037B 940E0522 CALL sub32f
037D 940E0475 CALL fp2int
037F 01C8 MOVW R24,R16
0380 5080 SUBI R24,0
0381 4890 SBCI R25,0x80
0382 015C MOVW R10,R24
0383 C008 RJMP 0x038C
0384 01FE MOVW R30,R28
0385 8100 LDD R16,Z+0
0386 8111 LDD R17,Z+1
0387 8122 LDD R18,Z+2
0388 8133 LDD R19,Z+3
0389 940E0475 CALL fp2int
038B 0158 MOVW R10,R16
038C 01A5 MOVW R20,R10
(0339) DOT=(R-R_TMP)*10;
038D E002 LDI R16,2
038E E012 LDI R17,2
038F 940E0461 CALL lpm32
0391 933A ST R19,-Y
0392 932A ST R18,-Y
0393 931A ST R17,-Y
0394 930A ST R16,-Y
0395 01FE MOVW R30,R28
0396 8024 LDD R2,Z+4
0397 8035 LDD R3,Z+5
0398 8046 LDD R4,Z+6
0399 8057 LDD R5,Z+7
039A 925A ST R5,-Y
039B 924A ST R4,-Y
039C 923A ST R3,-Y
039D 922A ST R2,-Y
039E E00A LDI R16,0xA
039F E012 LDI R17,2
03A0 940E0461 CALL lpm32
03A2 933A ST R19,-Y
03A3 932A ST R18,-Y
03A4 931A ST R17,-Y
03A5 930A ST R16,-Y
03A6 018A MOVW R16,R20
03A7 9516 LSR R17
03A8 9507 ROR R16
03A9 940E04BD CALL int2fp
03AB 933A ST R19,-Y
03AC 932A ST R18,-Y
03AD 931A ST R17,-Y
03AE 930A ST R16,-Y
03AF 940E0606 CALL empy32fs
03B1 018A MOVW R16,R20
03B2 7001 ANDI R16,1
03B3 7010 ANDI R17,0
03B4 940E04BD CALL int2fp
03B6 933A ST R19,-Y
03B7 932A ST R18,-Y
03B8 931A ST R17,-Y
03B9 930A ST R16,-Y
03BA 940E0517 CALL add32fs
03BC 940E051F CALL sub32fs
03BE 940E0609 CALL empy32f
03C0 01FE MOVW R30,R28
03C1 8700 STD Z+8,R16
03C2 8711 STD Z+9,R17
03C3 8722 STD Z+10,R18
03C4 8733 STD Z+11,R19
03C5 01FE MOVW R30,R28
03C6 8420 LDD R2,Z+8
03C7 8431 LDD R3,Z+9
03C8 8442 LDD R4,Z+10
03C9 8453 LDD R5,Z+11
03CA 925A ST R5,-Y
03CB 924A ST R4,-Y
03CC 923A ST R3,-Y
03CD 922A ST R2,-Y
03CE E006 LDI R16,6
03CF E012 LDI R17,2
03D0 940E0461 CALL lpm32
03D2 933A ST R19,-Y
03D3 932A ST R18,-Y
03D4 931A ST R17,-Y
03D5 930A ST R16,-Y
03D6 940E05D5 CALL cmp32f
03D8 F0D4 BLT 0x03F3
03D9 01FE MOVW R30,R28
03DA 8420 LDD R2,Z+8
03DB 8431 LDD R3,Z+9
03DC 8442 LDD R4,Z+10
03DD 8453 LDD R5,Z+11
03DE 925A ST R5,-Y
03DF 924A ST R4,-Y
03E0 923A ST R3,-Y
03E1 922A ST R2,-Y
03E2 E006 LDI R16,6
03E3 E012 LDI R17,2
03E4 940E0461 CALL lpm32
03E6 933A ST R19,-Y
03E7 932A ST R18,-Y
03E8 931A ST R17,-Y
03E9 930A ST R16,-Y
03EA 940E0522 CALL sub32f
03EC 940E0475 CALL fp2int
03EE 01C8 MOVW R24,R16
03EF 5080 SUBI R24,0
03F0 4890 SBCI R25,0x80
03F1 015C MOVW R10,R24
03F2 C008 RJMP 0x03FB
03F3 01FE MOVW R30,R28
03F4 8500 LDD R16,Z+8
03F5 8511 LDD R17,Z+9
03F6 8522 LDD R18,Z+10
03F7 8533 LDD R19,Z+11
03F8 940E0475 CALL fp2int
03FA 0158 MOVW R10,R16
03FB 01B5 MOVW R22,R10
(0340) lcd_show(R_TMP,DOT);
03FC 019B MOVW R18,R22
03FD 018A MOVW R16,R20
03FE DDFE RCALL _lcd_show
(0341)
(0342) while(1)
FILE: <library>
03FF CFFF RJMP 0x03FF
0400 962C ADIW R28,0xC
0401 9508 RET
push_arg4:
0402 933A ST R19,-Y
0403 932A ST R18,-Y
push_arg2:
0404 931A ST R17,-Y
0405 930A ST R16,-Y
0406 9508 RET
mod16u:
0407 9468 BSET 6
0408 C001 RJMP xdiv16u
div16u:
0409 94E8 BCLR 6
xdiv16u:
040A 92EA ST R14,-Y
040B 92FA ST R15,-Y
040C 938A ST R24,-Y
040D 24EE CLR R14
040E 24FF CLR R15
040F E180 LDI R24,0x10
0410 0F00 LSL R16
0411 1F11 ROL R17
0412 1CEE ROL R14
0413 1CFF ROL R15
0414 16E2 CP R14,R18
0415 06F3 CPC R15,R19
0416 F018 BCS 0x041A
0417 1AE2 SUB R14,R18
0418 0AF3 SBC R15,R19
0419 9503 INC R16
041A 958A DEC R24
041B F7A1 BNE 0x0410
041C F416 BRTC 0x041F
041D 2D0E MOV R16,R14
041E 2D1F MOV R17,R15
041F 9189 LD R24,Y+
0420 90F9 LD R15,Y+
0421 90E9 LD R14,Y+
0422 9508 RET
empy16s:
0423 920A ST R0,-Y
0424 921A ST R1,-Y
0425 938A ST R24,-Y
0426 939A ST R25,-Y
0427 9F02 MUL R16,R18
0428 01C0 MOVW R24,R0
0429 9F12 MUL R17,R18
042A 0D90 ADD R25,R0
042B 9F03 MUL R16,R19
042C 0D90 ADD R25,R0
042D 018C MOVW R16,R24
042E 9199 LD R25,Y+
042F 9189 LD R24,Y+
0430 9019 LD R1,Y+
0431 9009 LD R0,Y+
0432 9508 RET
pop_gset2:
0433 E0E2 LDI R30,2
0434 940C0445 JMP pop
pop_gset4:
0436 E0E8 LDI R30,0x8
0437 940C0445 JMP pop
push_gset5:
0439 92FA ST R15,-Y
043A 92EA ST R14,-Y
push_gset4:
043B 92DA ST R13,-Y
043C 92CA ST R12,-Y
push_gset3:
043D 92BA ST R11,-Y
043E 92AA ST R10,-Y
push_gset2:
043F 937A ST R23,-Y
0440 936A ST R22,-Y
push_gset1:
0441 935A ST R21,-Y
0442 934A ST R20,-Y
0443 9508 RET
pop_gset1:
0444 E0E1 LDI R30,1
pop:
0445 9149 LD R20,Y+
0446 9159 LD R21,Y+
0447 FDE0 SBRC R30,0
0448 9508 RET
0449 9169 LD R22,Y+
044A 9179 LD R23,Y+
044B FDE1 SBRC R30,1
044C 9508 RET
044D 90A9 LD R10,Y+
044E 90B9 LD R11,Y+
044F FDE2 SBRC R30,2
0450 9508 RET
0451 90C9 LD R12,Y+
0452 90D9 LD R13,Y+
0453 FDE3 SBRC R30,3
0454 9508 RET
0455 90E9 LD R14,Y+
0456 90F9 LD R15,Y+
0457 9508 RET
neg32:
0458 9500 COM R16
0459 9510 COM R17
045A 9520 COM R18
045B 9530 COM R19
045C 5F0F SUBI R16,0xFF
045D 4F1F SBCI R17,0xFF
045E 4F2F SBCI R18,0xFF
045F 4F3F SBCI R19,0xFF
0460 9508 RET
lpm32:
0461 93EA ST R30,-Y
0462 93FA ST R31,-Y
0463 920A ST R0,-Y
0464 2FE0 MOV R30,R16
0465 2FF1 MOV R31,R17
0466 95C8 LPM
0467 2D00 MOV R16,R0
0468 9631 ADIW R30,1
0469 95C8 LPM
046A 2D10 MOV R17,R0
046B 9631 ADIW R30,1
046C 95C8 LPM
046D 2D20 MOV R18,R0
046E 9631 ADIW R30,1
046F 95C8 LPM
0470 2D30 MOV R19,R0
0471 9009 LD R0,Y+
0472 91F9 LD R31,Y+
0473 91E9 LD R30,Y+
0474 9508 RET
fp2int:
0475 940E0653 CALL savfacc1
0477 D014 RCALL FTOI
0478 2F02 MOV R16,R18
0479 2F13 MOV R17,R19
047A FD87 SBRC R24,7
047B C002 RJMP nojump1
047C 940C0656 JMP restorefacc1
nojump1:
047E 9510 COM R17
047F 9501 NEG R16
0480 4F1F SBCI R17,0xFF
0481 940C0656 JMP restorefacc1
fp2long:
0483 940E0653 CALL savfacc1
0485 D008 RCALL FTOL
0486 FF87 SBRS R24,7
0487 C002 RJMP nojump2
0488 940E0458 CALL neg32
nojump2:
048A 940C0656 JMP restorefacc1
FTOI:
048C E0BE LDI R27,0xE
048D C001 RJMP 0x048F
FTOL:
048E E1BE LDI R27,0x1E
048F 940E0659 CALL unpackfacc1
0491 F069 BEQ 0x049F
0492 1BB3 SUB R27,R19
0493 F009 BEQ 0x0495
0494 F472 BPL 0x04A3
0495 2388 TST R24
0496 F022 BMI 0x049B
0497 E012 LDI R17,2
0498 E106 LDI R16,0x16
0499 940C0461 JMP lpm32
049B E012 LDI R17,2
049C E10C LDI R16,0x1C
049D 940C0461 JMP lpm32
049F E012 LDI R17,2
04A0 E10A LDI R16,0x1A
04A1 940C0461 JMP lpm32
04A3 9533 INC R19
04A4 F3D2 BMI 0x049F
04A5 E030 LDI R19,0
04A6 50B8 SUBI R27,0x8
04A7 F452 BPL 0x04B2
04A8 5FB8 SUBI R27,0xF8
04A9 2F32 MOV R19,R18
04AA 2F21 MOV R18,R17
04AB 2F10 MOV R17,R16
04AC E800 LDI R16,0x80
04AD C006 RJMP 0x04B4
04AE 2F01 MOV R16,R17
04AF 2F12 MOV R17,R18
04B0 E020 LDI R18,0
04B1 50B8 SUBI R27,0x8
04B2 30B8 CPI R27,0x8
04B3 F7D0 BCC 0x04AE
04B4 23BB TST R27
04B5 F031 BEQ 0x04BC
04B6 9536 LSR R19
04B7 9527 ROR R18
04B8 9517 ROR R17
04B9 9507 ROR R16
04BA 95BA DEC R27
04BB F7D1 BNE 0x04B6
04BC 9508 RET
int2fp:
04BD 2722 CLR R18
04BE FD17 SBRC R17,7
04BF 9520 COM R18
04C0 2733 CLR R19
04C1 FD27 SBRC R18,7
04C2 9530 COM R19
long2fp:
04C3 940E0653 CALL savfacc1
04C5 D002 RCALL ITOF
04C6 940C0656 JMP restorefacc1
ITOF:
04C8 2788 CLR R24
04C9 2333 TST R19
04CA F41A BPL 0x04CE
04CB 940E0458 CALL neg32
04CD 9580 COM R24
04CE 2FB0 MOV R27,R16
04CF 2BB1 OR R27,R17
04D0 2BB2 OR R27,R18
04D1 2BB3 OR R27,R19
04D2 F411 BNE 0x04D5
04D3 940C066F JMP minres
04D5 E1B6 LDI R27,0x16
04D6 C005 RJMP itof2
04D7 95B3 INC R27
04D8 9536 LSR R19
04D9 9527 ROR R18
04DA 9517 ROR R17
04DB 9507 ROR R16
itof2:
04DC 2333 TST R19
04DD F7C9 BNE 0x04D7
itof3:
04DE 2322 TST R18
04DF F449 BNE 0x04E9
04E0 50B8 SUBI R27,0x8
04E1 2F21 MOV R18,R17
04E2 2F10 MOV R17,R16
04E3 E000 LDI R16,0
04E4 CFF9 RJMP itof3
04E5 95BA DEC R27
04E6 0F00 LSL R16
04E7 1F11 ROL R17
04E8 1F22 ROL R18
04E9 F7DA BPL 0x04E5
04EA 2F3B MOV R19,R27
04EB 940C0699 JMP repack
save_floatregs:
04ED 92DA ST R13,-Y
04EE 92EA ST R14,-Y
04EF 92FA ST R15,-Y
04F0 938A ST R24,-Y
04F1 922A ST R2,-Y
04F2 923A ST R3,-Y
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -