| \ true if item has the same offset as the input TOS |
\ true if item has the same offset as the input TOS |
| item-d-offset @ 1+ effect-in-size 2@ drop = ; |
item-d-offset @ 1+ effect-in-size 2@ drop = ; |
| |
|
| |
: is-out-tos? ( item -- f ) |
| |
\ true if item has the same offset as the input TOS |
| |
item-d-offset @ 1+ effect-out-size 2@ drop = ; |
| |
|
| : really-store-single ( item -- ) |
: really-store-single ( item -- ) |
| >r |
>r |
| r@ item-d-offset @ effect-out-size 2@ data-stack-access ." = (Cell)" |
r@ item-d-offset @ effect-out-size 2@ data-stack-access ." = (Cell)" |
| >r |
>r |
| r@ d-same-as-in? |
r@ d-same-as-in? |
| if |
if |
| r@ is-in-tos? |
r@ is-in-tos? r@ is-out-tos? xor |
| if |
if |
| ." IF_TOS(" r@ really-store-single ." );" cr |
." IF_TOS(" r@ really-store-single ." );" cr |
| endif |
endif |