X86: Implement the save machine status word instruction (SMSW).
This commit is contained in:
parent
d86cd1d2a0
commit
bdd55ec8b6
2 changed files with 17 additions and 2 deletions
|
@ -125,7 +125,7 @@
|
|||
0x6: skinit();
|
||||
0x7: invlpga();
|
||||
}
|
||||
0x4: smsw_Rv();
|
||||
0x4: Inst::SMSW(Rv);
|
||||
0x6: Inst::LMSW(Rv);
|
||||
0x7: decode MODRM_RM {
|
||||
0x0: Inst::SWAPGS();
|
||||
|
@ -155,7 +155,7 @@
|
|||
default: Inst::LIDT(M);
|
||||
}
|
||||
}
|
||||
0x4: smsw_Mw();
|
||||
0x4: Inst::SMSW(Mw);
|
||||
0x6: Inst::LMSW(Mw);
|
||||
0x7: Inst::INVLPG(M);
|
||||
default: Inst::UD2();
|
||||
|
|
|
@ -68,4 +68,19 @@ def macroop LMSW_P {
|
|||
or t1, t1, t2, dataSize=8
|
||||
wrcr 0, t1, dataSize=8
|
||||
};
|
||||
|
||||
def macroop SMSW_R {
|
||||
rdcr reg, 0
|
||||
};
|
||||
|
||||
def macroop SMSW_M {
|
||||
rdcr t1, 0
|
||||
st t1, seg, sib, disp, dataSize=2
|
||||
};
|
||||
|
||||
def macroop SMSW_P {
|
||||
rdcr t1, 0
|
||||
rdip t7, dataSize=asz
|
||||
st t1, seg, riprel, disp, dataSize=2
|
||||
};
|
||||
'''
|
||||
|
|
Loading…
Reference in a new issue