( ... ) should no longer be used for arbitrary comments

slava 2006-08-15 09:26:22 +00:00
parent 8dfdf52d3a
commit 5c1b5bc346
1 changed files with 8 additions and 8 deletions

View File

@ -18,7 +18,7 @@ GENERIC: extended? ( op -- ? )
M: object extended? drop f ;
( Register operands -- eg, ECX )
! Register operands -- eg, ECX
: define-register ( symbol num size -- )
>r dupd "register" set-word-prop r>
"register-size" set-word-prop ;
@ -87,7 +87,7 @@ PREDICATE: register register-128 "register-size" word-prop 128 = ;
M: register extended? "register" word-prop 7 > ;
( Addressing modes )
! Addressing modes
TUPLE: indirect base index scale displacement ;
M: indirect extended? indirect-base extended? ;
@ -190,7 +190,7 @@ M: register displacement drop f ;
[ sib [ , ] when* ] keep
displacement [ 4, ] when* ;
( Utilities )
! Utilities
UNION: operand register indirect ;
: operand-64? ( operand -- ? )
@ -261,7 +261,7 @@ UNION: operand register indirect ;
PREDICATE: word callable register? not ;
( Moving stuff )
! Moving stuff
GENERIC: PUSH ( op -- )
M: register PUSH f HEX: 50 short-operand ;
M: integer PUSH HEX: 68 , 4, ;
@ -284,7 +284,7 @@ M: callable MOV 0 rot (MOV-I) rel-absolute-cell rel-word ;
M: label MOV 0 rot (MOV-I) rel-absolute-cell rel-label ;
M: operand MOV HEX: 89 2-operand ;
( Control flow )
! Control flow
GENERIC: JMP ( op -- )
: (JMP) HEX: e9 , 0 4, rel-relative ;
M: callable JMP (JMP) rel-word ;
@ -321,7 +321,7 @@ M: label JUMPcc (JUMPcc) rel-label ;
: RET ( -- ) HEX: c3 , ;
( Arithmetic )
! Arithmetic
GENERIC: ADD ( dst src -- )
M: integer ADD swap BIN: 000 t HEX: 81 immediate-1/4 ;
@ -376,7 +376,7 @@ M: integer IMUL2 swap dup reg-code t HEX: 69 immediate-1/4 ;
: SHR ( dst n -- ) swap BIN: 101 t HEX: c1 immediate-1 ;
: SAR ( dst n -- ) swap BIN: 111 t HEX: c1 immediate-1 ;
( x87 Floating Point Unit )
! x87 Floating Point Unit
: FSTPS ( operand -- ) BIN: 011 f HEX: d9 1-operand ;
: FSTPL ( operand -- ) BIN: 011 f HEX: dd 1-operand ;
@ -384,7 +384,7 @@ M: integer IMUL2 swap dup reg-code t HEX: 69 immediate-1/4 ;
: FLDS ( operand -- ) BIN: 000 f HEX: d9 1-operand ;
: FLDL ( operand -- ) BIN: 000 f HEX: dd 1-operand ;
( SSE multimedia instructions )
! SSE multimedia instructions
: 2-operand-sse ( dst src op1 op2 -- )
#! We swap the operands here to make everything consistent