Returns a boolean saying whether, in 32-bit mode, the given opcode in the second three-byte opcode map expects a ModR/M byte.
Function:
(defun 32-bit-mode-0f-3a-three-byte-opcode-modr/m-p (mandatory-prefix opcode) (declare (type (unsigned-byte 8) mandatory-prefix) (type (unsigned-byte 8) opcode)) (let ((__function__ '32-bit-mode-0f-3a-three-byte-opcode-modr/m-p)) (declare (ignorable __function__)) (case mandatory-prefix (102 (aref1 '32-bit-mode-0f-3a-three-byte-66-has-modr/m *32-bit-mode-0f-3a-three-byte-66-has-modr/m-ar* opcode)) (243 (aref1 '32-bit-mode-0f-3a-three-byte-f3-has-modr/m *32-bit-mode-0f-3a-three-byte-f3-has-modr/m-ar* opcode)) (242 (aref1 '32-bit-mode-0f-3a-three-byte-f2-has-modr/m *32-bit-mode-0f-3a-three-byte-f2-has-modr/m-ar* opcode)) (t (aref1 '32-bit-mode-0f-3a-three-byte-no-prefix-has-modr/m *32-bit-mode-0f-3a-three-byte-no-prefix-has-modr/m-ar* opcode)))))
Theorem:
(defthm booleanp-of-32-bit-mode-0f-3a-three-byte-opcode-modr/m-p (implies (n08p opcode) (b* ((bool (32-bit-mode-0f-3a-three-byte-opcode-modr/m-p mandatory-prefix opcode))) (booleanp bool))) :rule-classes :rewrite)