Diff for /gforth/arch/386/asm.fs between versions 1.1 and 1.2

version 1.1, 2000/07/11 20:28:50 version 1.2, 2000/07/13 16:05:38
Line 21 Line 21
 \       16: EAX EBX MOV         \ mov bx,ax  \       16: EAX EBX MOV         \ mov bx,ax
   
   
 ONLY FORTH ALSO DEFINITIONS  \ additional words for Gforth port
   
 VOCABULARY ASSEMBLER   ASSEMBLER ALSO DEFINITIONS   HEX  : w, ( x -- )
       here ! 2 allot ;
   
   base @ get-current ALSO ASSEMBLER DEFINITIONS   HEX
   
 \ ---------------------------------------------------------------------  \ ---------------------------------------------------------------------
 \ Defer memory-access words for the metacompiler  \ Defer memory-access words for the metacompiler
Line 304  MAX-LABELS ARRAY LABEL-LINK     ( linked Line 306  MAX-LABELS ARRAY LABEL-LINK     ( linked
 : RET#   ( n -- )  C2 C, W, ;  : RET#   ( n -- )  C2 C, W, ;
 : PUSH#  ( n -- )  68 C, ,  ;  : PUSH#  ( n -- )  68 C, ,  ;
   
 : NEXT   ( -- )  previous set-current decimal base !
    LODS   0 [EAX] [EDI] ECX MOV   EDI ECX ADD   ECX JMP ;  
   
 : XCALL  ( n -- )  
     EDX EBX MOV  
     6 CELLS [EDI] EAX MOV  
     ( n ) CELLS [EAX] CALL  
     EBX EDX MOV  ;  
   
 VARIABLE AVOC  
 : ASM-INIT   CONTEXT @ AVOC !  ASSEMBLER  CLEAR-LABELS  !CSP ;  
   
 : END-CODE  ?CSP  CHECK-LABELS  AVOC @ CONTEXT !  REVEAL ;  
 : C;   END-CODE ;  
   
 FORTH DEFINITIONS  
   
 : LABEL   CREATE HIDE  ASM-INIT ;  
 : CODE    LABEL  HERE DUP CELL - !  ;  
   
 : ;CODE   ( -- )  
    ?COMP ?CSP  COMPILE (;CODE)  [COMPILE] [  ASM-INIT ; IMMEDIATE  
   
   
 ONLY FORTH ALSO DEFINITIONS DECIMAL  

Removed from v.1.1  
changed lines
  Added in v.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>