printer: use tabwriter to align instructions (#8)
This commit is contained in:
30
README.md
30
README.md
@@ -65,10 +65,10 @@ After running `go generate` the [`add.s`](examples/add/add.s) file will contain
|
||||
|
||||
// func Add(x uint64, y uint64) uint64
|
||||
TEXT ·Add(SB), NOSPLIT, $0-24
|
||||
MOVQ x(FP), AX
|
||||
MOVQ y+8(FP), CX
|
||||
ADDQ AX, CX
|
||||
MOVQ CX, ret+16(FP)
|
||||
MOVQ x(FP), AX
|
||||
MOVQ y+8(FP), CX
|
||||
ADDQ AX, CX
|
||||
MOVQ CX, ret+16(FP)
|
||||
RET
|
||||
```
|
||||
|
||||
@@ -137,18 +137,20 @@ The result from this code generator is:
|
||||
|
||||
// func Sum(xs []uint64) uint64
|
||||
TEXT ·Sum(SB), NOSPLIT, $0-32
|
||||
MOVQ xs_base(FP), AX
|
||||
MOVQ xs_len+8(FP), CX
|
||||
XORQ DX, DX
|
||||
MOVQ xs_base(FP), AX
|
||||
MOVQ xs_len+8(FP), CX
|
||||
XORQ DX, DX
|
||||
|
||||
loop:
|
||||
CMPQ CX, $0x00
|
||||
JE done
|
||||
ADDQ (AX), DX
|
||||
ADDQ $0x08, AX
|
||||
DECQ CX
|
||||
JMP loop
|
||||
CMPQ CX, $0x00
|
||||
JE done
|
||||
ADDQ (AX), DX
|
||||
ADDQ $0x08, AX
|
||||
DECQ CX
|
||||
JMP loop
|
||||
|
||||
done:
|
||||
MOVQ DX, ret+24(FP)
|
||||
MOVQ DX, ret+24(FP)
|
||||
RET
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user