📄 _fsmul.asm
字号:
dec dps movx a,@dptr inc dps movx @dptr,a dec dps inc dptr movx a,@dptr inc dps inc dptr movx @dptr,a dec dps inc dptr movx a,@dptr inc dps inc dptr movx @dptr,a dec dps inc dptr movx a,@dptr inc dps inc dptr movx @dptr,a; Peephole 220a removed bogus DPS set mov dps, #0x01 lcall __decdptr lcall __decdptr lcall __decdptr mov dps, #0x00 sjmp 00125$00124$: clr c inc dps inc dptr inc dptr inc dptr movx a,@dptr rrc a movx @dptr,a lcall __decdptr movx a,@dptr rrc a movx @dptr,a lcall __decdptr movx a,@dptr rrc a movx @dptr,a lcall __decdptr movx a,@dptr rrc a movx @dptr,a mov dps, #0x0000125$: djnz b,00124$; genAssign mov dptr,#___fsmul_sloc0_1_0; genAssign: resultIsFar = TRUE; genFarFarAssign (390 auto-toggle fun) mov dps, #0x21 mov dptr,#__mululong_PARM_2 movx a,@dptr movx @dptr,a inc dptr inc dptr movx a,@dptr movx @dptr,a inc dptr inc dptr movx a,@dptr movx @dptr,a inc dptr inc dptr movx a,@dptr movx @dptr,a mov dps, #0; genCall push ar2 mov dpl,r3 mov dph,r4 mov dpx,r5 mov b,r6 lcall __mululong mov r3,dpl mov r4,dph mov r5,dpx mov r6,b pop ar2; genRightShift ; genRightShiftLiteral (8), size 4; genRightShiftLiteral wimping out mov b,#0x09 sjmp 00127$00126$: clr c mov a,r6 rrc a mov r6,a mov a,r5 rrc a mov r5,a mov a,r4 rrc a mov r4,a mov a,r3 rrc a mov r3,a00127$: djnz b,00126$; genPlus mov dptr,#___fsmul_result_1_1; Swapped plus args. movx a,@dptr add a,r3 movx @dptr,a inc dptr movx a,@dptr addc a,r4 movx @dptr,a inc dptr movx a,@dptr addc a,r5 movx @dptr,a inc dptr movx a,@dptr addc a,r6 movx @dptr,a; _fsmul.c 105; genPointerGet ; genFarPointerGet mov dptr,#___fsmul_fl2_1_1 movx a,@dptr inc dptr mov r3,a movx a,@dptr inc dptr mov r4,a movx a,@dptr inc dptr mov r5,a movx a,@dptr mov r6,a; genAnd mov r4,#0x00 mov r5,#0x00 mov r6,#0x00; genPointerGet ; genFarPointerGet mov dptr,#___fsmul_fl1_1_1 mov dps, #0x01 mov dptr, #___fsmul_sloc1_1_0 dec dps movx a,@dptr inc dptr inc dps movx @dptr,a dec dps movx a,@dptr inc dptr inc dps inc dptr movx @dptr,a dec dps movx a,@dptr inc dptr inc dps inc dptr movx @dptr,a dec dps movx a,@dptr inc dps inc dptr movx @dptr,a mov dps, #0x00; genRightShift ; genRightShiftLiteral (8), size 4; genRightShiftLiteral wimping out mov b,#0x09 mov dptr,#___fsmul_sloc1_1_0 mov dps, #0x01 mov dptr, #___fsmul_sloc0_1_0 dec dps movx a,@dptr inc dps movx @dptr,a dec dps inc dptr movx a,@dptr inc dps inc dptr movx @dptr,a dec dps inc dptr movx a,@dptr inc dps inc dptr movx @dptr,a dec dps inc dptr movx a,@dptr inc dps inc dptr movx @dptr,a; Peephole 220a removed bogus DPS set mov dps, #0x01 lcall __decdptr lcall __decdptr lcall __decdptr mov dps, #0x00 sjmp 00129$00128$: clr c inc dps inc dptr inc dptr inc dptr movx a,@dptr rrc a movx @dptr,a lcall __decdptr movx a,@dptr rrc a movx @dptr,a lcall __decdptr movx a,@dptr rrc a movx @dptr,a lcall __decdptr movx a,@dptr rrc a movx @dptr,a mov dps, #0x0000129$: djnz b,00128$; genAssign mov dptr,#___fsmul_sloc0_1_0; genAssign: resultIsFar = TRUE; genFarFarAssign (390 auto-toggle fun) mov dps, #0x21 mov dptr,#__mululong_PARM_2 movx a,@dptr movx @dptr,a inc dptr inc dptr movx a,@dptr movx @dptr,a inc dptr inc dptr movx a,@dptr movx @dptr,a inc dptr inc dptr movx a,@dptr movx @dptr,a mov dps, #0; genCall push ar2 mov dpl,r3 mov dph,r4 mov dpx,r5 mov b,r6 lcall __mululong mov r3,dpl mov r4,dph mov r5,dpx mov r6,b pop ar2; genRightShift ; genRightShiftLiteral (8), size 4; genRightShiftLiteral wimping out mov b,#0x09 sjmp 00131$00130$: clr c mov a,r6 rrc a mov r6,a mov a,r5 rrc a mov r5,a mov a,r4 rrc a mov r4,a mov a,r3 rrc a mov r3,a00131$: djnz b,00130$; genPlus mov dptr,#___fsmul_result_1_1; Swapped plus args. movx a,@dptr add a,r3 movx @dptr,a inc dptr movx a,@dptr addc a,r4 movx @dptr,a inc dptr movx a,@dptr addc a,r5 movx @dptr,a inc dptr movx a,@dptr addc a,r6 movx @dptr,a; _fsmul.c 107; genAnd mov dptr,#___fsmul_result_1_1 movx a,@dptr anl a,#0x00 jnz 00132$ inc dptr movx a,@dptr anl a,#0x00 jnz 00132$ inc dptr movx a,@dptr anl a,#0x00 jnz 00132$ inc dptr movx a,@dptr anl a,#0x80 jnz 00132$ ljmp 00105$00132$:; _fsmul.c 110; genPlus mov dptr,#___fsmul_result_1_1; Swapped plus args. movx a,@dptr add a,#0x80 movx @dptr,a inc dptr movx a,@dptr addc a,#0x00 movx @dptr,a inc dptr movx a,@dptr addc a,#0x00 movx @dptr,a inc dptr movx a,@dptr addc a,#0x00 movx @dptr,a; _fsmul.c 111; genRightShift ; genRightShiftLiteral (8), size 4; genRightShiftLiteral wimping out mov b,#0x09 mov dptr,#___fsmul_result_1_1 movx a,@dptr mov r3,acc inc dptr movx a,@dptr mov r4,acc inc dptr movx a,@dptr mov r5,acc inc dptr movx a,@dptr mov r6,acc sjmp 00134$00133$: clr c mov a,r6 rrc a mov r6,a mov a,r5 rrc a mov r5,a mov a,r4 rrc a mov r4,a mov a,r3 rrc a mov r3,a00134$: djnz b,00133$; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#___fsmul_result_1_1 mov a,r3 movx @dptr,a inc dptr mov a,r4 movx @dptr,a inc dptr mov a,r5 movx @dptr,a inc dptr mov a,r6 movx @dptr,a; genGoto ljmp 00106$; genLabel 00105$:; _fsmul.c 116; genPlus mov dptr,#___fsmul_result_1_1; Swapped plus args. movx a,@dptr add a,#0x40 movx @dptr,a inc dptr movx a,@dptr addc a,#0x00 movx @dptr,a inc dptr movx a,@dptr addc a,#0x00 movx @dptr,a inc dptr movx a,@dptr addc a,#0x00 movx @dptr,a; _fsmul.c 117; genRightShift ; genRightShiftLiteral (7), size 4; genRightShiftLiteral wimping out mov b,#0x08 mov dptr,#___fsmul_result_1_1 movx a,@dptr mov r3,acc inc dptr movx a,@dptr mov r4,acc inc dptr movx a,@dptr mov r5,acc inc dptr movx a,@dptr mov r6,acc sjmp 00136$00135$: clr c mov a,r6 rrc a mov r6,a mov a,r5 rrc a mov r5,a mov a,r4 rrc a mov r4,a mov a,r3 rrc a mov r3,a00136$: djnz b,00135$; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#___fsmul_result_1_1 mov a,r3 movx @dptr,a inc dptr mov a,r4 movx @dptr,a inc dptr mov a,r5 movx @dptr,a inc dptr mov a,r6 movx @dptr,a; _fsmul.c 118; genMinus mov dptr,#___fsmul_exp_1_1 movx a,@dptr add a,#0xff mov r3,a inc dptr movx a,@dptr addc a,#0xff mov r4,a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#___fsmul_exp_1_1 mov a,r3 movx @dptr,a inc dptr mov a,r4 movx @dptr,a; genLabel 00106$:; _fsmul.c 121; genAnd mov dptr,#___fsmul_result_1_1 movx a,@dptr anl a,#0xFF movx @dptr,a inc dptr movx a,@dptr anl a,#0xFF movx @dptr,a inc dptr movx a,@dptr anl a,#0x7F movx @dptr,a inc dptr movx a,@dptr anl a,#0xFF movx @dptr,a; _fsmul.c 124; genAddrOf mov r3,#___fsmul_fl1_1_1 mov r4,#(___fsmul_fl1_1_1 >> 8) mov r5,#(___fsmul_fl1_1_1 >> 16); genIfx mov a,r2; genIfxJump ; Peephole 110 removed ljmp by inverse jump logic jz 00109$00137$:; genAssign ; genAssign: resultIsFar = FALSE mov r2,#0x00 mov r6,#0x00 mov r7,#0x00 mov r0,#0x80; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00110$00109$:; genAssign ; genAssign: resultIsFar = FALSE mov r2,#0x00 mov r6,#0x00 mov r7,#0x00 mov r0,#0x00; genLabel 00110$:; genCast mov dptr,#___fsmul_exp_1_1 mov dps, #0x01 mov dptr, #___fsmul_sloc1_1_0 dec dps movx a,@dptr inc dps movx @dptr,a dec dps inc dptr movx a,@dptr inc dps inc dptr movx @dptr,a mov dps, #0x00 movx a,@dptr rlc a subb a,acc mov dps, #0x01 inc dptr movx @dptr,a; Peephole 220a removed bogus DPS set mov dps, #0x01 inc dptr movx @dptr,a mov dps, #0x00; genLeftShift ; genLeftShiftLiteral (23), size 4; genLeftShiftLiteral wimping out mov b,#0x18 mov dptr,#___fsmul_sloc1_1_0 mov dps, #0x01 mov dptr, #___fsmul_sloc0_1_0 dec dps movx a,@dptr inc dps movx @dptr,a dec dps inc dptr movx a,@dptr inc dps inc dptr movx @dptr,a dec dps inc dptr movx a,@dptr inc dps inc dptr movx @dptr,a dec dps inc dptr movx a,@dptr inc dps inc dptr movx @dptr,a; Peephole 220a removed bogus DPS set mov dps, #0x01 lcall __decdptr lcall __decdptr lcall __decdptr mov dps, #0x00 sjmp 00139$00138$: mov dps, #0x01 movx a,@dptr mov dps, #0x00 add a,acc mov dps, #0x01 movx @dptr,a mov dps, #0x01 inc dptr movx a,@dptr rlc a movx @dptr,a inc dptr movx a,@dptr rlc a movx @dptr,a inc dptr movx a,@dptr rlc a movx @dptr,a; Peephole 220a removed bogus DPS set mov dps, #0x01 lcall __decdptr lcall __decdptr lcall __decdptr mov dps, #0x0000139$: djnz b,00138$; genOr mov dptr,#___fsmul_sloc0_1_0 movx a,@dptr orl ar2,a inc dptr movx a,@dptr orl ar6,a inc dptr movx a,@dptr orl ar7,a inc dptr movx a,@dptr orl ar0,a; genOr mov dptr,#___fsmul_result_1_1 movx a,@dptr orl ar2,a inc dptr movx a,@dptr orl ar6,a inc dptr movx a,@dptr orl ar7,a inc dptr movx a,@dptr orl ar0,a; genPointerSet mov dpl,r3 mov dph,r4 mov dpx,r5 mov a,r2 movx @dptr,a inc dptr mov a,r6 movx @dptr,a inc dptr mov a,r7 movx @dptr,a inc dptr mov a,r0 movx @dptr,a; _fsmul.c 125; genPointerGet ; genFarPointerGet mov dptr,#___fsmul_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 00107$:; genEndFunction ret .area CSEG (CODE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -