📄 vprintf.asm
字号:
; Peephole 132 changed ljmp to sjmp sjmp 00133$00321$:; vprintf.c 385 mov dpl,#0x20 push ar3 push ar5 push ar6 lcall _output_char pop ar6 pop ar5 pop ar3; vprintf.c 389; Peephole 132 changed ljmp to sjmp sjmp 00127$00133$: mov dpl,_value mov dph,(_value + 1) mov b,(_value + 2) lcall __gptrget; Peephole 105 removed redundant mov mov r3,a; Peephole 110 removed ljmp by inverse jump logic jz 00135$00322$:; vprintf.c 390 mov r3,_value mov r4,(_value + 1) mov r7,(_value + 2) mov a,#0x01 add a,r3 mov r0,a; Peephole 180 changed mov to clr clr a addc a,r4 mov r1,a mov ar2,r7 mov _value,r0 mov (_value + 1),r1 mov (_value + 2),r2 mov dpl,r3 mov dph,r4 mov b,r7 lcall __gptrget mov r3,a mov dpl,r3 push ar5 push ar6 lcall _output_char pop ar6 pop ar5; Peephole 132 changed ljmp to sjmp sjmp 00133$00135$:; vprintf.c 392 jb _vsprintf_left_justify_1_1,00323$ ljmp 00153$00323$: clr c mov a,_vsprintf_length_1_1 subb a,r5 jc 00324$ ljmp 00153$00324$:; vprintf.c 394 clr c mov a,r5 subb a,_vsprintf_length_1_1 mov r5,a; vprintf.c 395 mov ar2,r500136$: mov ar3,r2 dec r2 mov ar5,r2 cjne r3,#0x00,00325$ ljmp 00153$00325$:; vprintf.c 397 mov dpl,#0x20 push ar2 push ar5 push ar6 lcall _output_char pop ar6 pop ar5 pop ar2; vprintf.c 403; Peephole 132 changed ljmp to sjmp sjmp 00136$00142$: mov a,_vsprintf_PARM_3 add a,#0xfd mov r0,a mov _vsprintf_PARM_3,r0 mov ar2,@r0 mov r3,#0x00 mov r4,#0x00 mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4; vprintf.c 414; Peephole 221a remove redundant move clr c mov a,#0x03 subb a,0x0002 + _value; Peephole 108 removed ljmp by inverse jump logic jnc 00217$00326$: mov r2,#0x04; Peephole 132 changed ljmp to sjmp sjmp 00218$00217$: mov r2,(_value + 0x0002)00218$: mov a,r2; Peephole 180 changed mov to clr; Peephole 186 optimized movc sequence mov dptr,#_memory_id movc a,@a+dptr mov r2,a mov dpl,r2 push ar5 push ar6 lcall _output_char pop ar6 pop ar5; vprintf.c 415 mov dpl,#0x3A push ar5 push ar6 lcall _output_char pop ar6 pop ar5; vprintf.c 416 mov dpl,#0x30 push ar5 push ar6 lcall _output_char pop ar6 pop ar5; vprintf.c 417 mov dpl,#0x78 push ar5 push ar6 lcall _output_char pop ar6 pop ar5; vprintf.c 418; Peephole 221a remove redundant move mov a,0x0002 + _value; Peephole 110 removed ljmp by inverse jump logic jz 00144$00327$:; vprintf.c 419; Peephole 221a remove redundant move mov a,0x0002 + _value cjne a,#0x03,00328$; Peephole 132 changed ljmp to sjmp sjmp 00144$00328$:; vprintf.c 420 mov dpl,(_value + 0x0001) push ar5 push ar6 lcall _output_2digits pop ar6 pop ar500144$:; vprintf.c 421 mov dpl,_value push ar5 push ar6 lcall _output_2digits pop ar6 pop ar5; vprintf.c 423; vprintf.c 427; Peephole 132 changed ljmp to sjmp sjmp 00153$00146$: setb _vsprintf_signed_argument_1_1; vprintf.c 428 mov _radix,#0x0A; vprintf.c 429; vprintf.c 432; Peephole 132 changed ljmp to sjmp sjmp 00153$00148$: mov _radix,#0x08; vprintf.c 433; vprintf.c 436; Peephole 132 changed ljmp to sjmp sjmp 00153$00149$: mov _radix,#0x0A; vprintf.c 437; vprintf.c 440; Peephole 132 changed ljmp to sjmp sjmp 00153$00150$: mov _radix,#0x10; vprintf.c 441; vprintf.c 444; Peephole 132 changed ljmp to sjmp sjmp 00153$00151$: setb _vsprintf_float_argument_1_1; vprintf.c 445; vprintf.c 449; Peephole 132 changed ljmp to sjmp sjmp 00153$00152$: mov dpl,r6 push ar5 push ar6 lcall _output_char pop ar6 pop ar5; vprintf.c 45100153$:; vprintf.c 453 jb _vsprintf_float_argument_1_1,00329$ ljmp 00204$00329$:; vprintf.c 454 mov a,_vsprintf_PARM_3 add a,#0xfc mov r0,a mov _vsprintf_PARM_3,r0 mov ar2,@r0 inc r0 mov ar3,@r0 inc r0 mov ar4,@r0 inc r0 mov ar7,@r0 dec r0 dec r0 dec r0 mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4 mov (_value + 3),r7; vprintf.c 456 mov r2,#__str_0 mov r3,#(__str_0 >> 8) mov r4,#0x02 mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4; vprintf.c 45700154$: mov r2,_value mov r3,(_value + 1) mov r4,(_value + 2) mov a,#0x01 add a,r2 mov r7,a; Peephole 180 changed mov to clr clr a addc a,r3 mov r0,a mov ar1,r4 mov _value,r7 mov (_value + 1),r0 mov (_value + 2),r1 mov dpl,r2 mov dph,r3 mov b,r4 lcall __gptrget; Peephole 166 removed redundant mov mov r2,a mov ar6,r2 jnz 00330$ ljmp 00209$00330$:; vprintf.c 458 mov dpl,r6 push ar5 push ar6 lcall _output_char pop ar6 pop ar5; Peephole 132 changed ljmp to sjmp sjmp 00154$00204$:; vprintf.c 469 mov a,_radix jnz 00331$ ljmp 00209$00331$:; vprintf.c 475; Peephole 111 removed ljmp by inverse jump logic jnb _vsprintf_char_argument_1_1,00165$00332$:; vprintf.c 477 mov a,_vsprintf_PARM_3 dec a mov r0,a mov _vsprintf_PARM_3,r0 mov ar2,@r0 mov a,r2 rlc a subb a,acc mov r3,a mov r4,a mov r7,a mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4 mov (_value + 3),r7; vprintf.c 478 jnb _vsprintf_signed_argument_1_1,00333$ ljmp 00166$00333$:; vprintf.c 480 mov (_value + 0x0001),#0x00; vprintf.c 481 mov (_value + 0x0002),#0x00; vprintf.c 482 mov (_value + 0x0003),#0x00; Peephole 132 changed ljmp to sjmp sjmp 00166$00165$:; vprintf.c 485; Peephole 111 removed ljmp by inverse jump logic jnb _vsprintf_long_argument_1_1,00162$00334$:; vprintf.c 487 mov a,_vsprintf_PARM_3 add a,#0xfc mov r0,a mov _vsprintf_PARM_3,r0 mov ar2,@r0 inc r0 mov ar3,@r0 inc r0 mov ar4,@r0 inc r0 mov ar7,@r0 dec r0 dec r0 dec r0 mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4 mov (_value + 3),r7; Peephole 132 changed ljmp to sjmp sjmp 00166$00162$:; vprintf.c 491 mov a,_vsprintf_PARM_3 add a,#0xfe mov r0,a mov _vsprintf_PARM_3,r0 mov ar2,@r0 inc r0 mov ar3,@r0 dec r0 mov a,r3 rlc a subb a,acc mov r4,a mov r7,a mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4 mov (_value + 3),r7; vprintf.c 492; Peephole 112 removed ljmp by inverse jump logic jb _vsprintf_signed_argument_1_1,00166$00335$:; vprintf.c 494 mov (_value + 0x0002),#0x00; vprintf.c 495 mov (_value + 0x0003),#0x0000166$:; vprintf.c 499; Peephole 111 removed ljmp by inverse jump logic jnb _vsprintf_signed_argument_1_1,00171$00336$:; vprintf.c 501 mov a,(_value + 3); Peephole 111 removed ljmp by inverse jump logic jnb acc.7,00168$00337$:; vprintf.c 502 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 r7,a mov _value,r2 mov (_value + 1),r3 mov (_value + 2),r4 mov (_value + 3),r7; Peephole 132 changed ljmp to sjmp sjmp 00171$00168$:; vprintf.c 504 clr _vsprintf_signed_argument_1_100171$:; vprintf.c 508 setb _lsd; vprintf.c 511 mov r2,#0x0000175$:; vprintf.c 512 mov (_value + 0x0004),#0x00; vprintf.c 513 push ar2 push ar5 push ar6 lcall _calculate_digit pop ar6 pop ar5 pop ar2; vprintf.c 527 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 inc r2; vprintf.c 530; Peephole 167 removed redundant bit moves (c not set to _lsd) cpl _lsd ; vprintf.c 531 mov a,_value; Peephole 162 removed sjmp by inverse jump logic jz 00339$00338$:; Peephole 132 changed ljmp to sjmp sjmp 00175$00339$:; Peephole 221a remove redundant move mov a,0x0001 + _value; Peephole 162 removed sjmp by inverse jump logic jz 00341$00340$:; Peephole 132 changed ljmp to sjmp sjmp 00175$00341$:; vprintf.c 532; Peephole 221a remove redundant move mov a,0x0002 + _value; Peephole 162 removed sjmp by inverse jump logic jz 00343$00342$:; Peephole 132 changed ljmp to sjmp sjmp 00175$00343$:; Peephole 221a remove redundant move mov a,0x0003 + _value jnz 00344$ mov a,#0x01 sjmp 00345$00344$: clr a00345$: mov r3,a mov _vsprintf_length_1_1,r2 mov a,r3 jnz 00346$ ljmp 00175$00346$:; vprintf.c 534; Peephole 132 changed ljmp to sjmp; Peephole 199 optimized misc jump sequence cjne r5,#0x00,00179$;00347$:; Peephole 200 removed redundant sjmp00348$:; vprintf.c 539 mov r5,#0x0100179$:; vprintf.c 543; Peephole 112 removed ljmp by inverse jump logic jb _vsprintf_zero_padding_1_1,00184$00349$:; vprintf.c 545 mov a,#0x01 add a,_vsprintf_length_1_1 mov r2,a mov ar3,r500180$: clr c mov a,r2 subb a,r3 clr a rlc a mov r2,a mov ar5,r3 mov a,r2; Peephole 110 removed ljmp by inverse jump logic jz 00184$00350$:; vprintf.c 547 mov dpl,#0x20 push ar3 push ar5 push ar6 lcall _output_char pop ar6 pop ar5 pop ar3; vprintf.c 548 dec r3; Peephole 132 changed ljmp to sjmp sjmp 00180$00184$:; vprintf.c 552; Peephole 111 removed ljmp by inverse jump logic jnb _vsprintf_signed_argument_1_1,00193$00351$:; vprintf.c 554 mov dpl,#0x2D push ar5 push ar6 lcall _output_char pop ar6 pop ar5; vprintf.c 556 dec r5; Peephole 132 changed ljmp to sjmp sjmp 00283$00193$:; vprintf.c 558 mov a,_vsprintf_length_1_1; Peephole 110 removed ljmp by inverse jump logic jz 00283$00352$:; vprintf.c 561; Peephole 111 removed ljmp by inverse jump logic jnb _vsprintf_prefix_sign_1_1,00188$00353$:; vprintf.c 563 mov dpl,#0x2B push ar5 push ar6 lcall _output_char pop ar6 pop ar5; vprintf.c 565 dec r5; Peephole 132 changed ljmp to sjmp sjmp 00283$00188$:; vprintf.c 567; Peephole 111 removed ljmp by inverse jump logic jnb _vsprintf_prefix_space_1_1,00283$00354$:; vprintf.c 569 mov dpl,#0x20 push ar5 push ar6 lcall _output_char pop ar6 pop ar5; vprintf.c 571 dec r5; vprintf.c 57600283$: mov ar2,r500195$: mov ar3,r2 dec r2 clr c mov a,_vsprintf_length_1_1 subb a,r3; Peephole 108 removed ljmp by inverse jump logic jnc 00285$00355$:; vprintf.c 578; Peephole 111 removed ljmp by inverse jump logic jnb _vsprintf_zero_padding_1_1,00219$00356$: mov r3,#0x30; Peephole 132 changed ljmp to sjmp sjmp 00220$00219$: mov r3,#0x2000220$: mov dpl,r3 push ar2 push ar6 lcall _output_char pop ar6 pop ar2; vprintf.c 582; Peephole 132 changed ljmp to sjmp sjmp 00195$00285$: mov r2,_vsprintf_length_1_100198$: mov ar3,r2 dec r2 mov a,r3 jnz 00357$ ljmp 00209$00357$:; vprintf.c 584; Peephole 167 removed redundant bit moves (c not set to _lsd) cpl _lsd ; vprintf.c 599 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 mov dpl,(_value + 0x0004) push ar2 push ar6 lcall _output_digit pop ar6 pop ar2; Peephole 132 changed ljmp to sjmp sjmp 00198$00207$:; vprintf.c 608 mov dpl,r6 lcall _output_char ljmp 00209$00211$:; vprintf.c 614; Peephole 111 removed ljmp by inverse jump logic jnb _output_to_string,00213$00358$:; vprintf.c 615 mov dpl,#0x00 lcall _output_char; vprintf.c 616 mov a,_charsOutputted add a,#0xff mov dpl,a mov a,(_charsOutputted + 1) addc a,#0xff mov dph,a; Peephole 132 changed ljmp to sjmp sjmp 00215$00213$:; vprintf.c 618 mov dpl,_charsOutputted mov dph,(_charsOutputted + 1)00215$: ret;------------------------------------------------------------;Allocation info for local variables in function 'vprintf';------------------------------------------------------------;ap Allocated to in memory with name '_vprintf_PARM_2';format Allocated to registers ; vprintf.c 624; -----------------------------------------; function vprintf; -----------------------------------------_vprintf:; vprintf.c 626 mov _vsprintf_PARM_2,dpl mov (_vsprintf_PARM_2 + 1),dph mov (_vsprintf_PARM_2 + 2),b mov _vsprintf_PARM_3,_vprintf_PARM_2; Peephole 181 used 16 bit load of dptr mov dptr,#0x0000 mov b,#0x00 lcall _vsprintf00101$: ret .area CSEG (CODE)_memory_id: .ascii "IXCP-" .db 0x00__str_0: .ascii "<NO FLOAT>" .db 0x00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -