printer: shorten text size when argsize is zero
This commit is contained in:
@@ -20,15 +20,14 @@ func main() {
|
||||
DATA(38, U8(0x66))
|
||||
DATA(39, U8(0x77))
|
||||
|
||||
// TEXT ·DataAt(SB),0,$0-9
|
||||
TEXT("DataAt", "func(i int) byte")
|
||||
i := Load(Param("i"), GP64v()) // MOVQ i+0(FP), AX
|
||||
i := Load(Param("i"), GP64v())
|
||||
ptr := Mem{Base: GP64v()}
|
||||
LEAQ(bytes, ptr.Base) // LEAQ b<>+0x00(SB), BX
|
||||
LEAQ(bytes, ptr.Base)
|
||||
b := GP8v()
|
||||
MOVB(ptr.Idx(i, 1), b) // MOVB 0(BX)(AX*1), CL
|
||||
Store(b, ReturnIndex(0)) // MOVB CL, ret+8(FP)
|
||||
RET() // RET
|
||||
MOVB(ptr.Idx(i, 1), b)
|
||||
Store(b, ReturnIndex(0))
|
||||
RET()
|
||||
|
||||
Generate()
|
||||
}
|
||||
|
||||
@@ -10,10 +10,10 @@ DATA bytes<>+32(SB)/4, $0x00112233
|
||||
DATA bytes<>+36(SB)/2, $0x4455
|
||||
DATA bytes<>+38(SB)/1, $0x66
|
||||
DATA bytes<>+39(SB)/1, $0x77
|
||||
GLOBL ·bytes<>(SB), RODATA, $40
|
||||
GLOBL bytes<>(SB), RODATA, $40
|
||||
|
||||
// func DataAt(i int) byte
|
||||
TEXT ·DataAt(SB),0,$0-9
|
||||
TEXT ·DataAt(SB), 0, $0-9
|
||||
MOVQ i(FP), AX
|
||||
LEAQ bytes<>(SB), CX
|
||||
MOVB (CX)(AX*1), AL
|
||||
|
||||
Reference in New Issue
Block a user