📄 vprintf.asm
字号:
; vprintf.c 451; genLabel 00155$:; vprintf.c 453; genIfx ; genIfxJump jb _vsprintf_float_argument_1_1,00329$ ljmp 00203$00329$:; vprintf.c 454; genAssign mov dptr,#_vsprintf_PARM_3; genAssign: resultIsFar = FALSE 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; genMinus mov a,r2 add a,#0xfc mov r2,a mov a,r3 addc a,#0xff mov r3,a mov a,r4 addc a,#0xff mov r4,a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_PARM_3 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; genPointerGet ; genGenPointerGet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __gptrget mov r2,a inc dptr lcall __gptrget mov r3,a inc dptr lcall __gptrget mov r4,a inc dptr lcall __gptrget mov r5,a; genPointerSet mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4 mov (_value + 3),r5; vprintf.c 467; genAssign mov dptr,#_vsprintf_width_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign (1 byte case) movx a,@dptr mov dptr,#_output_float_PARM_2 movx @dptr,a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_output_float_PARM_3 mov a,r0 movx @dptr,a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_output_float_PARM_4 clr a mov c,_vsprintf_left_justify_1_1 rlc a movx @dptr,a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_output_float_PARM_5 clr a mov c,_vsprintf_zero_padding_1_1 rlc a movx @dptr,a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_output_float_PARM_6 clr a mov c,_vsprintf_prefix_sign_1_1 rlc a movx @dptr,a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_output_float_PARM_7 clr a mov c,_vsprintf_prefix_space_1_1 rlc a movx @dptr,a; genCall mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall _output_float; genGoto ljmp 00208$; genLabel 00203$:; vprintf.c 469; genCmpEq mov dptr,#_radix; gencjneshort movx a,@dptr cjne a,#0x00,00330$ ljmp 00208$00330$:; vprintf.c 475; genIfx ; genIfxJump jb _vsprintf_char_argument_1_1,00331$ ljmp 00164$00331$:; vprintf.c 477; genAssign mov dptr,#_vsprintf_PARM_3; genAssign: resultIsFar = FALSE 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; genMinus dec r2 cjne r2,#0xff,00332$ dec r3 cjne r3,#0xff,00332$ dec r400332$:; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_PARM_3 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; genPointerGet ; genGenPointerGet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __gptrget; genCast ; Peephole 105 removed redundant mov mov r2,a rlc a subb a,acc mov r3,a mov r4,a mov r5,a; genPointerSet mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4 mov (_value + 3),r5; vprintf.c 478; genIfx ; genIfxJump jnb _vsprintf_signed_argument_1_1,00333$ ljmp 00165$00333$:; vprintf.c 480; genPointerSet mov (_value + 0x0001),#0x00; vprintf.c 481; genPointerSet mov (_value + 0x0002),#0x00; vprintf.c 482; genPointerSet mov (_value + 0x0003),#0x00; genGoto ljmp 00165$; genLabel 00164$:; vprintf.c 485; genIfx ; genIfxJump jb _vsprintf_long_argument_1_1,00334$ ljmp 00161$00334$:; vprintf.c 487; genAssign mov dptr,#_vsprintf_PARM_3; genAssign: resultIsFar = FALSE 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; genMinus mov a,r2 add a,#0xfc mov r2,a mov a,r3 addc a,#0xff mov r3,a mov a,r4 addc a,#0xff mov r4,a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_PARM_3 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; genPointerGet ; genGenPointerGet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __gptrget mov r2,a inc dptr lcall __gptrget mov r3,a inc dptr lcall __gptrget mov r4,a inc dptr lcall __gptrget mov r5,a; genPointerSet mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4 mov (_value + 3),r5; genGoto ljmp 00165$; genLabel 00161$:; vprintf.c 491; genAssign mov dptr,#_vsprintf_PARM_3; genAssign: resultIsFar = FALSE 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; genMinus mov a,r2 add a,#0xfe mov r2,a mov a,r3 addc a,#0xff mov r3,a mov a,r4 addc a,#0xff mov r4,a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_PARM_3 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; genPointerGet ; genGenPointerGet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __gptrget mov r2,a inc dptr lcall __gptrget; genCast ; Peephole 105 removed redundant mov mov r3,a rlc a subb a,acc mov r4,a mov r5,a; genPointerSet mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4 mov (_value + 3),r5; vprintf.c 492; genIfx ; genIfxJump ; Peephole 112 removed ljmp by inverse jump logic jb _vsprintf_signed_argument_1_1,00165$00335$:; vprintf.c 494; genPointerSet mov (_value + 0x0002),#0x00; vprintf.c 495; genPointerSet mov (_value + 0x0003),#0x00; genLabel 00165$:; vprintf.c 499; genIfx ; genIfxJump ; Peephole 111 removed ljmp by inverse jump logic jnb _vsprintf_signed_argument_1_1,00170$00336$:; vprintf.c 501; genPointerGet ; genCmpLt ; genCmp mov a,(_value + 3); genIfxJump ; Peephole 111 removed ljmp by inverse jump logic jnb acc.7,00167$00337$:; vprintf.c 502; genUminus clr c clr a subb a,_value mov r2,a clr a subb a,(_value + 1) mov r3,a clr a subb a,(_value + 2) mov r4,a clr a subb a,(_value + 3) mov r5,a; genPointerSet mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4 mov (_value + 3),r5; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00170$00167$:; vprintf.c 504; genAssign ; genAssign: resultIsFar = FALSE clr _vsprintf_signed_argument_1_1; genLabel 00170$:; vprintf.c 508; genAssign ; genAssign: resultIsFar = FALSE setb _lsd; vprintf.c 511; genAssign ; genAssign: resultIsFar = TRUE mov r2,#0x00; genLabel 00174$:; vprintf.c 512; genPointerSet mov (_value + 0x0004),#0x00; vprintf.c 513; genCall push ar2 lcall _calculate_digit pop ar2; vprintf.c 527; genInline jb _lsd,1$ pop b ; b = <lsd> mov a,_value+4 ; a = <msd> swap a orl b,a ; b = <msd><lsd> push b sjmp 2$1$: mov a,_value+4 ; a = <lsd> push acc2$:; vprintf.c 529; genPlus inc r2; did genPlusIncr; vprintf.c 530; genCpl ; Peephole 167 removed redundant bit moves (c not set to _lsd) cpl _lsd ; vprintf.c 531; genPointerGet ; genCmpEq ; gencjneshort mov a,_value; Peephole 162 removed sjmp by inverse jump logic jz 00339$00338$:; Peephole 132 changed ljmp to sjmp sjmp 00174$00339$:; genPointerGet ; Peephole 221a remove redundant move; genCmpEq ; gencjneshort mov a,0x0001 + _value; Peephole 162 removed sjmp by inverse jump logic jz 00341$00340$:; Peephole 132 changed ljmp to sjmp sjmp 00174$00341$:; vprintf.c 532; genPointerGet ; Peephole 221a remove redundant move; genCmpEq ; gencjneshort mov a,0x0002 + _value; Peephole 162 removed sjmp by inverse jump logic jz 00343$00342$:; Peephole 132 changed ljmp to sjmp sjmp 00174$00343$:; genPointerGet ; Peephole 221a remove redundant move; genCmpEq ; gencjne; gencjneshort mov a,0x0003 + _value jnz 00344$ mov a,#0x01 sjmp 00345$00344$: clr a00345$: mov r3,a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_length_1_1 mov a,r2 movx @dptr,a; genIfx mov a,r3; genIfxJump ; Peephole 110 removed ljmp by inverse jump logic jz 00174$00346$:; vprintf.c 534; genCmpEq mov dptr,#_vsprintf_width_1_1; gencjneshort movx a,@dptr; Peephole 132 changed ljmp to sjmp; Peephole 199 optimized misc jump sequence cjne a,#0x00,00178$;00347$:; Peephole 200 removed redundant sjmp00348$:; vprintf.c 539; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_width_1_1 mov a,#0x01 movx @dptr,a; genLabel 00178$:; vprintf.c 543; genIfx ; genIfxJump ; Peephole 112 removed ljmp by inverse jump logic jb _vsprintf_zero_padding_1_1,00183$00349$:; vprintf.c 545; genPlus mov dptr,#_vsprintf_length_1_1; Swapped plus args. movx a,@dptr add a,#0x01 mov r2,a; genAssign mov dptr,#_vsprintf_width_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign (1 byte case) movx a,@dptr mov r3,a; genLabel 00179$:; genCmpGt ; genCmp clr c; genCmp #1: 0/0/0 mov a,r2; genCmp #2; genCmp #4; genCmp #4.2 subb a,r3 clr a rlc a mov r2,a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_width_1_1 mov a,r3 movx @dptr,a; genIfx mov a,r2; genIfxJump ; Peephole 110 removed ljmp by inverse jump logic jz 00183$00350$:; vprintf.c 547; genCall push ar3 mov dpl,#0x20 lcall _output_char pop ar3; vprintf.c 548; genMinus dec r3; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00179$00183$:; vprintf.c 552; genIfx ; genIfxJump ; Peephole 111 removed ljmp by inverse jump logic jnb _vsprintf_signed_argument_1_1,00192$00351$:; vprintf.c 554; genCall mov dpl,#0x2D lcall _output_char; vprintf.c 556; genMinus mov dptr,#_vsprintf_width_1_1 movx a,@dptr dec a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_width_1_1 movx @dptr,a; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00280$00192$:; vprintf.c 558; genCmpEq mov dptr,#_vsprintf_length_1_1; gencjneshort movx a,@dptr cjne a,#0x00,00352$; Peephole 132 changed ljmp to sjmp sjmp 00280$00352$:; vprintf.c 561; genIfx ; genIfxJump ; Peephole 111 removed ljmp by inverse jump logic jnb _vsprintf_prefix_sign_1_1,00187$00353$:; vprintf.c 563; genCall mov dpl,#0x2B lcall _output_char; vprintf.c 565; genMinus mov dptr,#_vsprintf_width_1_1 movx a,@dptr dec a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_width_1_1 movx @dptr,a; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00280$00187$:; vprintf.c 567; genIfx ; genIfxJump ; Peephole 111 removed ljmp by inverse jump logic jnb _vsprintf_prefix_space_1_1,00280$00354$:; vprintf.c 569; genCall mov dpl,#0x20 lcall _output_char; vprintf.c 571; genMinus mov dptr,#_vsprintf_width_1_1 movx a,@dptr dec a; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_width_1_1 movx @dptr,a; vprintf.c 576; genLabel 00280$:; genAssign mov dptr,#_vsprintf_width_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign (1 byte case) movx a,@dptr mov r2,a; genLabel 00194$:; genAssign ; genAssign: resultIsFar = FALSE mov ar3,r2; genMinus dec r2; genCmpGt mov dptr,#_vsprintf_length_1_1; genCmp clr c; genCmp #1: 0/0/0 movx a,@dptr; genCmp #2; genCmp #4; genCmp #4.2 subb a,r3; genIfxJump ; Peephole 108 removed ljmp by inverse jump logic jnc 00282$00355$:; vprintf.c 578; genIfx ; genIfxJump ; Peephole 111 removed ljmp by inverse jump logic jnb _vsprintf_zero_padding_1_1,00218$00356$:; genAssign ; genAssign: resultIsFar = FALSE mov r3,#0x30; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00219$00218$:; genAssign ; genAssign: resultIsFar = FALSE mov r3,#0x20; genLabel 00219$:; genCall push ar2 mov dpl,r3 lcall _output_char pop ar2; genGoto ; vprintf.c 582; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00194$00282$:; genAssign mov dptr,#_vsprintf_length_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign (1 byte case) movx a,@dptr mov r2,a; genLabel 00197$:; genAssign ; genAssign: resultIsFar = FALSE mov ar3,r2; genMinus dec r2; genIfx mov a,r3; genIfxJump jnz 00357$ ljmp 00208$00357$:; vprintf.c 584; genCpl ; Peephole 167 removed redundant bit moves (c not set to _lsd) cpl _lsd ; vprintf.c 599; genInline jb _lsd,3$ pop acc ; a = <msd><lsd> nop ; to disable the "optimizer" push acc swap a anl a,#0x0F ; a = <msd> sjmp 4$3$: pop acc anl a,#0x0F ; a = <lsd>4$: mov _value+4,a; vprintf.c 601; genPointerGet ; Peephole 221a remove redundant move; genCall push ar2 mov dpl,0x0004 + _value lcall _output_digit pop ar2; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00197$00206$:; vprintf.c 608; genCall mov dptr,#_vsprintf_c_1_1 movx a,@dptr mov dpl,a lcall _output_char; genGoto ljmp 00208$; genLabel 00210$:; vprintf.c 614; genIfx ; genIfxJump ; Peephole 111 removed ljmp by inverse jump logic jnb _output_to_string,00212$00358$:; vprintf.c 615; genCall mov dpl,#0x00 lcall _output_char; vprintf.c 616; genMinus mov dptr,#_charsOutputted movx a,@dptr add a,#0xff mov r2,a inc dptr movx a,@dptr addc a,#0xff mov r3,a; genRet mov dpl,r2 mov dph,r3; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00214$00212$:; vprintf.c 618; genRet mov dps, #0x01 mov dptr, #_charsOutputted movx a,@dptr mov dpl,a inc dptr movx a,@dptr mov dph,a mov dps, #0x00; genLabel 00214$:; genEndFunction ret; vprintf.c 624; genFunction ; -----------------------------------------; function vprintf; --------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -