Raymond Toy pushed to branch issue-97-define-ud2-inst at cmucl / cmucl
Commits:
-
ae94d97a
by Raymond Toy at 2021-04-13T22:34:46-07:00
1 changed file:
Changes:
... | ... | @@ -2154,9 +2154,17 @@ |
2154 | 2154 |
(ldb (byte 3 3) code)
|
2155 | 2155 |
(ldb (byte 3 0) code))))
|
2156 | 2156 |
|
2157 |
+;; Handles both int and int3. To get int3 you have to say (inst int
|
|
2158 |
+;; 3). But int3 should not be used in Lisp code. This is mainly so
|
|
2159 |
+;; that int3 gets disassembled correctly if a breakpoint has been set
|
|
2160 |
+;; in Lisp code. (But in general the disassembly will be messed up
|
|
2161 |
+;; because the following byte will in general be the second byte of
|
|
2162 |
+;; some instruction, and not the first byte of an instruction.)
|
|
2157 | 2163 |
(define-instruction int (segment number)
|
2158 | 2164 |
(:declare (type (unsigned-byte 8) number))
|
2159 | 2165 |
(:printer byte-imm ((op #b11001101)))
|
2166 |
+ (:printer byte ((op #b11001100))
|
|
2167 |
+ `(:name :tab 3))
|
|
2160 | 2168 |
(:emitter
|
2161 | 2169 |
(etypecase number
|
2162 | 2170 |
((member 3)
|