Commit 940f22ee authored by Rob Pike's avatar Rob Pike

cmd/internal/obj: implement Dconv for TYPE_INDIR

It was just missing, and apparently always was.

Change-Id: I84c057bb0ec72940201075f3e6078262fe4bce05
Reviewed-on: https://go-review.googlesource.com/6120Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
parent fb75f856
...@@ -245,7 +245,7 @@ var x86OperandTests = []operandTest{ ...@@ -245,7 +245,7 @@ var x86OperandTests = []operandTest{
{"(BX)", "(BX)"}, {"(BX)", "(BX)"},
{"(SP)", "(SP)"}, {"(SP)", "(SP)"},
{"*AX", "AX"}, // TODO: Should make * illegal here; a simple alias for JMP AX. {"*AX", "AX"}, // TODO: Should make * illegal here; a simple alias for JMP AX.
{"*runtime·_GetStdHandle(SB)", "type=16"}, // TODO: bizarre {"*runtime·_GetStdHandle(SB)", "*runtime._GetStdHandle(SB)"},
{"-(4+12)(DI)", "-16(DI)"}, {"-(4+12)(DI)", "-16(DI)"},
{"-1(DI)(BX*1)", "-1(DI)(BX*1)"}, {"-1(DI)(BX*1)", "-1(DI)(BX*1)"},
{"-96(DI)(BX*1)", "-96(DI)(BX*1)"}, {"-96(DI)(BX*1)", "-96(DI)(BX*1)"},
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
32 00017 (testdata/386.s:32) JCS ,16(PC) 32 00017 (testdata/386.s:32) JCS ,16(PC)
35 00018 (testdata/386.s:35) CALL ,AX 35 00018 (testdata/386.s:35) CALL ,AX
36 00019 (testdata/386.s:36) JMP ,AX 36 00019 (testdata/386.s:36) JMP ,AX
37 00020 (testdata/386.s:37) CALL ,type=16 37 00020 (testdata/386.s:37) CALL ,*foo(SB)
38 00021 (testdata/386.s:38) JMP ,$4 38 00021 (testdata/386.s:38) JMP ,$4
39 00022 (testdata/386.s:39) JMP ,16 39 00022 (testdata/386.s:39) JMP ,16
40 00023 (testdata/386.s:40) CALL ,foo(SB) 40 00023 (testdata/386.s:40) CALL ,foo(SB)
......
...@@ -312,6 +312,9 @@ func Dconv(p *Prog, Rconv func(int) string, a *Addr) string { ...@@ -312,6 +312,9 @@ func Dconv(p *Prog, Rconv func(int) string, a *Addr) string {
str = fmt.Sprintf("%d(PC)", a.Offset) str = fmt.Sprintf("%d(PC)", a.Offset)
} }
case TYPE_INDIR:
str = fmt.Sprintf("*%s", Mconv(Rconv, a))
case TYPE_MEM: case TYPE_MEM:
str = Mconv(Rconv, a) str = Mconv(Rconv, a)
if a.Index != REG_NONE { if a.Index != REG_NONE {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment