1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-09-29 16:55:59 +00:00

Record PUSH immediate operation size.

This commit is contained in:
Thomas Harte 2022-03-09 14:24:57 -05:00
parent 67b2e40fae
commit f96c051932
2 changed files with 8 additions and 1 deletions

View File

@ -212,6 +212,7 @@ std::pair<int, typename Decoder<model>::InstructionT> Decoder<model>::decode(con
case 0x68:
RequiresMin(i80286);
Immediate(PUSH, data_size_);
operation_size_ = data_size_;
break;
case 0x69:
RequiresMin(i80286);

View File

@ -473,13 +473,19 @@ std::vector<typename InstructionSet::x86::Decoder<model>::InstructionT> decode(c
//add ch,al
//push ecx
test(instructions[44], DataSize::Byte, Operation::MOV, Source::Immediate, Source::eAX, 0x69);
test(instructions[45], Operation::XLAT);
test(instructions[46], DataSize::Byte, Operation::ADD, Source::eAX, Source::CH);
test(instructions[47], DataSize::DWord, Operation::PUSH, Source::eCX);
//sti
//push 0x698b3a85
//sub BYTE PTR [esp+ebp*8],cl
//mov cl,0xb7
test(instructions[48], Operation::STI);
test(instructions[49], DataSize::DWord, Operation::PUSH, Source::Immediate, Source::None, 0x698b3a85);
test(instructions[50], DataSize::Byte, Operation::SUB, Source::eCX, ScaleIndexBase(3, Source::eBP, Source::eSP));
test(instructions[51], DataSize::Byte, Operation::MOV, Source::Immediate, Source::eCX, 0xb7);
//cmp ecx,DWORD PTR [ebp+0x2c87445f]
//jecxz 0x00000084
//sahf