| code-address! c_addr xt -- gforth code_address_store |
code-address! c_addr xt -- gforth code_address_store |
| ""Creates a code field with code address c_addr at xt"" |
""Creates a code field with code address c_addr at xt"" |
| MAKE_CF(xt, c_addr); |
MAKE_CF(xt, c_addr); |
| CACHE_FLUSH(xt,PFA(0)); |
CACHE_FLUSH(xt,(size_t)PFA(0)); |
| : |
: |
| ! ; |
! ; |
| |
|
| ""creates a code field at xt for a defining-word-defined word; a_addr |
""creates a code field at xt for a defining-word-defined word; a_addr |
| is the start of the Forth code after DOES>"" |
is the start of the Forth code after DOES>"" |
| MAKE_DOES_CF(xt, a_addr); |
MAKE_DOES_CF(xt, a_addr); |
| CACHE_FLUSH(xt,PFA(0)); |
CACHE_FLUSH(xt,(size_t)PFA(0)); |
| : |
: |
| dodoes: over ! cell+ ! ; |
dodoes: over ! cell+ ! ; |
| |
|
| ""creates a DOES>-handler at address a_addr. a_addr usually points |
""creates a DOES>-handler at address a_addr. a_addr usually points |
| just behind a DOES>."" |
just behind a DOES>."" |
| MAKE_DOES_HANDLER(a_addr); |
MAKE_DOES_HANDLER(a_addr); |
| CACHE_FLUSH(a_addr,DOES_HANDLER_SIZE); |
CACHE_FLUSH((caddr_t)a_addr,DOES_HANDLER_SIZE); |
| : |
: |
| drop ; |
drop ; |
| |
|