--- gforth/arch/misc/asm.fs 1997/05/29 19:43:09 1.1 +++ gforth/arch/misc/asm.fs 2002/10/02 15:31:13 1.4 @@ -2,6 +2,9 @@ Vocabulary assembler also assembler also definitions forth +\ [IFUNDEF] cross +\ : X ; +\ [THEN] \ sources @@ -16,19 +19,22 @@ $A Constant ZF $C Constant CF $0 Constant JMP $1 Constant JS $2 Constant JZ $4 Constant JC +$7 Constant *ACCU ( $8 Constant ACCU ) $9 Constant SUB -$A Constant SUBR $B Constant ADD +( $A Constant SUBR ) $B Constant ADD $C Constant XOR $D Constant OR $E Constant AND $F Constant SHR -$FFFC Constant tx +$FFFC Constant txd +$FFFF Constant rx? +$FFFE Constant rxd \ $FFF0 Constant tx : end-label previous ; Create marks $10 cells allot -: ahere s" here" evaluate 2/ ; +: ahere X here 2/ ; : m ( n -- ) cells marks + ahere 2* swap ! 0 ; : r ( n -- ) cells marks + @ ahere swap s" !" evaluate 0 ; @@ -50,11 +56,15 @@ Create marks $10 cells allot r> $10 /string 0 max rot $10 + -rot REPEAT drop 2drop ; -: sym base @ >r hex - cr ." sym:s/PC=" ahere 4 0.r ." /" bl word count type ." /g" cr - r> base ! ; - -: label ahere Constant ; +\ : sym +\ base @ >r hex +\ cr ." sym:s/PC=" ahere 4 0.r ." /" bl word count type ." /g" cr +\ r> base ! ; +: sym bl word drop ; + +: label + >in @ bl word count X here symentry >in ! + ahere Constant ; also forth definitions @@ -64,3 +74,4 @@ also forth definitions : (end-code) previous ; previous previous previous +