--- sml/trunk/src/MLRISC/x86/x86.md 2000/03/10 02:55:58 575 +++ sml/trunk/src/MLRISC/x86/x86.md 2000/03/10 07:27:16 576 @@ -209,13 +209,14 @@ | I.Displace{base,disp,mem,...} => (emit_disp disp; emit "("; emit_GP base; emit ")"; emit_region mem) - | I.Indexed{base=NONE,index,scale,disp,mem,...} => - (emit_disp disp; emit "("; emit_GP index; comma(); + | I.Indexed{base,index,scale,disp,mem,...} => + (emit_disp disp; emit "("; + case base of + NONE => () + | SOME base => emit_GP base; + comma(); + emit_GP index; comma(); emitScale scale; emit ")"; emit_region mem) - | I.Indexed{base=SOME base,index,scale,disp,mem,...} => - (emit_disp disp; emit "("; emit_GP base; - comma(); emit_GP index; comma(); emitScale scale; emit ")"; - emit_region mem) and emit_disp(I.Immed 0) = () | emit_disp(I.Immed i) = emitInt32 i