trunk/src/emu/cpu/arcompact/arcompactdasm_ops.c
| r242437 | r242438 | |
| 1129 | 1129 | |
| 1130 | 1130 | |
| 1131 | 1131 | |
| 1132 | int arcompact_handle0f_00_0x_helper_dasm(DASM_OPS_16, const char* optext) |
| 1133 | { |
| 1134 | int breg; |
| 1132 | 1135 | |
| 1136 | COMMON16_GET_breg; |
| 1137 | REG_16BIT_RANGE(breg); |
| 1138 | |
| 1139 | print("%s %s", optext, regnames[breg]); |
| 1133 | 1140 | |
| 1134 | | int arcompact_handle0f_00_00_dasm(DASM_OPS_16) { print("J_S pc <- b (%08x)", op); return 2;} |
| 1135 | | int arcompact_handle0f_00_01_dasm(DASM_OPS_16) { print("J_S.D pc <- b (%08x)", op); return 2;} |
| 1136 | | int arcompact_handle0f_00_02_dasm(DASM_OPS_16) { print("JL_S blink <- pc; pc <- b (%08x)", op); return 2;} |
| 1137 | | int arcompact_handle0f_00_03_dasm(DASM_OPS_16) { print("L_S.D blink <- pc; pc <- b( %08x)", op); return 2;} |
| 1138 | | int arcompact_handle0f_00_06_dasm(DASM_OPS_16) { print("SUB_S.NE if (f.Z==0) b <- b - b (%08x)", op); return 2;} |
| 1141 | return 2; |
| 1139 | 1142 | |
| 1143 | } |
| 1140 | 1144 | |
| 1141 | 1145 | |
| 1142 | 1146 | |
| 1147 | int arcompact_handle0f_00_00_dasm(DASM_OPS_16) { return arcompact_handle0f_00_0x_helper_dasm(DASM_PARAMS, "J_S"); } |
| 1148 | int arcompact_handle0f_00_01_dasm(DASM_OPS_16) { return arcompact_handle0f_00_0x_helper_dasm(DASM_PARAMS, "J_S.D"); } |
| 1149 | int arcompact_handle0f_00_02_dasm(DASM_OPS_16) { return arcompact_handle0f_00_0x_helper_dasm(DASM_PARAMS, "JL_S"); } |
| 1150 | int arcompact_handle0f_00_03_dasm(DASM_OPS_16) { return arcompact_handle0f_00_0x_helper_dasm(DASM_PARAMS, "JL_S.D"); } |
| 1151 | int arcompact_handle0f_00_06_dasm(DASM_OPS_16) { return arcompact_handle0f_00_0x_helper_dasm(DASM_PARAMS, "SUB_S.NE"); } |
| 1143 | 1152 | |
| 1144 | | int arcompact_handle0f_00_07_00_dasm(DASM_OPS_16) { print("NOP_S (%08x)", op); return 2;} |
| 1145 | | int arcompact_handle0f_00_07_01_dasm(DASM_OPS_16) { print("UNIMP_S (%08x)", op); return 2;} // Unimplemented Instruction (how does this differ from illegal ops?) |
| 1146 | 1153 | |
| 1147 | 1154 | |
| 1148 | 1155 | |
| 1149 | | int arcompact_handle0f_00_07_04_dasm(DASM_OPS_16) { print("JEQ_S [blink] (%08x)", op); return 2;} |
| 1150 | | int arcompact_handle0f_00_07_05_dasm(DASM_OPS_16) { print("JNE_S [blink] (%08x)", op); return 2;} |
| 1151 | | int arcompact_handle0f_00_07_06_dasm(DASM_OPS_16) { print("J_S [blink] (%08x)", op); return 2;} |
| 1152 | | int arcompact_handle0f_00_07_07_dasm(DASM_OPS_16) { print("J_S.D [blink] (%08x)", op); return 2;} |
| 1156 | // Zero parameters (ZOP) |
| 1157 | int arcompact_handle0f_00_07_00_dasm(DASM_OPS_16) { print("NOP_S"); return 2;} |
| 1158 | int arcompact_handle0f_00_07_01_dasm(DASM_OPS_16) { print("UNIMP_S"); return 2;} // Unimplemented Instruction, same as illegal, but recommended to fill blank space |
| 1159 | int arcompact_handle0f_00_07_04_dasm(DASM_OPS_16) { print("JEQ_S [blink]"); return 2;} |
| 1160 | int arcompact_handle0f_00_07_05_dasm(DASM_OPS_16) { print("JNE_S [blink]"); return 2;} |
| 1161 | int arcompact_handle0f_00_07_06_dasm(DASM_OPS_16) { print("J_S [blink]"); return 2;} |
| 1162 | int arcompact_handle0f_00_07_07_dasm(DASM_OPS_16) { print("J_S.D [blink]"); return 2;} |
| 1153 | 1163 | |
| 1154 | 1164 | |
| 1155 | | int arcompact_handle0f_02_dasm(DASM_OPS_16) { print("SUB_S b <- b - c (%08x)", op); return 2;} |
| 1156 | 1165 | |
| 1157 | 1166 | |
| 1158 | 1167 | |
| r242437 | r242438 | |
| 1171 | 1180 | return 2; |
| 1172 | 1181 | } |
| 1173 | 1182 | |
| 1174 | | |
| 1183 | int arcompact_handle0f_02_dasm(DASM_OPS_16) { return arcompact_handle0f_0x_helper_dasm(DASM_PARAMS, "SUB_S");} |
| 1175 | 1184 | int arcompact_handle0f_04_dasm(DASM_OPS_16) { return arcompact_handle0f_0x_helper_dasm(DASM_PARAMS, "AND_S"); } |
| 1176 | 1185 | int arcompact_handle0f_05_dasm(DASM_OPS_16) { return arcompact_handle0f_0x_helper_dasm(DASM_PARAMS, "OR_S"); } |
| 1177 | 1186 | int arcompact_handle0f_06_dasm(DASM_OPS_16) { return arcompact_handle0f_0x_helper_dasm(DASM_PARAMS, "BIC_S"); } |