📄 printfl.asm
字号:
; Peephole 132 changed ljmp to sjmp
sjmp 00120$
00139$:
; printfl.c 102
; genInline
pop _ch
; printfl.c 103
; genCall
mov dpl,_ch
push ar2
lcall _putchar
pop ar2
; Peephole 132 changed ljmp to sjmp
sjmp 00117$
00120$:
ret
;------------------------------------------------------------
;Allocation info for local variables in function 'printf_small'
;------------------------------------------------------------
;fmt Allocated to stack - offset -5
;ap Allocated to stack - offset 1
;sloc0 Allocated to stack - offset 2
;sloc1 Allocated to stack - offset 2
;sloc2 Allocated to stack - offset 6
;sloc3 Allocated to stack - offset 5
; printfl.c 107
; -----------------------------------------
; function printf_small
; -----------------------------------------
_printf_small:
push _bp
mov _bp,sp
mov a,sp
add a,#0x07
mov sp,a
; printfl.c 111
; genAddrOf
mov a,_bp
add a,#0xfb
mov r2,a
; genAssign
; Peephole 212 reduced add sequence to inc
mov r0,_bp
inc r0
mov @r0,ar2
00127$:
; printfl.c 113
; genAssign
mov a,_bp
add a,#0xfb
mov r0,a
mov ar3,@r0
inc r0
mov ar4,@r0
inc r0
mov ar5,@r0
; genPointerGet
; genGenPointerGet
mov dpl,r3
mov dph,r4
mov b,r5
lcall __gptrget
; genIfx
; Peephole 105 removed redundant mov
mov r6,a
; genIfxJump
jnz 00149$
ljmp 00131$
00149$:
; printfl.c 114
; genCmpEq
cjne r6,#0x25,00150$
sjmp 00151$
00150$:
ljmp 00125$
00151$:
; printfl.c 115
; genAssign
clr _char_flag
; genAssign
clr _string_flag
; genAssign
clr _long_flag
; printfl.c 116
; genPlus
; genPlusIncr
inc r3
cjne r3,#0x00,00152$
inc r4
00152$:
; genAssign
mov a,_bp
add a,#0xfb
mov r0,a
mov @r0,ar3
inc r0
mov @r0,ar4
inc r0
mov @r0,ar5
; printfl.c 117
; genPointerGet
; genGenPointerGet
mov dpl,r3
mov dph,r4
mov b,r5
lcall __gptrget
mov r7,a
; genCmpEq
cjne r7,#0x68,00153$
; Peephole 132 changed ljmp to sjmp
sjmp 00102$
00153$:
; genCmpEq
; Peephole 132 changed ljmp to sjmp
; Peephole 199 optimized misc jump sequence
cjne r7,#0x6C,00103$
;00154$:
; Peephole 200 removed redundant sjmp
00155$:
; printfl.c 119
; genAssign
setb _long_flag
; printfl.c 120
; genPlus
mov a,_bp
add a,#0xfb
mov r0,a
; genPlusIncr
mov a,#0x01
add a,r3
mov @r0,a
; Peephole 180 changed mov to clr
clr a
addc a,r4
inc r0
mov @r0,a
inc r0
mov @r0,ar5
; printfl.c 121
; printfl.c 123
; Peephole 132 changed ljmp to sjmp
sjmp 00103$
00102$:
; genAssign
setb _char_flag
; printfl.c 124
; genPlus
mov a,_bp
add a,#0xfb
mov r0,a
; genPlusIncr
mov a,#0x01
add a,r3
mov @r0,a
; Peephole 180 changed mov to clr
clr a
addc a,r4
inc r0
mov @r0,a
inc r0
mov @r0,ar5
; printfl.c 125
00103$:
; printfl.c 127
; genAssign
mov a,_bp
add a,#0xfb
mov r0,a
mov ar3,@r0
inc r0
mov ar4,@r0
inc r0
mov ar5,@r0
; genPointerGet
; genGenPointerGet
mov dpl,r3
mov dph,r4
mov b,r5
lcall __gptrget
mov r3,a
; genCmpEq
cjne r3,#0x63,00156$
; Peephole 132 changed ljmp to sjmp
sjmp 00107$
00156$:
; genCmpEq
cjne r3,#0x64,00157$
; Peephole 132 changed ljmp to sjmp
sjmp 00105$
00157$:
; genCmpEq
cjne r3,#0x6F,00158$
; Peephole 132 changed ljmp to sjmp
sjmp 00108$
00158$:
; genCmpEq
cjne r3,#0x73,00159$
; Peephole 132 changed ljmp to sjmp
sjmp 00104$
00159$:
; genCmpEq
; Peephole 132 changed ljmp to sjmp
; printfl.c 129
; Peephole 132 changed ljmp to sjmp
; Peephole 199 optimized misc jump sequence
cjne r3,#0x78,00109$
sjmp 00106$
;00160$:
00104$:
; genAssign
setb _string_flag
; printfl.c 130
; printfl.c 132
; Peephole 132 changed ljmp to sjmp
sjmp 00109$
00105$:
; genAssign
mov _radix,#0x0A
; printfl.c 133
; printfl.c 135
; Peephole 132 changed ljmp to sjmp
sjmp 00109$
00106$:
; genAssign
mov _radix,#0x10
; printfl.c 136
; printfl.c 138
; Peephole 132 changed ljmp to sjmp
sjmp 00109$
00107$:
; genAssign
mov _radix,#0x00
; printfl.c 139
; printfl.c 141
; Peephole 132 changed ljmp to sjmp
sjmp 00109$
00108$:
; genAssign
mov _radix,#0x08
; printfl.c 143
00109$:
; printfl.c 145
; genIfx
; genIfxJump
jb _string_flag,00161$
ljmp 00114$
00161$:
; printfl.c 146
; genMinus
; Peephole 212 reduced add sequence to inc
mov r1,_bp
inc r1
; genMinusDec
mov a,@r1
add a,#0xfd
mov r0,a
; genAssign
; Peephole 212 reduced add sequence to inc
mov r1,_bp
inc r1
mov @r1,ar0
; genPointerGet
; genNearPointerGet
mov _str,@r0
inc r0
mov (_str + 1),@r0
inc r0
mov (_str + 2),@r0
dec r0
dec r0
; printfl.c 147
00110$:
; genAssign
mov a,_bp
add a,#0x02
mov r0,a
mov @r0,_str
inc r0
mov @r0,(_str + 1)
inc r0
mov @r0,(_str + 2)
; genPointerGet
; genGenPointerGet
mov a,_bp
add a,#0x02
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
lcall __gptrget
; genIfx
; Peephole 105 removed redundant mov
mov r3,a
; genIfxJump
jnz 00162$
ljmp 00129$
00162$:
; genAssign
mov a,_bp
add a,#0x05
mov r0,a
mov @r0,_str
inc r0
mov @r0,(_str + 1)
inc r0
mov @r0,(_str + 2)
; genPointerGet
; genGenPointerGet
mov a,_bp
add a,#0x05
mov r0,a
mov dpl,@r0
inc r0
mov dph,@r0
inc r0
mov b,@r0
lcall __gptrget
mov r7,a
; genPlus
; genPlusIncr
mov a,#0x01
add a,_str
mov r5,a
; Peephole 180 changed mov to clr
clr a
addc a,(_str + 1)
mov r4,a
mov r2,(_str + 2)
; genAssign
mov _str,r5
mov (_str + 1),r4
mov (_str + 2),r2
; genAssign
; genCall
mov dpl,r7
push ar2
push ar3
push ar4
push ar5
push ar6
push ar7
lcall _putchar
pop ar7
pop ar6
pop ar5
pop ar4
pop ar3
pop ar2
ljmp 00110$
; printfl.c 148
00114$:
; printfl.c 151
; genIfx
; genIfxJump
; Peephole 111 removed ljmp by inverse jump logic
jnb _long_flag,00119$
00163$:
; printfl.c 152
; genMinus
; Peephole 212 reduced add sequence to inc
mov r1,_bp
inc r1
; genMinusDec
mov a,@r1
add a,#0xfc
mov r0,a
; genAssign
; Peephole 212 reduced add sequence to inc
mov r1,_bp
inc r1
mov @r1,ar0
; genPointerGet
; genNearPointerGet
mov _val,@r0
inc r0
mov (_val + 1),@r0
inc r0
mov (_val + 2),@r0
inc r0
mov (_val + 3),@r0
dec r0
dec r0
dec r0
; Peephole 132 changed ljmp to sjmp
sjmp 00120$
00119$:
; printfl.c 154
; genIfx
; genIfxJump
; Peephole 111 removed ljmp by inverse jump logic
jnb _char_flag,00116$
00164$:
; printfl.c 155
; genMinus
; Peephole 212 reduced add sequence to inc
mov r1,_bp
inc r1
; genMinusDec
mov a,@r1
dec a
mov r0,a
; genAssign
; Peephole 212 reduced add sequence to inc
mov r1,_bp
inc r1
mov @r1,ar0
; genPointerGet
; genNearPointerGet
mov ar2,@r0
; genCast
mov _val,r2
mov a,r2
rlc a
subb a,acc
mov (_val + 1),a
mov (_val + 2),a
mov (_val + 3),a
; Peephole 132 changed ljmp to sjmp
sjmp 00120$
00116$:
; printfl.c 157
; genMinus
; Peephole 212 reduced add sequence to inc
mov r1,_bp
inc r1
; genMinusDec
mov a,@r1
add a,#0xfe
mov r0,a
; genAssign
; Peephole 212 reduced add sequence to inc
mov r1,_bp
inc r1
mov @r1,ar0
; genPointerGet
; genNearPointerGet
mov ar2,@r0
inc r0
mov ar3,@r0
dec r0
; genCast
mov _val,r2
mov (_val + 1),r3
mov a,r3
rlc a
subb a,acc
mov (_val + 2),a
mov (_val + 3),a
00120$:
; printfl.c 159
; genIfx
mov a,_radix
; genIfxJump
; Peephole 110 removed ljmp by inverse jump logic
jz 00122$
00165$:
; genCall
push ar6
lcall _pval
pop ar6
; Peephole 132 changed ljmp to sjmp
sjmp 00129$
00122$:
; printfl.c 160
; genCast
mov r2,_val
; genCall
mov dpl,r2
push ar6
lcall _putchar
pop ar6
; Peephole 132 changed ljmp to sjmp
sjmp 00129$
00125$:
; printfl.c 163
; genCall
mov dpl,r6
lcall _putchar
00129$:
; printfl.c 113
; genPlus
mov a,_bp
add a,#0xfb
mov r0,a
; genPlusIncr
inc @r0
cjne @r0,#0x00,00166$
inc r0
inc @r0
00166$:
ljmp 00127$
00131$:
mov sp,_bp
pop _bp
ret
.area CSEG (CODE)
__str_0:
.ascii "0123456789ABCDEF"
.db 0x00
.area XINIT (CODE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -