📄 _fsmul.asm
字号:
;--------------------------------------------------------; File Created by SDCC : FreeWare ANSI-C Compiler; Version 2.3.0 Thu Sep 20 10:57:24 2001;-------------------------------------------------------- .module _fsmul ;--------------------------------------------------------; Public variables in this module;-------------------------------------------------------- .globl ___fsmul_PARM_2 .globl ___fsmul;--------------------------------------------------------; special function registers;--------------------------------------------------------;--------------------------------------------------------; special function bits ;--------------------------------------------------------;--------------------------------------------------------; internal ram data;-------------------------------------------------------- .area DSEG (DATA)___fsmul_sloc0_1_0:: .ds 4;--------------------------------------------------------; overlayable items in internal ram ;-------------------------------------------------------- .area OSEG (OVR,DATA);--------------------------------------------------------; indirectly addressable internal ram data;-------------------------------------------------------- .area ISEG (DATA);--------------------------------------------------------; bit data;-------------------------------------------------------- .area BSEG (BIT);--------------------------------------------------------; external ram data;-------------------------------------------------------- .area XSEG (XDATA)___fsmul_PARM_2:: .ds 4___fsmul_a1_1_1:: .ds 4___fsmul_fl1_1_1:: .ds 4___fsmul_fl2_1_1:: .ds 4___fsmul_result_1_1:: .ds 4___fsmul_exp_1_1:: .ds 2___fsmul_sign_1_1:: .ds 1;--------------------------------------------------------; global & static initialisations;-------------------------------------------------------- .area GSINIT (CODE) .area GSFINAL (CODE) .area GSINIT (CODE);--------------------------------------------------------; Home;-------------------------------------------------------- .area HOME (CODE) .area CSEG (CODE);--------------------------------------------------------; code;-------------------------------------------------------- .area CSEG (CODE);------------------------------------------------------------;Allocation info for local variables in function '__fsmul';------------------------------------------------------------;sloc0 Allocated to in memory with name '___fsmul_sloc0_1_0';a2 Allocated to in memory with name '___fsmul_PARM_2';a1 Allocated to in memory with name '___fsmul_a1_1_1';fl1 Allocated to in memory with name '___fsmul_fl1_1_1';fl2 Allocated to in memory with name '___fsmul_fl2_1_1';result Allocated to in memory with name '___fsmul_result_1_1';exp Allocated to in memory with name '___fsmul_exp_1_1';sign Allocated to in memory with name '___fsmul_sign_1_1'; _fsmul.c 81; -----------------------------------------; function __fsmul; -----------------------------------------___fsmul: ar2 = 0x02 ar3 = 0x03 ar4 = 0x04 ar5 = 0x05 ar6 = 0x06 ar7 = 0x07 ar0 = 0x00 ar1 = 0x01; _fsmul.c 125 push acc push b push dph push dpl mov dptr,#___fsmul_a1_1_1 pop acc movx @dptr,a pop acc inc dptr movx @dptr,a pop acc inc dptr movx @dptr,a pop acc inc dptr movx @dptr,a; _fsmul.c 88 mov dptr,#___fsmul_a1_1_1 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 mov dptr,#___fsmul_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; _fsmul.c 89 mov dptr,#___fsmul_PARM_2 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 mov dptr,#___fsmul_fl2_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; _fsmul.c 91 mov dptr,#___fsmul_fl1_1_1 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 mov a,r2 orl a,r3 orl a,r4 orl a,r5; Peephole 110 removed ljmp by inverse jump logic jz 00101$00114$: mov dptr,#___fsmul_fl2_1_1 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 mov a,r2 orl a,r3 orl a,r4 orl a,r5; Peephole 109 removed ljmp by inverse jump logic jnz 00102$00115$:00101$:; _fsmul.c 92; Peephole 3.a changed mov to clr; Peephole 3.b changed mov to clr; Peephole 3.b changed mov to clr clr a mov dpl,a mov dph,a mov b,a ljmp 00107$00102$:; _fsmul.c 95 mov dptr,#___fsmul_fl1_1_1 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; Peephole 105 removed redundant mov mov r5,a rl a anl a,#0x01 mov r2,a mov dptr,#___fsmul_fl2_1_1 movx a,@dptr mov r3,a inc dptr movx a,@dptr mov r4,a inc dptr movx a,@dptr mov r5,a inc dptr movx a,@dptr; Peephole 105 removed redundant mov mov r6,a rl a anl a,#0x01 mov r3,a mov dptr,#___fsmul_sign_1_1 mov a,r3 xrl a,ar2 movx @dptr,a; _fsmul.c 96 mov dptr,#___fsmul_fl1_1_1 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 mov ar2,r4 mov a,r5 mov c,acc.7 xch a,r2 rlc a xch a,r2 rlc a xch a,r2 anl a,#0x01 mov r3,a; Peephole 3.c changed mov to clr; Peephole 3.b changed mov to clr; Peephole 3.b changed mov to clr; Peephole 3.b changed mov to clr clr a mov r4,a mov r5,a mov r3,a mov r4,a mov r5,a mov a,r2 add a,#0x82 mov r2,a mov a,r3 addc a,#0xff mov r3,a mov a,r4 addc a,#0xff mov r4,a mov a,r5 addc a,#0xff mov r5,a mov dptr,#___fsmul_exp_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a; _fsmul.c 97 mov dptr,#___fsmul_fl2_1_1 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 mov ar2,r4 mov a,r5 mov c,acc.7 xch a,r2 rlc a xch a,r2 rlc a xch a,r2 anl a,#0x01 mov r3,a mov r4,#0x00 mov r5,#0x00 mov r3,#0x00 mov r4,#0x00 mov r5,#0x00 mov dptr,#___fsmul_exp_1_1 movx a,@dptr mov r6,a inc dptr movx a,@dptr; Peephole 105 removed redundant mov mov r7,a rlc a subb a,acc mov r0,a mov r1,a mov a,r2 add a,r6 mov r2,a mov a,r3 addc a,r7 mov r3,a mov a,r4 addc a,r0 mov r4,a mov a,r5 addc a,r1 mov r5,a mov dptr,#___fsmul_exp_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a; _fsmul.c 99 mov dptr,#___fsmul_fl1_1_1 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 anl ar4,#0x7F mov r5,#0x00 orl ar4,#0x80 mov dptr,#___fsmul_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; _fsmul.c 100 mov dptr,#___fsmul_fl2_1_1 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 anl ar4,#0x7F mov r5,#0x00 orl ar4,#0x80 mov dptr,#___fsmul_fl2_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; _fsmul.c 103 mov dptr,#___fsmul_fl1_1_1 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 mov ar2,r3 mov ar3,r4 mov a,r5 mov r4,a rlc a subb a,acc mov r5,a mov dptr,#___fsmul_fl2_1_1 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 mov ar6,r7 mov ar7,r0 mov a,r1 mov r0,a rlc a subb a,acc mov r1,a mov dptr,#__mulslong_PARM_2 mov a,r6 movx @dptr,a inc dptr mov a,r7 movx @dptr,a inc dptr mov a,r0 movx @dptr,a inc dptr mov a,r1 movx @dptr,a mov dpl,r2 mov dph,r3 mov b,r4 mov a,r5 lcall __mulslong mov r2,dpl mov r3,dph mov r4,b mov r5,a mov dptr,#___fsmul_result_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; _fsmul.c 104 mov dptr,#___fsmul_fl1_1_1 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 mov r3,#0x00 mov r4,#0x00 mov r5,#0x00 mov dptr,#___fsmul_fl2_1_1 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 mov ar6,r7 mov ar7,r0 mov ar0,r1 mov r1,#0x00 mov dptr,#__mululong_PARM_2 mov a,r6 movx @dptr,a inc dptr mov a,r7 movx @dptr,a inc dptr mov a,r0 movx @dptr,a inc dptr mov a,r1 movx @dptr,a mov dpl,r2 mov dph,r3 mov b,r4 mov a,r5 lcall __mululong mov r2,dpl mov r3,dph mov r4,b mov r5,a mov ar2,r3 mov ar3,r4 mov ar4,r5 mov r5,#0x00 mov dptr,#___fsmul_result_1_1 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 mov dptr,#___fsmul_result_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; _fsmul.c 105 mov dptr,#___fsmul_fl2_1_1 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 mov r3,#0x00 mov r4,#0x00 mov r5,#0x00 mov dptr,#___fsmul_fl1_1_1 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 mov ar6,r7 mov ar7,r0 mov ar0,r1 mov r1,#0x00 mov dptr,#__mululong_PARM_2 mov a,r6 movx @dptr,a inc dptr mov a,r7 movx @dptr,a inc dptr mov a,r0 movx @dptr,a inc dptr mov a,r1 movx @dptr,a mov dpl,r2 mov dph,r3 mov b,r4 mov a,r5 lcall __mululong mov r2,dpl mov r3,dph mov r4,b mov r5,a mov ar2,r3 mov ar3,r4 mov ar4,r5 mov r5,#0x00 mov dptr,#___fsmul_result_1_1 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 mov dptr,#___fsmul_result_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; _fsmul.c 107 mov dptr,#___fsmul_result_1_1 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; Peephole 105 removed redundant mov mov r5,a jb acc.7,00116$ ljmp 00105$00116$:; _fsmul.c 110 mov dptr,#___fsmul_result_1_1 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 mov dptr,#___fsmul_result_1_1 mov a,#0x80 add a,r2 movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r3 inc dptr movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r4 inc dptr movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r5 inc dptr movx @dptr,a; _fsmul.c 111 mov dptr,#___fsmul_result_1_1 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 mov ar2,r3 mov ar3,r4 mov ar4,r5 mov r5,#0x00 mov dptr,#___fsmul_result_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 ljmp 00106$00105$:; _fsmul.c 116 mov dptr,#___fsmul_result_1_1 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 mov dptr,#___fsmul_result_1_1 mov a,#0x40 add a,r2 movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r3 inc dptr movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r4 inc dptr movx @dptr,a; Peephole 180 changed mov to clr clr a addc a,r5 inc dptr movx @dptr,a; _fsmul.c 117 mov dptr,#___fsmul_result_1_1 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 mov a,r3 mov c,acc.7 xch a,r2 rlc a xch a,r2 rlc a xch a,r2 anl a,#0x01 mov r3,a mov a,r4 add a,acc orl a,r3 mov r3,a mov a,r5 mov c,acc.7 xch a,r4 rlc a xch a,r4 rlc a xch a,r4 anl a,#0x01 mov r5,a mov dptr,#___fsmul_result_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; _fsmul.c 118 mov dptr,#___fsmul_exp_1_1 movx a,@dptr add a,#0xff mov r2,a inc dptr movx a,@dptr addc a,#0xff mov r3,a mov dptr,#___fsmul_exp_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a00106$:; _fsmul.c 121 mov dptr,#___fsmul_result_1_1 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 mov dptr,#___fsmul_result_1_1 mov a,r2 movx @dptr,a inc dptr mov a,r3 movx @dptr,a mov a,#0x7F anl a,r4 inc dptr movx @dptr,a inc dptr mov a,r5 movx @dptr,a; _fsmul.c 124 mov r2,#___fsmul_fl1_1_1 mov r3,#(___fsmul_fl1_1_1 >> 8) mov dptr,#___fsmul_sign_1_1 movx a,@dptr; Peephole 105 removed redundant mov mov r4,a; Peephole 110 removed ljmp by inverse jump logic jz 00109$00117$: mov r4,#0x00 mov r5,#0x00 mov r6,#0x00 mov r7,#0x80; Peephole 132 changed ljmp to sjmp sjmp 00110$00109$: mov r4,#0x00 mov r5,#0x00 mov r6,#0x00 mov r7,#0x0000110$: mov dptr,#___fsmul_exp_1_1 movx a,@dptr mov r0,a inc dptr movx a,@dptr mov r1,a mov ___fsmul_sloc0_1_0,r0 mov (___fsmul_sloc0_1_0 + 1),r1 mov a,r1 rlc a subb a,acc mov (___fsmul_sloc0_1_0 + 2),a mov (___fsmul_sloc0_1_0 + 3),a mov (___fsmul_sloc0_1_0 + 2),___fsmul_sloc0_1_0 mov a,(___fsmul_sloc0_1_0 + 1) anl a,#0x01 mov c,acc.0 xch a,(___fsmul_sloc0_1_0 + 2) rrc a xch a,(___fsmul_sloc0_1_0 + 2) rrc a xch a,(___fsmul_sloc0_1_0 + 2) mov (___fsmul_sloc0_1_0 + 3),a mov (___fsmul_sloc0_1_0 + 1),#0x00 mov ___fsmul_sloc0_1_0,#0x00 mov a,___fsmul_sloc0_1_0 orl ar4,a mov a,(___fsmul_sloc0_1_0 + 1) orl ar5,a mov a,(___fsmul_sloc0_1_0 + 2) orl ar6,a mov a,(___fsmul_sloc0_1_0 + 3) orl ar7,a mov dptr,#___fsmul_result_1_1 movx a,@dptr mov ___fsmul_sloc0_1_0,a inc dptr movx a,@dptr mov (___fsmul_sloc0_1_0 + 1),a inc dptr movx a,@dptr mov (___fsmul_sloc0_1_0 + 2),a inc dptr movx a,@dptr mov (___fsmul_sloc0_1_0 + 3),a mov a,___fsmul_sloc0_1_0 orl ar4,a mov a,(___fsmul_sloc0_1_0 + 1) orl ar5,a mov a,(___fsmul_sloc0_1_0 + 2) orl ar6,a mov a,(___fsmul_sloc0_1_0 + 3) orl ar7,a mov dpl,r2 mov dph,r3 mov a,r4 movx @dptr,a inc dptr mov a,r5 movx @dptr,a inc dptr mov a,r6 movx @dptr,a inc dptr mov a,r7 movx @dptr,a; _fsmul.c 125 mov dptr,#___fsmul_fl1_1_1 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; Peephole 191 removed redundant mov mov r5,a mov dpl,r2 mov dph,r3 mov b,r400107$: ret .area CSEG (CODE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -