ft: implement more mnemonics

This commit is contained in:
2025-05-14 11:28:07 +09:00
parent b5c178ea61
commit 04493b1179
3 changed files with 95 additions and 9 deletions

View File

@@ -160,6 +160,8 @@ pub enum Mnemonic {
JG(Byte),
// TEST
TEST(ModRmTarget, Register),
TEST_ALIb(Byte),
TEST_AXIv(Word),
//XHCG
XHCG(ModRmTarget, Register),
XCHG_AX(Register), // from AX
@@ -168,7 +170,27 @@ pub enum Mnemonic {
MOV_ToReg(ModRmTarget, Register),
MOV_FromSReg(ModRmTarget, SegmentRegister),
MOV_ToSReg(ModRmTarget, SegmentRegister),
MOV_AL0b(Byte),
MOV_AX0v(Word),
MOV_0bAL(Byte),
MOV_0vAX(Word),
MOV_ALIb(Byte),
MOV_CLIb(Byte),
MOV_DLIb(Byte),
MOV_BLIb(Byte),
MOV_AHIb(Byte),
MOV_CHIb(Byte),
MOV_DHIb(Byte),
MOV_BHIb(Byte),
MOV_AXIv(Word),
MOV_CXIv(Word),
MOV_DXIv(Word),
MOV_BXIv(Word),
MOV_SPIv(Word),
MOV_BPIv(Word),
MOV_SIIv(Word),
MOV_DIIv(Word),
// LEA
LEA(ModRmTarget, Register),
// Sign extensions
@@ -183,6 +205,23 @@ pub enum Mnemonic {
POPF,
SAHF,
LAHF,
// String Byte Operations
MOVSB,
MOVSW,
CMPSB,
CMPSW,
STOSB,
STOSW,
LODSB,
LODSW,
SCASB,
SCASW,
// RET
RETIw(Word),
RET,
// Load ES/DS Register
LES(ModRmTarget),
LDS(ModRmTarget),
// INT
INT(Byte),
}