comparison m68k_core.c @ 688:8c546bc1d773

Moved m68k_save_result to m68k_core.c
author Michael Pavone <pavone@retrodev.com>
date Thu, 08 Jan 2015 21:00:21 -0800
parents a61d33ccea7d
children fc04781f4d28
comparison
equal deleted inserted replaced
687:a61d33ccea7d 688:8c546bc1d773
81 call(&opts->gen.code, opts->write_16); 81 call(&opts->gen.code, opts->write_16);
82 break; 82 break;
83 case OPSIZE_LONG: 83 case OPSIZE_LONG:
84 call(&opts->gen.code, opts->write_32_highfirst); 84 call(&opts->gen.code, opts->write_32_highfirst);
85 break; 85 break;
86 }
87 }
88
89 void m68k_save_result(m68kinst * inst, m68k_options * opts)
90 {
91 code_info *code = &opts->gen.code;
92 if (inst->dst.addr_mode != MODE_REG && inst->dst.addr_mode != MODE_AREG && inst->dst.addr_mode != MODE_UNUSED) {
93 if (inst->dst.addr_mode == MODE_AREG_PREDEC && inst->src.addr_mode == MODE_AREG_PREDEC && inst->op != M68K_MOVE) {
94 areg_to_native(opts, inst->dst.params.regs.pri, opts->gen.scratch2);
95 }
96 switch (inst->extra.size)
97 {
98 case OPSIZE_BYTE:
99 call(code, opts->write_8);
100 break;
101 case OPSIZE_WORD:
102 call(code, opts->write_16);
103 break;
104 case OPSIZE_LONG:
105 call(code, opts->write_32_lowfirst);
106 break;
107 }
86 } 108 }
87 } 109 }
88 110
89 void translate_m68k_lea_pea(m68k_options * opts, m68kinst * inst) 111 void translate_m68k_lea_pea(m68k_options * opts, m68kinst * inst)
90 { 112 {