This commit is contained in:
Jonathan Campbell
2020-06-07 03:43:50 -07:00
parent f94713352e
commit d5f8310bc1

View File

@@ -17,6 +17,7 @@ charset_encoding "UTF-8"; /* default */
rmw: register/memory operand, byte operand
rm16: register/memory operand, 16-bit word operand
mrm: mod/reg/rm (with optional scalar/index/byte if 32-bit addressing with the right combination)
AXH, BXH, CXH, DXH, etc: Upper 16 bits of EAX, EBX, ECX, EDX, etc
opbyte(n): opcode byte n
accum: AX/EAX
base: BX/EBX
@@ -381,21 +382,21 @@ opcode sequence([0x91,0x97]) name "XCHG" {
opcode sequence(0x98) name "CBW" if datasize == 16 {
/* AX = sign extended AL */
input AL;
output AX;
output AX only modifies AH;
}
opcode sequence(0x98) name "CWDE" if datasize == 32 {
/* EAX = sign extended AX */
input AX;
output EAX;
output EAX only modifies AXH;
}
opcode sequence(0x99) name "CWD" if datasize == 16 {
/* DX:AX = sign extended AX */
input AX;
output DX,AX;
output DX,AX only modifies DX;
}
opcode sequence(0x99) name "CDQ" if datasize == 32 {
/* EDX:EAX = sign extended EAX */
input EAX;
output EDX,EAX;
output EDX,EAX only modifies EDX;
}