Raymond Toy pushed to branch issue-97-define-ud2-inst at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • src/compiler/x86/insts.lisp
    ... ... @@ -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)