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