about summary refs log tree commit diff stats
path: root/subx/031check_operands.cc
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-06-17 00:24:30 -0700
committerKartik Agaram <vc@akkartik.com>2019-06-17 00:24:30 -0700
commit382029b2c012247e1f2ed7d5ae34082d190e2b89 (patch)
treec1f1c06452fc2a0dd7e29243c8406e2ae2a8d7af /subx/031check_operands.cc
parent01b6cfe49e6cdf14edc8c610a3aefc80edb8e1ad (diff)
downloadmu-382029b2c012247e1f2ed7d5ae34082d190e2b89.tar.gz
bugfix to opcode 8f; it requires subops
Diffstat (limited to 'subx/031check_operands.cc')
-rw-r--r--subx/031check_operands.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/subx/031check_operands.cc b/subx/031check_operands.cc
index 45d9e7e1..7b97d2b1 100644
--- a/subx/031check_operands.cc
+++ b/subx/031check_operands.cc
@@ -225,12 +225,11 @@ void init_permitted_operands() {
   put(Permitted_operands, "87", 0x01);
   // copy address (lea)
   put(Permitted_operands, "8d", 0x01);
-  // pop
-  put(Permitted_operands, "8f", 0x01);
 
   //// Class N: op, ModR/M and subop (not r32)
   //  imm32 imm8  disp32 |disp16  disp8 subop modrm
   //  0     0     0      |0       0     1     1
+  put(Permitted_operands, "8f", 0x03);  // pop
   put(Permitted_operands, "d3", 0x03);  // shift
   put(Permitted_operands, "f7", 0x03);  // test/not/mul/div
   put(Permitted_operands, "ff", 0x03);  // jump/push/call