📄 vprintf.asm
字号:
; genLabel 00121$:; vprintf.c 345; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x20,00305$ ljmp 00124$00305$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x2B,00306$ ljmp 00123$00306$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x2D,00307$ ljmp 00122$00307$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x42,00308$ ljmp 00125$00308$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x43,00309$ ljmp 00127$00309$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x44,00310$ ljmp 00148$00310$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x46,00311$ ljmp 00153$00311$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x49,00312$ ljmp 00148$00312$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x4C,00313$; Peephole 132 changed ljmp to sjmp sjmp 00126$00313$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x4F,00314$ ljmp 00150$00314$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x50,00315$ ljmp 00147$00315$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x53,00316$ ljmp 00128$00316$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x55,00317$ ljmp 00151$00317$:; genCmpEq mov dptr,#_vsprintf_c_1_1; gencjneshort movx a,@dptr cjne a,#0x58,00318$ ljmp 00152$00318$:; genGoto ljmp 00154$; vprintf.c 348; genLabel 00122$:; genAssign ; genAssign: resultIsFar = FALSE setb _vsprintf_left_justify_1_1; vprintf.c 349; genGoto ljmp 00106$; vprintf.c 351; genLabel 00123$:; genAssign ; genAssign: resultIsFar = FALSE setb _vsprintf_prefix_sign_1_1; vprintf.c 352; genGoto ljmp 00106$; vprintf.c 354; genLabel 00124$:; genAssign ; genAssign: resultIsFar = FALSE setb _vsprintf_prefix_space_1_1; vprintf.c 355; genGoto ljmp 00106$; vprintf.c 357; genLabel 00125$:; genAssign ; genAssign: resultIsFar = FALSE setb _vsprintf_char_argument_1_1; vprintf.c 358; genGoto ljmp 00106$; vprintf.c 360; genLabel 00126$:; genAssign ; genAssign: resultIsFar = FALSE setb _vsprintf_long_argument_1_1; vprintf.c 361; genGoto ljmp 00106$; vprintf.c 364; genLabel 00127$:; 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 mov r3,a; genCast ; genCall push ar0 mov dpl,r2 lcall _output_char pop ar0; vprintf.c 365; genGoto ljmp 00155$; vprintf.c 368; genLabel 00128$:; 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 371; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_sloc3_1_0 clr a movx @dptr,a inc dptr movx @dptr,a inc dptr movx @dptr,a inc dptr movx @dptr,a; genCmpEq mov dptr,#_vsprintf_sloc3_1_0; gencjneshort; cjneshort: generic ptr special case. mov b,r2 movx a,@dptr cjne a,b,00319$ mov b,r3 inc dptr movx a,@dptr cjne a,b,00319$ mov b,r4 inc dptr movx a,@dptr cjne a,b,00319$ sjmp 00320$00319$:; Peephole 132 changed ljmp to sjmp sjmp 00130$00320$:; vprintf.c 372; genCast mov r2,#__str_1 mov r3,#(__str_1 >> 8) mov r4,#(__str_1 >> 16) mov r5,#0x02; genPointerSet mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4 mov (_value + 3),r5; vprintf.c 373; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_length_1_1 mov a,#0x06 movx @dptr,a; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00131$00130$:; vprintf.c 375; genIpush push ar0; genPointerGet mov r3,_value mov r4,(_value + 1) mov r5,(_value + 2) mov r2,(_value + 3); genCall push ar0 mov dpl,r3 mov dph,r4 mov dpx,r5 mov b,r2 lcall _strlen mov r2,dpl mov r3,dph pop ar0; genCast mov dptr,#_vsprintf_length_1_1 mov a,r2 movx @dptr,a; vprintf.c 618; genIpop pop ar0; vprintf.c 375; genLabel 00131$:; vprintf.c 380; genIfx ; genIfxJump jnb _vsprintf_left_justify_1_1,00321$ ljmp 00138$00321$:; genCmpLt mov dptr,#_vsprintf_width_1_1 mov dps, #0x01 mov dptr, #_vsprintf_length_1_1 dec dps; genCmp clr c; genCmp #1: 0/0/0 mov dps, #0x01 movx a,@dptr mov dps, #0x00; genCmp #2; genCmp #4; genCmp #4.1 xch a, b movx a,@dptr xch a, b subb a,b; genIfxJump ; Peephole 108 removed ljmp by inverse jump logic jnc 00138$00322$:; vprintf.c 382; genMinus mov dptr,#_vsprintf_width_1_1 mov dps, #0x01 mov dptr, #_vsprintf_length_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 mov dps, #0x00 pop acc movx @dptr,a; vprintf.c 383; genAssign mov dptr,#_vsprintf_width_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign (1 byte case) movx a,@dptr mov r2,a; genLabel 00132$:; genAssign ; genAssign: resultIsFar = FALSE mov ar3,r2; genMinus dec r2; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_width_1_1 mov a,r2 movx @dptr,a; genCmpEq ; gencjneshort mov a,r3 cjne a,#0x00,00323$; Peephole 132 changed ljmp to sjmp sjmp 00138$00323$:; vprintf.c 385; genCall push ar2 push ar0 mov dpl,#0x20 lcall _output_char pop ar0 pop ar2; genGoto ; vprintf.c 389; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00132$00138$:; genPointerGet mov r2,_value mov r3,(_value + 1) mov r4,(_value + 2) mov r5,(_value + 3); genPointerGet ; genGenPointerGet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __gptrget; genIfx ; Peephole 105 removed redundant mov mov r2,a; genIfxJump ; Peephole 110 removed ljmp by inverse jump logic jz 00140$00324$:; vprintf.c 390; genIpush push ar0; genPointerGet mov r2,_value mov r3,(_value + 1) mov r4,(_value + 2) mov r5,(_value + 3); genPlus mov a,#0x01 add a,r2 mov r1,a; Peephole 180 changed mov to clr clr a addc a,r3 mov r0,a; Peephole 180 changed mov to clr clr a addc a,r4 mov r6,a mov ar7,r5; genPointerSet mov _value,r1 mov (_value + 1),r0 mov (_value + 2),r6 mov (_value + 3),r7; genPointerGet ; genGenPointerGet mov dpl,r2 mov dph,r3 mov dpx,r4 mov b,r5 lcall __gptrget mov r2,a; genCall push ar0 mov dpl,r2 lcall _output_char pop ar0; genIpop pop ar0; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00138$00140$:; vprintf.c 392; genIfx ; genIfxJump jb _vsprintf_left_justify_1_1,00325$ ljmp 00155$00325$:; genCmpLt mov dptr,#_vsprintf_width_1_1 mov dps, #0x01 mov dptr, #_vsprintf_length_1_1 dec dps; genCmp clr c; genCmp #1: 0/0/0 mov dps, #0x01 movx a,@dptr mov dps, #0x00; genCmp #2; genCmp #4; genCmp #4.1 xch a, b movx a,@dptr xch a, b subb a,b; genIfxJump jc 00326$ ljmp 00155$00326$:; vprintf.c 394; genMinus mov dptr,#_vsprintf_width_1_1 mov dps, #0x01 mov dptr, #_vsprintf_length_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 mov dps, #0x00 pop acc movx @dptr,a; vprintf.c 395; genAssign mov dptr,#_vsprintf_width_1_1; genAssign: resultIsFar = TRUE; genFarFarAssign (1 byte case) movx a,@dptr mov r2,a; genLabel 00141$:; genAssign ; genAssign: resultIsFar = FALSE mov ar3,r2; genMinus dec r2; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_vsprintf_width_1_1 mov a,r2 movx @dptr,a; genCmpEq ; gencjneshort mov a,r3 cjne a,#0x00,00327$ ljmp 00155$00327$:; vprintf.c 397; genCall push ar2 push ar0 mov dpl,#0x20 lcall _output_char pop ar0 pop ar2; genGoto ; vprintf.c 403; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00141$00147$:; 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 406; genPointerGet ; Peephole 221a remove redundant move; genCmpGt ; genCmp clr c; genCmp #1: 0/0/0 mov a,#0x03; genCmp #2; genCmp #4; genCmp #4.2 subb a,0x0003 + _value; genIfxJump ; Peephole 108 removed ljmp by inverse jump logic jnc 00216$00328$:; genAssign ; genAssign: resultIsFar = FALSE mov r2,#0x04; genGoto ; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00217$00216$:; genPointerGet mov r2,(_value + 0x0003); genLabel 00217$:; genPlus mov a,r2 add a,#_memory_id mov r2,a; Peephole 180 changed mov to clr clr a addc a,#(_memory_id >> 8) mov r3,a; Peephole 180 changed mov to clr clr a addc a,#(_memory_id >> 16) mov r4,a; genPointerGet mov dpl,r2 mov dph,r3 mov dpx,r4 clr a movc a,@a+dptr mov r2,a; genCall push ar0 mov dpl,r2 lcall _output_char pop ar0; vprintf.c 407; genCall push ar0 mov dpl,#0x3A lcall _output_char pop ar0; vprintf.c 408; genCall push ar0 mov dpl,#0x30 lcall _output_char pop ar0; vprintf.c 409; genCall push ar0 mov dpl,#0x78 lcall _output_char pop ar0; vprintf.c 410; genPointerGet ; Peephole 221a remove redundant move; genCall push ar0 mov dpl,0x0002 + _value lcall _output_2digits pop ar0; vprintf.c 411; genPointerGet ; Peephole 221a remove redundant move; genCall push ar0 mov dpl,0x0001 + _value lcall _output_2digits pop ar0; vprintf.c 412; genPointerGet ; genCall push ar0 mov dpl,_value lcall _output_2digits pop ar0; vprintf.c 423; genGoto ; vprintf.c 427; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00155$00148$:; genAssign ; genAssign: resultIsFar = FALSE setb _vsprintf_signed_argument_1_1; vprintf.c 428; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_radix mov a,#0x0A movx @dptr,a; vprintf.c 429; genGoto ; vprintf.c 432; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00155$00150$:; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_radix mov a,#0x08 movx @dptr,a; vprintf.c 433; genGoto ; vprintf.c 436; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00155$00151$:; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_radix mov a,#0x0A movx @dptr,a; vprintf.c 437; genGoto ; vprintf.c 440; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00155$00152$:; genAssign ; genAssign: resultIsFar = TRUE mov dptr,#_radix mov a,#0x10 movx @dptr,a; vprintf.c 441; genGoto ; vprintf.c 444; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00155$00153$:; genAssign ; genAssign: resultIsFar = FALSE setb _vsprintf_float_argument_1_1; vprintf.c 445; genGoto ; vprintf.c 449; genLabel ; Peephole 132 changed ljmp to sjmp sjmp 00155$00154$:; genCall push ar0 mov dptr,#_vsprintf_c_1_1 movx a,@dptr mov dpl,a lcall _output_char pop ar0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -