X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=machine.asm;h=357b80718695b4ea3dc56ff09f5c21eb3eccc927;hb=02ef6e814ef0e6c61348c70bd310ba1f0df2506b;hp=74b1060427dbce1cfc4321e405ae19f8e2484f1b;hpb=3025dcd6895d494d9f5e700887033f2c315e06d2;p=rrq%2Frrqforth.git diff --git a/machine.asm b/machine.asm index 74b1060..357b807 100644 --- a/machine.asm +++ b/machine.asm @@ -134,6 +134,7 @@ label#_TFA: end if previous_word = label#_TFA ;; PFA +label#_pCFA: dq label#_CFA ; link to CFA of word dq flags + 0 label#_PFA: @@ -141,6 +142,7 @@ label#_PFA: db name pname: db 0 ; extra NUL byte ;; align 8 +label#_pTFA: dq label#_TFA ; link to TFA of word label#_OFF: dq offset + 0 ; The DOES offset. Defaults to 0. @@ -163,10 +165,17 @@ label#_DFA: macro tfa2cfa reg { mov reg,qword [reg+8] } +macro tfa2does reg { + tfa2cfa reg + sub reg,8 +} macro tfa2dfa reg { tfa2cfa reg add reg,8 } +macro tfa2flags reg { + add reg,16 +} macro tfa2pfa reg { add reg,24 }