📄 _fsadd.asm
字号:
; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#___fsadd_mant2_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a inc dptr mov a,r4 movx @dptr,a inc dptr mov a,r5 movx @dptr,a; genGoto ljmp 00115$; genLabel 00114$:; _fsadd.c 56; genMinus mov dptr,#___fsadd_exp2_1_1 mov dps, #0x01 mov dptr, #___fsadd_exp1_1_1 dec dps clr c movx a,@dptr xch a, ap inc dps movx a,@dptr xch a, ap subb a,ap push acc dec dps inc dptr movx a,@dptr xch a, ap inc dps inc dptr movx a,@dptr xch a, ap subb a,ap push acc mov dps, #0x00 pop acc mov r3,a pop acc mov r2,a; genRightShift ; genSignedRightShift mov b,r2 inc b mov dptr,#___fsadd_mant1_1_1 movx a,@dptr mov r2,acc inc dptr movx a,@dptr mov r3,acc inc dptr movx a,@dptr mov r4,acc inc dptr movx a,@dptr mov r5,acc movx a,@dptr; Peephole 206 removed redundant mov a,a rlc a mov ov,c sjmp 00164$00163$: mov c,ov mov a,r5 rrc a mov r5,a mov a,r4 rrc a mov r4,a mov a,r3 rrc a mov r3,a mov a,r2 rrc a mov r2,a00164$: djnz b,00163$; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#___fsadd_mant1_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a inc dptr mov a,r4 movx @dptr,a inc dptr mov a,r5 movx @dptr,a; _fsadd.c 57; genAssign mov dptr,#___fsadd_exp2_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign (390 auto-toggle fun) mov dps, #0x21 mov dptr,#___fsadd_exp1_1_1 movx a,@dptr movx @dptr,a inc dptr inc dptr movx a,@dptr movx @dptr,a mov dps, #0; genLabel 00115$:; _fsadd.c 59; genPlus mov dptr,#___fsadd_mant2_1_1 mov dps, #0x01 mov dptr, #___fsadd_mant1_1_1 dec dps movx a,@dptr xch a, ap inc dps movx a,@dptr add a, ap mov r2,a dec dps inc dptr movx a,@dptr xch a, ap inc dps inc dptr movx a,@dptr addc a, ap mov r3,a dec dps inc dptr movx a,@dptr xch a, ap inc dps inc dptr movx a,@dptr addc a, ap mov r4,a dec dps inc dptr movx a,@dptr xch a, ap inc dps inc dptr movx a,@dptr addc a, ap mov r5,a mov dps, #0x00; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#___fsadd_mant1_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a inc dptr mov a,r4 movx @dptr,a inc dptr mov a,r5 movx @dptr,a; _fsadd.c 61; genCmpLt mov dptr,#___fsadd_mant1_1_1; genCmp inc dptr inc dptr inc dptr movx a,@dptr; genIfxJump ; Peephole 111 removed ljmp by inverse jump logic jnb acc.7,00119$00165$:; _fsadd.c 63; genUminus mov dptr,#___fsadd_mant1_1_1 movx a,@dptr setb c cpl a addc a,#0 movx @dptr,a inc dptr movx a,@dptr cpl a addc a,#0 movx @dptr,a inc dptr movx a,@dptr cpl a addc a,#0 movx @dptr,a inc dptr movx a,@dptr cpl a addc a,#0 movx @dptr,a; _fsadd.c 64; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#___fsadd_sign_1_1; Peephole 101 removed redundant mov; Peephole 180 changed mov to clr clr a movx @dptr,a inc dptr movx @dptr,a inc dptr; Peephole 180 changed mov to clr clr a movx @dptr,a inc dptr mov a,#0x80 movx @dptr,a; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00121$00119$:; _fsadd.c 66; genIfx mov dptr,#___fsadd_mant1_1_1 push b movx a,@dptr mov b, a inc dptr movx a,@dptr orl b,a inc dptr movx a,@dptr orl b,a inc dptr movx a,@dptr orl b,a mov a,b pop b; genIfxJump ; Peephole 109 removed ljmp by inverse jump logic jnz 00121$00166$:; _fsadd.c 67; genRet ; Peephole 181a used 24 bit load of dptr mov dptr,#0x0000 mov b,#0x00 ljmp 00128$; _fsadd.c 70; genLabel 00121$:; genAssign mov dptr,#___fsadd_mant1_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign movx a,@dptr mov r2,a inc dptr movx a,@dptr mov r3,a inc dptr movx a,@dptr mov r4,a inc dptr movx a,@dptr; genAnd ; Peephole 105 removed redundant mov mov r5,a anl a,#0xE0; Peephole 162 removed sjmp by inverse jump logic jz 00168$00167$: ljmp 00123$00168$:; _fsadd.c 72; genLeftShift ; genLeftShiftLiteral (1), size 4; genLeftShiftLiteral wimping out mov b,#0x02 mov dptr,#___fsadd_mant1_1_1 movx a,@dptr mov r2,acc inc dptr movx a,@dptr mov r3,acc inc dptr movx a,@dptr mov r4,acc inc dptr movx a,@dptr mov r5,acc sjmp 00170$00169$: mov a,r2 add a,acc mov r2,a mov a,r3 rlc a mov r3,a mov a,r4 rlc a mov r4,a mov a,r5 rlc a mov r5,a00170$: djnz b,00169$; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#___fsadd_mant1_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a inc dptr mov a,r4 movx @dptr,a inc dptr mov a,r5 movx @dptr,a; _fsadd.c 73; genMinus mov dptr,#___fsadd_exp1_1_1 movx a,@dptr add a,#0xff mov r2,a inc dptr movx a,@dptr addc a,#0xff mov r3,a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#___fsadd_exp1_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a; genGoto ljmp 00121$; genLabel 00123$:; _fsadd.c 77; genAssign mov dptr,#___fsadd_mant1_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign movx a,@dptr mov r2,a inc dptr movx a,@dptr mov r3,a inc dptr movx a,@dptr mov r4,a inc dptr movx a,@dptr; genAnd ; Peephole 105 removed redundant mov mov r5,a; genIfxJump jb acc.6,00171$ ljmp 00125$00171$:; _fsadd.c 79; genRightShift ; genSignedRightShift ; genRightShiftLiteral (1), size 4; genRightShiftLiteral wimping out mov b,#0x02 mov dptr,#___fsadd_mant1_1_1 movx a,@dptr mov r2,acc inc dptr movx a,@dptr mov r3,acc inc dptr movx a,@dptr mov r4,acc inc dptr movx a,@dptr mov r5,acc movx a,@dptr; Peephole 206 removed redundant mov a,a rlc a mov ov,c sjmp 00173$00172$: mov c,ov mov a,r5 rrc a mov r5,a mov a,r4 rrc a mov r4,a mov a,r3 rrc a mov r3,a mov a,r2 rrc a mov r2,a00173$: djnz b,00172$; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#___fsadd_mant1_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a inc dptr mov a,r4 movx @dptr,a inc dptr mov a,r5 movx @dptr,a; _fsadd.c 80; genPlus mov dptr,#___fsadd_exp1_1_1; Swapped plus args. movx a,@dptr add a,#0x01 movx @dptr,a inc dptr movx a,@dptr addc a,#0x00 movx @dptr,a; genLabel 00125$:; _fsadd.c 84; genAssign mov dptr,#___fsadd_mant1_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign movx a,@dptr mov r2,a inc dptr movx a,@dptr mov r3,a inc dptr movx a,@dptr mov r4,a inc dptr movx a,@dptr mov r5,a; genAnd mov a,r2; genIfxJump ; Peephole 111 removed ljmp by inverse jump logic jnb acc.6,00130$00174$:; genAssign ; genAssign: resultIsFar = FALSE mov r2,#0x20 mov r3,#0x00 mov r4,#0x00 mov r5,#0x00; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00131$00130$:; genAssign ; genAssign: resultIsFar = FALSE mov r2,#0x1F mov r3,#0x00 mov r4,#0x00 mov r5,#0x00; genLabel 00131$:; genAssign mov dptr,#___fsadd_mant1_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign movx a,@dptr mov r6,a inc dptr movx a,@dptr mov r7,a inc dptr movx a,@dptr mov r0,a inc dptr movx a,@dptr mov r1,a; genPlus mov dptr,#___fsadd_mant1_1_1 mov a,r2 add a,r6 movx @dptr,a mov a,r3 addc a,r7 inc dptr movx @dptr,a mov a,r4 addc a,r0 inc dptr movx @dptr,a mov a,r5 addc a,r1 inc dptr movx @dptr,a; _fsadd.c 87; genAssign mov dptr,#___fsadd_mant1_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign movx a,@dptr mov r2,a inc dptr movx a,@dptr mov r3,a inc dptr movx a,@dptr mov r4,a inc dptr movx a,@dptr; genAnd ; Peephole 105 removed redundant mov mov r5,a; genIfxJump jb acc.6,00175$ ljmp 00127$00175$:; _fsadd.c 89; genRightShift ; genSignedRightShift ; genRightShiftLiteral (1), size 4; genRightShiftLiteral wimping out mov b,#0x02 mov dptr,#___fsadd_mant1_1_1 movx a,@dptr mov r2,acc inc dptr movx a,@dptr mov r3,acc inc dptr movx a,@dptr mov r4,acc inc dptr movx a,@dptr mov r5,acc movx a,@dptr; Peephole 206 removed redundant mov a,a rlc a mov ov,c sjmp 00177$00176$: mov c,ov mov a,r5 rrc a mov r5,a mov a,r4 rrc a mov r4,a mov a,r3 rrc a mov r3,a mov a,r2 rrc a mov r2,a00177$: djnz b,00176$; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#___fsadd_mant1_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a inc dptr mov a,r4 movx @dptr,a inc dptr mov a,r5 movx @dptr,a; _fsadd.c 90; genPlus mov dptr,#___fsadd_exp1_1_1; Swapped plus args. movx a,@dptr add a,#0x01 movx @dptr,a inc dptr movx a,@dptr addc a,#0x00 movx @dptr,a; genLabel 00127$:; _fsadd.c 94; genRightShift ; genSignedRightShift ; genRightShiftLiteral (6), size 4; genRightShiftLiteral wimping out mov b,#0x07 mov dptr,#___fsadd_mant1_1_1 movx a,@dptr mov r2,acc inc dptr movx a,@dptr mov r3,acc inc dptr movx a,@dptr mov r4,acc inc dptr movx a,@dptr mov r5,acc movx a,@dptr; Peephole 206 removed redundant mov a,a rlc a mov ov,c sjmp 00179$00178$: mov c,ov mov a,r5 rrc a mov r5,a mov a,r4 rrc a mov r4,a mov a,r3 rrc a mov r3,a mov a,r2 rrc a mov r2,a00179$: djnz b,00178$; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#___fsadd_mant1_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a inc dptr mov a,r4 movx @dptr,a inc dptr mov a,r5 movx @dptr,a; _fsadd.c 97; genAssign mov dptr,#___fsadd_mant1_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign movx a,@dptr mov r2,a inc dptr movx a,@dptr mov r3,a inc dptr movx a,@dptr mov r4,a inc dptr movx a,@dptr mov r5,a; genAnd mov dptr,#___fsadd_mant1_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a; better literal AND. mov a,r4 anl a, #0x7F inc dptr movx @dptr,a inc dptr mov a,r5 movx @dptr,a; _fsadd.c 100; genCast mov dptr,#___fsadd_exp1_1_1 movx a,@dptr mov r2,a inc dptr movx a,@dptr mov r3,a movx a,@dptr rlc a subb a,acc mov r4,a mov r5,a; genLeftShift ; genLeftShiftLiteral (23), size 4; genLeftShiftLiteral wimping out mov b,#0x18 sjmp 00181$00180$: mov a,r2 add a,acc mov r2,a mov a,r3 rlc a mov r3,a mov a,r4 rlc a mov r4,a mov a,r5 rlc a mov r5,a00181$: djnz b,00180$; genAssign mov dptr,#___fsadd_sign_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign movx a,@dptr mov r6,a inc dptr movx a,@dptr mov r7,a inc dptr movx a,@dptr mov r0,a inc dptr movx a,@dptr mov r1,a; genOr mov a,r6 orl ar2,a mov a,r7 orl ar3,a mov a,r0 orl ar4,a mov a,r1 orl ar5,a; genAssign mov dptr,#___fsadd_mant1_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign movx a,@dptr mov r6,a inc dptr movx a,@dptr mov r7,a inc dptr movx a,@dptr mov r0,a inc dptr movx a,@dptr mov r1,a; genOr mov a,r6 orl ar2,a mov a,r7 orl ar3,a mov a,r0 orl ar4,a mov a,r1 orl ar5,a; genPointerSet mov dptr,#___fsadd_fl1_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a inc dptr mov a,r4 movx @dptr,a inc dptr mov a,r5 movx @dptr,a; _fsadd.c 101; genPointerGet ; genFarPointerGet mov dptr,#___fsadd_fl1_1_1 movx a,@dptr inc dptr mov r2,a movx a,@dptr inc dptr mov r3,a movx a,@dptr inc dptr mov r4,a movx a,@dptr mov r5,a; genRet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5; genLabel 00128$:; genEndFunction ret .area CSEG (CODE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -