cpu.x86.assembler: cleanup
parent
7c83ccf6b0
commit
563ecbd871
|
@ -198,12 +198,16 @@ M: register POP f HEX: 58 short-operand ;
|
||||||
M: operand POP { BIN: 000 f HEX: 8f } 1-operand ;
|
M: operand POP { BIN: 000 f HEX: 8f } 1-operand ;
|
||||||
|
|
||||||
! MOV where the src is immediate.
|
! MOV where the src is immediate.
|
||||||
|
<PRIVATE
|
||||||
|
|
||||||
GENERIC: (MOV-I) ( src dst -- )
|
GENERIC: (MOV-I) ( src dst -- )
|
||||||
M: register (MOV-I) t HEX: b8 short-operand cell, ;
|
M: register (MOV-I) t HEX: b8 short-operand cell, ;
|
||||||
M: operand (MOV-I)
|
M: operand (MOV-I)
|
||||||
{ BIN: 000 t HEX: c6 }
|
{ BIN: 000 t HEX: c6 }
|
||||||
pick byte? [ immediate-1 ] [ immediate-4 ] if ;
|
pick byte? [ immediate-1 ] [ immediate-4 ] if ;
|
||||||
|
|
||||||
|
PRIVATE>
|
||||||
|
|
||||||
GENERIC: MOV ( dst src -- )
|
GENERIC: MOV ( dst src -- )
|
||||||
M: immediate MOV swap (MOV-I) ;
|
M: immediate MOV swap (MOV-I) ;
|
||||||
M: operand MOV HEX: 88 2-operand ;
|
M: operand MOV HEX: 88 2-operand ;
|
||||||
|
@ -296,6 +300,8 @@ M: operand TEST OCT: 204 2-operand ;
|
||||||
: CDQ ( -- ) HEX: 99 , ;
|
: CDQ ( -- ) HEX: 99 , ;
|
||||||
: CQO ( -- ) HEX: 48 , CDQ ;
|
: CQO ( -- ) HEX: 48 , CDQ ;
|
||||||
|
|
||||||
|
<PRIVATE
|
||||||
|
|
||||||
: (SHIFT) ( dst src op -- )
|
: (SHIFT) ( dst src op -- )
|
||||||
over CL eq? [
|
over CL eq? [
|
||||||
nip t HEX: d3 3array 1-operand
|
nip t HEX: d3 3array 1-operand
|
||||||
|
@ -303,6 +309,8 @@ M: operand TEST OCT: 204 2-operand ;
|
||||||
swapd t HEX: c0 3array immediate-1
|
swapd t HEX: c0 3array immediate-1
|
||||||
] if ; inline
|
] if ; inline
|
||||||
|
|
||||||
|
PRIVATE>
|
||||||
|
|
||||||
: ROL ( dst n -- ) BIN: 000 (SHIFT) ;
|
: ROL ( dst n -- ) BIN: 000 (SHIFT) ;
|
||||||
: ROR ( dst n -- ) BIN: 001 (SHIFT) ;
|
: ROR ( dst n -- ) BIN: 001 (SHIFT) ;
|
||||||
: RCL ( dst n -- ) BIN: 010 (SHIFT) ;
|
: RCL ( dst n -- ) BIN: 010 (SHIFT) ;
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Slava Pestov
|
||||||
|
Joe Groff
|
|
@ -0,0 +1 @@
|
||||||
|
x86 registers and memory operands
|
Loading…
Reference in New Issue