mirror of
https://github.com/tuz358/cpu-emulator.git
synced 2025-12-18 13:04:35 +03:00
format code
This commit is contained in:
@@ -249,20 +249,13 @@ void Instructions::template_r32_rm32(int calc_type){
|
|||||||
|
|
||||||
void Instructions::calc_r32_rm32(uint32_t *dst, uint32_t *src, int calc_type){
|
void Instructions::calc_r32_rm32(uint32_t *dst, uint32_t *src, int calc_type){
|
||||||
switch (calc_type) {
|
switch (calc_type) {
|
||||||
case ADD:
|
case ADD: *dst += *src; break;
|
||||||
*dst += *src; break;
|
case OR: *dst |= *src; break;
|
||||||
case OR:
|
case ADC: *dst += *src + get_flag(CF); break;
|
||||||
*dst |= *src; break;
|
case SBB: *dst -= *src + get_flag(CF); break;
|
||||||
case ADC:
|
case AND: *dst &= *src; break;
|
||||||
*dst += *src + get_flag(CF); break;
|
case SUB: *dst -= *src; break;
|
||||||
case SBB:
|
case XOR: *dst ^= *src; break;
|
||||||
*dst -= *src + get_flag(CF); break;
|
|
||||||
case AND:
|
|
||||||
*dst &= *src; break;
|
|
||||||
case SUB:
|
|
||||||
*dst -= *src; break;
|
|
||||||
case XOR:
|
|
||||||
*dst ^= *src; break;
|
|
||||||
case CMP:
|
case CMP:
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
break;
|
break;
|
||||||
@@ -276,20 +269,13 @@ void Instructions::template_eax_imm32(int calc_type){
|
|||||||
imm32 = swap_endian32(imm32);
|
imm32 = swap_endian32(imm32);
|
||||||
|
|
||||||
switch (calc_type) {
|
switch (calc_type) {
|
||||||
case ADD:
|
case ADD: this->registers[0] += imm32; break;
|
||||||
this->registers[0] += imm32; break;
|
case OR: this->registers[0] |= imm32; break;
|
||||||
case OR:
|
case ADC: this->registers[0] += imm32 + get_flag(CF); break;
|
||||||
this->registers[0] |= imm32; break;
|
case SBB: this->registers[0] -= imm32 + get_flag(CF); break;
|
||||||
case ADC:
|
case AND: this->registers[0] &= imm32; break;
|
||||||
this->registers[0] += imm32 + get_flag(CF); break;
|
case SUB: this->registers[0] -= imm32; break;
|
||||||
case SBB:
|
case XOR: this->registers[0] ^= imm32; break;
|
||||||
this->registers[0] -= imm32 + get_flag(CF); break;
|
|
||||||
case AND:
|
|
||||||
this->registers[0] &= imm32; break;
|
|
||||||
case SUB:
|
|
||||||
this->registers[0] -= imm32; break;
|
|
||||||
case XOR:
|
|
||||||
this->registers[0] ^= imm32; break;
|
|
||||||
case CMP:
|
case CMP:
|
||||||
// TODO: implement
|
// TODO: implement
|
||||||
break;
|
break;
|
||||||
@@ -798,7 +784,7 @@ void Instructions::mov_edi_imm32(){
|
|||||||
this->registers[7] = imm32;
|
this->registers[7] = imm32;
|
||||||
this->eip += 4;
|
this->eip += 4;
|
||||||
}
|
}
|
||||||
|
j
|
||||||
void Instructions::ret(){
|
void Instructions::ret(){
|
||||||
//printf("ret called.\n");
|
//printf("ret called.\n");
|
||||||
this->eip = memory.read_uint32(this->registers[4]);
|
this->eip = memory.read_uint32(this->registers[4]);
|
||||||
|
|||||||
Reference in New Issue
Block a user