📄 vprintf.asm
字号:
00300$:
; vprintf.c 347
; genAssign
setb _vsprintf_zero_padding_1_1
ljmp 00104$
00110$:
; vprintf.c 350
; genIpush
push ar5
; genMult
; genMultOneByte
clr F0
mov a,r7
jnb acc.7,00301$
setb F0
cpl a
inc a
00301$:
mov b,#0x0a
mul ab
jnb F0,00302$
cpl a
add a,#1
xch a,b
cpl a
addc a,#0
xch a,b
00302$:
mov r7,a
mov r0,b
; genMinus
mov a,r6
add a,#0xd0
; genCast
; Peephole 105 removed redundant mov
mov r1,a
rlc a
subb a,acc
mov r5,a
; genPlus
mov a,r1
add a,r7
mov r7,a
mov a,r5
addc a,r0
mov r0,a
; genCast
mov dptr,#_vsprintf_decimals_1_1
mov a,r7
movx @dptr,a
; vprintf.c 352
; genIpop
pop ar5
ljmp 00104$
00113$:
; vprintf.c 355
; genCmpEq
; Peephole 132 changed ljmp to sjmp
; Peephole 199 optimized misc jump sequence
cjne r6,#0x2E,00117$
;00303$:
; Peephole 200 removed redundant sjmp
00304$:
; vprintf.c 356
; genAssign
mov dptr,#_vsprintf_decimals_1_1
; Peephole 180 changed mov to clr
clr a
movx @dptr,a
; vprintf.c 359
ljmp 00104$
00117$:
; vprintf.c 362
; genCall
mov dpl,r6
push ar2
push ar3
push ar4
push ar5
push ar6
lcall _islower
mov a,dpl
pop ar6
pop ar5
pop ar4
pop ar3
pop ar2
; genAssign
clr c
jz 00305$
cpl c
00305$:
mov _lower_case,c
; vprintf.c 363
; genIfx
; genIfxJump
; Peephole 111 removed ljmp by inverse jump logic
jnb _lower_case,00119$
00306$:
; vprintf.c 365
; genAnd
mov dptr,#_vsprintf_c_1_1
mov a,#0xDF
anl a,r6
movx @dptr,a
00119$:
; vprintf.c 368
; genAssign
mov dptr,#_vsprintf_c_1_1
movx a,@dptr
mov r6,a
; genCmpEq
cjne r6,#0x20,00307$
; Peephole 132 changed ljmp to sjmp
sjmp 00122$
00307$:
; genCmpEq
cjne r6,#0x2B,00308$
; Peephole 132 changed ljmp to sjmp
sjmp 00121$
00308$:
; genCmpEq
cjne r6,#0x2D,00309$
; Peephole 132 changed ljmp to sjmp
sjmp 00120$
00309$:
; genCmpEq
cjne r6,#0x42,00310$
; Peephole 132 changed ljmp to sjmp
sjmp 00123$
00310$:
; genCmpEq
cjne r6,#0x43,00311$
; Peephole 132 changed ljmp to sjmp
sjmp 00125$
00311$:
; genCmpEq
cjne r6,#0x44,00312$
ljmp 00146$
00312$:
; genCmpEq
cjne r6,#0x46,00313$
ljmp 00151$
00313$:
; genCmpEq
cjne r6,#0x49,00314$
ljmp 00146$
00314$:
; genCmpEq
cjne r6,#0x4C,00315$
; Peephole 132 changed ljmp to sjmp
sjmp 00124$
00315$:
; genCmpEq
cjne r6,#0x4F,00316$
ljmp 00148$
00316$:
; genCmpEq
cjne r6,#0x50,00317$
ljmp 00142$
00317$:
; genCmpEq
cjne r6,#0x53,00318$
; Peephole 132 changed ljmp to sjmp
sjmp 00126$
00318$:
; genCmpEq
cjne r6,#0x55,00319$
ljmp 00149$
00319$:
; genCmpEq
cjne r6,#0x58,00320$
ljmp 00150$
00320$:
ljmp 00152$
; vprintf.c 371
00120$:
; genAssign
setb _vsprintf_left_justify_1_1
; vprintf.c 372
ljmp 00104$
; vprintf.c 374
00121$:
; genAssign
setb _vsprintf_prefix_sign_1_1
; vprintf.c 375
ljmp 00104$
; vprintf.c 377
00122$:
; genAssign
setb _vsprintf_prefix_space_1_1
; vprintf.c 378
ljmp 00104$
; vprintf.c 380
00123$:
; genAssign
setb _vsprintf_char_argument_1_1
; vprintf.c 381
ljmp 00104$
; vprintf.c 383
00124$:
; genAssign
setb _vsprintf_long_argument_1_1
; vprintf.c 384
ljmp 00104$
; vprintf.c 387
00125$:
; genAssign
mov dptr,#_vsprintf_PARM_3
movx a,@dptr
; genMinus
; genMinusDec
; Peephole 105 removed redundant mov
mov r2,a
add a,#0xfe
; genAssign
; Peephole 100 removed redundant mov
mov r0,a
mov dptr,#_vsprintf_PARM_3
movx @dptr,a
; genPointerGet
; genNearPointerGet
mov ar2,@r0
inc r0
mov ar3,@r0
dec r0
; genCast
; genCall
mov dpl,r2
push ar5
push ar6
lcall _output_char
pop ar6
pop ar5
; vprintf.c 388
ljmp 00153$
; vprintf.c 391
00126$:
; genAssign
mov dptr,#_vsprintf_PARM_3
movx a,@dptr
; genMinus
; genMinusDec
; Peephole 105 removed redundant mov
mov r2,a
add a,#0xfd
; genAssign
; Peephole 100 removed redundant mov
mov r0,a
mov dptr,#_vsprintf_PARM_3
movx @dptr,a
; genPointerGet
; genNearPointerGet
mov ar2,@r0
inc r0
mov ar3,@r0
inc r0
mov ar4,@r0
dec r0
dec r0
; genPointerSet
; genNearPointerSet
; genDataPointerSet
mov _value,r2
mov (_value + 1),r3
mov (_value + 2),r4
; vprintf.c 401
; genCall
mov dpl,r2
mov dph,r3
mov b,r4
push ar5
push ar6
lcall _strlen
mov r2,dpl
mov r3,dph
pop ar6
pop ar5
; genCast
; vprintf.c 403
; genIfx
; genIfxJump
; Peephole 112 removed ljmp by inverse jump logic
jb _vsprintf_left_justify_1_1,00133$
00321$:
; genAssign
mov dptr,#_vsprintf_width_1_1
movx a,@dptr
mov r3,a
; genCmpLt
; genCmp
clr c
mov a,r2
subb a,r3
; genIfxJump
; Peephole 108 removed ljmp by inverse jump logic
jnc 00133$
00322$:
; vprintf.c 405
; genMinus
clr c
mov a,r3
subb a,r2
mov r3,a
; vprintf.c 406
; genAssign
00127$:
; genAssign
mov ar4,r3
; genMinus
; genMinusDec
dec r3
; genAssign
mov dptr,#_vsprintf_width_1_1
mov a,r3
movx @dptr,a
; genCmpEq
cjne r4,#0x00,00323$
; Peephole 132 changed ljmp to sjmp
sjmp 00133$
00323$:
; vprintf.c 408
; genCall
mov dpl,#0x20
push ar2
push ar3
push ar5
push ar6
lcall _output_char
pop ar6
pop ar5
pop ar3
pop ar2
; vprintf.c 412
; Peephole 132 changed ljmp to sjmp
sjmp 00127$
00133$:
; genPointerGet
; genNearPointerGet
; genDataPointerGet
mov r3,_value
mov r4,(_value + 1)
mov r7,(_value + 2)
; genPointerGet
; genGenPointerGet
mov dpl,r3
mov dph,r4
mov b,r7
lcall __gptrget
; genIfx
; Peephole 105 removed redundant mov
mov r3,a
; genIfxJump
; Peephole 110 removed ljmp by inverse jump logic
jz 00135$
00324$:
; vprintf.c 413
; genIpush
push ar5
; genPointerGet
; genNearPointerGet
; genDataPointerGet
mov r3,_value
mov r4,(_value + 1)
mov r7,(_value + 2)
; genPlus
; genPlusIncr
mov a,#0x01
add a,r3
mov r0,a
; Peephole 180 changed mov to clr
clr a
addc a,r4
mov r1,a
mov ar5,r7
; genPointerSet
; genNearPointerSet
; genDataPointerSet
mov _value,r0
mov (_value + 1),r1
mov (_value + 2),r5
; genPointerGet
; genGenPointerGet
mov dpl,r3
mov dph,r4
mov b,r7
lcall __gptrget
mov r3,a
; genCall
mov dpl,r3
push ar2
push ar5
push ar6
lcall _output_char
pop ar6
pop ar5
pop ar2
; genIpop
pop ar5
; Peephole 132 changed ljmp to sjmp
sjmp 00133$
00135$:
; vprintf.c 415
; genIfx
; genIfxJump
jb _vsprintf_left_justify_1_1,00325$
ljmp 00153$
00325$:
; genAssign
mov dptr,#_vsprintf_width_1_1
movx a,@dptr
mov r3,a
; genCmpLt
; genCmp
clr c
mov a,r2
subb a,r3
; genIfxJump
jc 00326$
ljmp 00153$
00326$:
; vprintf.c 417
; genMinus
clr c
mov a,r3
subb a,r2
mov r2,a
; vprintf.c 418
; genAssign
00136$:
; genAssign
mov ar3,r2
; genMinus
; genMinusDec
dec r2
; genAssign
mov dptr,#_vsprintf_width_1_1
mov a,r2
movx @dptr,a
; genCmpEq
cjne r3,#0x00,00327$
ljmp 00153$
00327$:
; vprintf.c 420
; genCall
mov dpl,#0x20
push ar2
push ar5
push ar6
lcall _output_char
pop ar6
pop ar5
pop ar2
; vprintf.c 426
; Peephole 132 changed ljmp to sjmp
sjmp 00136$
00142$:
; genAssign
mov dptr,#_vsprintf_PARM_3
movx a,@dptr
; genMinus
; genMinusDec
; Peephole 105 removed redundant mov
mov r2,a
add a,#0xfd
; genAssign
; Peephole 100 removed redundant mov
mov r0,a
mov dptr,#_vsprintf_PARM_3
movx @dptr,a
; genPointerGet
; genNearPointerGet
mov ar2,@r0
inc r0
mov ar3,@r0
inc r0
mov ar4,@r0
dec r0
dec r0
; genPointerSet
; genNearPointerSet
; genDataPointerSet
mov _value,r2
mov (_value + 1),r3
mov (_value + 2),r4
; vprintf.c 437
; genAssign
; genCmpGt
; genCmp
clr c
mov a,#0x03
subb a,0x0002 + _value
; genIfxJump
; Peephole 108 removed ljmp by inverse jump logic
jnc 00217$
00328$:
; genAssign
mov r2,#0x04
; Peephole 132 changed ljmp to sjmp
sjmp 00218$
00217$:
; genPointerGet
; genNearPointerGet
; genDataPointerGet
mov r2,(_value + 0x0002)
00218$:
; genPlus
mov a,r2
; Peephole 180 changed mov to clr
; genPointerGet
; genCodePointerGet
; Peephole 186 optimized movc sequence
mov dptr,#_memory_id
movc a,@a+dptr
mov r2,a
; genCall
mov dpl,r2
push ar5
push ar6
lcall _output_char
pop ar6
pop ar5
; vprintf.c 438
; genCall
mov dpl,#0x3A
push ar5
push ar6
lcall _output_char
pop ar6
pop ar5
; vprintf.c 439
; genCall
mov dpl,#0x30
push ar5
push ar6
lcall _output_char
pop ar6
pop ar5
; vprintf.c 440
; genCall
mov dpl,#0x78
push ar5
push ar6
lcall _output_char
pop ar6
pop ar5
; vprintf.c 441
; genAssign
; genCmpEq
mov a,0x0002 + _value
; Peephole 110 removed ljmp by inverse jump logic
jz 00144$
00329$:
; vprintf.c 442
; genAssign
; genCmpEq
mov a,0x0002 + _value
cjne a,#0x03,00330$
; Peephole 132 changed ljmp to sjmp
sjmp 00144$
00330$:
; vprintf.c 443
; genAssign
; genCall
mov dpl,0x0001 + _value
push ar5
push ar6
lcall _output_2digits
pop ar6
pop ar5
00144$:
; vprintf.c 444
; genAssign
; genCall
mov dpl,_value
push ar5
push ar6
lcall _output_2digits
pop ar6
pop ar5
; vprintf.c 446
; vprintf.c 450
; Peephole 132 changed ljmp to sjmp
sjmp 00153$
00146$:
; genAssign
setb _vsprintf_signed_argument_1_1
; vprintf.c 451
; genAssign
mov dptr,#_radix
mov a,#0x0A
movx @dptr,a
; vprintf.c 452
; vprintf.c 455
; Peephole 132 changed ljmp to sjmp
sjmp 00153$
00148$:
; genAssign
mov dptr,#_radix
mov a,#0x08
movx @dptr,a
; vprintf.c 456
; vprintf.c 459
; Peephole 132 changed ljmp to sjmp
sjmp 00153$
00149$:
; genAssign
mov dptr,#_radix
mov a,#0x0A
movx @dptr,a
; vprintf.c 460
; vprintf.c 463
; Peephole 132 changed ljmp to sjmp
sjmp 00153$
00150$:
; genAssign
mov dptr,#_radix
mov a,#0x10
movx @dptr,a
; vprintf.c 464
; vprintf.c 467
; Peephole 132 changed ljmp to sjmp
sjmp 00153$
00151$:
; genAssign
setb _vsprintf_float_argument_1_1
; vprintf.c 468
; vprintf.c 472
; Peephole 132 changed ljmp to sjmp
sjmp 00153$
00152$:
; genCall
mov dpl,r6
push ar5
lcall _output_char
pop ar5
; vprintf.c 474
00153$:
; vprintf.c 476
; genIfx
; genIfxJump
jb _vsprintf_float_argument_1_1,00331$
ljmp 00204$
00331$:
; vprintf.c 477
; genAssign
mov dptr,#_vsprintf_PARM_3
movx a,@dptr
; genMinus
; genMinusDec
; Peephole 105 removed redundant mov
mov r2,a
add a,#0xfc
; genAssign
; Peephole 100 removed redundant mov
mov r0,a
mov dptr,#_vsprintf_PARM_3
movx @dptr,a
; genPointerGet
; genNearPointerGet
mov ar2,@r0
inc r0
mov ar3,@r0
inc r0
mov ar4,@r0
inc r0
mov ar6,@r0
dec r0
dec r0
dec r0
; genPointerSet
; genNearPointerSet
; genDataPointerSet
mov _value,r2
mov (_value + 1),r3
mov (_value + 2),r4
mov (_value + 3),r6
; vprintf.c 479
; genPointerSet
; genNearPointerSet
; genDataPointerSet
mov _value,#__str_0
mov (_value + 1),#(__str_0 >> 8)
mov (_value + 2),#0x02
; vprintf.c 480
00154$:
; genPointerGet
; genNearPointerGet
; genDataPointerGet
mov r2,_value
mov r3,(_value + 1)
mov r4,(_value + 2)
; genPlus
; genPlusIncr
mov a,#0x01
add a,r2
mov r6,a
; Peephole 180 changed mov to clr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -