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
......@@ -244,8 +244,8 @@ var x86OperandTests = []operandTest{
{"(BP*8)", "0(BP*8)"},
{"(BX)", "(BX)"},
{"(SP)", "(SP)"},
{"*AX", "AX"}, // TODO: Should make * illegal here; a simple alias for JMP AX.
{"*runtime·_GetStdHandle(SB)", "type=16"}, // TODO: bizarre
{"*AX", "AX"}, // TODO: Should make * illegal here; a simple alias for JMP AX.
{"*runtime·_GetStdHandle(SB)", "*runtime._GetStdHandle(SB)"},
{"-(4+12)(DI)", "-16(DI)"},
{"-1(DI)(BX*1)", "-1(DI)(BX*1)"},
{"-96(DI)(BX*1)", "-96(DI)(BX*1)"},
......
......@@ -17,7 +17,7 @@
32 00017 (testdata/386.s:32) JCS ,16(PC)
35 00018 (testdata/386.s:35) CALL ,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
39 00022 (testdata/386.s:39) JMP ,16
40 00023 (testdata/386.s:40) CALL ,foo(SB)
......
......@@ -312,6 +312,9 @@ func Dconv(p *Prog, Rconv func(int) string, a *Addr) string {
str = fmt.Sprintf("%d(PC)", a.Offset)
}
case TYPE_INDIR:
str = fmt.Sprintf("*%s", Mconv(Rconv, a))
case TYPE_MEM:
str = Mconv(Rconv, a)
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