#include <stdint.h>#include <errno.h>#include <string.h>#include "emu/emu.h"#include "emu/emu_cpu.h"#include "emu/emu_cpu_data.h"#include "emu/emu_cpu_stack.h"#include "emu/emu_memory.h"
Defines | |
| #define | INSTR_CALC(inbits, outbits, cpu, a, b) |
| #define | INSTR_SET_FLAGS(cpu, upper_result) |
Functions | |
| int32_t | instr_group_3_f6_mul (struct emu_cpu *c, struct emu_cpu_instruction *i) |
| int32_t | instr_group_3_f7_mul (struct emu_cpu *c, struct emu_cpu_instruction *i) |
| #define INSTR_CALC | ( | inbits, | |||
| outbits, | |||||
| cpu, | |||||
| a, | |||||
| b | ) |
| #define INSTR_SET_FLAGS | ( | cpu, | |||
| upper_result | ) |
if (upper_result == 0) \ { \ CPU_FLAG_UNSET(cpu,f_cf); \ CPU_FLAG_UNSET(cpu,f_of); \ } \ else \ { \ CPU_FLAG_SET(cpu,f_cf); \ CPU_FLAG_SET(cpu,f_of); \ }
| int32_t instr_group_3_f6_mul | ( | struct emu_cpu * | c, | |
| struct emu_cpu_instruction * | i | |||
| ) |
References al, ax, emu_cpu_instruction::ea, INSTR_CALC, INSTR_SET_FLAGS, MEM_BYTE_READ, emu_cpu_instruction::mod, emu_cpu_instruction::modrm, emu_cpu::reg16, emu_cpu::reg8, emu_cpu_instruction::rm, and WORD_UPPER_TO_BYTE.
Referenced by instr_group_3_f6().
| int32_t instr_group_3_f7_mul | ( | struct emu_cpu * | c, | |
| struct emu_cpu_instruction * | i | |||
| ) |
References al, ax, DWORD_LOWER_TO_WORD, DWORD_UPPER_TO_WORD, dx, emu_cpu_instruction::ea, eax, edx, INSTR_CALC, INSTR_SET_FLAGS, MEM_DWORD_READ, MEM_WORD_READ, emu_cpu_instruction::mod, emu_cpu_instruction::modrm, PREFIX_OPSIZE, emu_cpu_instruction::prefixes, QWORD_LOWER_TO_DWORD, QWORD_UPPER_TO_DWORD, emu_cpu::reg, emu_cpu::reg16, and emu_cpu_instruction::rm.
Referenced by instr_group_3_f7().
1.6.1