UNUSED: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) |
||
Строка 22: | Строка 22: | ||
520 FREE: .DW CALL, RPAT,PAD,SUB, EXIT ; Положить на стек количество свободных байт в словаре. | 520 FREE: .DW CALL, RPAT,PAD,SUB, EXIT ; Положить на стек количество свободных байт в словаре. | ||
</pre> | </pre> | ||
Реализация из SP-Forth 4.20: | |||
<pre> | |||
: UNUSED ( -- u ) \ 94 CORE EXT | |||
\ u - объем памяти, оставшейся в области, адресуемой HERE, | |||
\ в байтах. | |||
IMAGE-SIZE | |||
HERE IMAGE-BASE - - | |||
; | |||
</pre> | |||
== Ссылки == | == Ссылки == | ||
* {{Исходник|UNUSED|UNUSED}} | * {{Исходник|UNUSED|UNUSED}} |
Версия от 17:54, 13 ноября 2017
UNUSED (байт свободно) — стандартное слово Каллисто.
UNUSED ( −− U ) Оценить количество свободных байт.
Оценить объём свободной байтовой памяти, доступной разработчику.
Детали реализации
Положенное на стек число U отражает ситуацию, но не точно. При необходимости часть пересчитанных свободных байт будет использована Каллисто под стек возвратов, а также при вводе строки с клавиатуры.
UNUSED в стандарте ANS Forth
6.2.2395 UNUSED CORE EXT ( -- u ) u - количество оставшегося пространства в области адресуемой HERE, в адресуемых элементах.
Реализация
В Каллисто 1.0 слово UNUSED вычисляет разницу между RP@ и PAD:
515 ;#UNUSED 516 ; UNUSED ( −− U ) Оценить количество свободных байт. 517 LFREE: .DB 6 ; ( −− n) 518 .TEXT "UNUSED" 519 .DW LWARM 520 FREE: .DW CALL, RPAT,PAD,SUB, EXIT ; Положить на стек количество свободных байт в словаре.
Реализация из SP-Forth 4.20:
: UNUSED ( -- u ) \ 94 CORE EXT \ u - объем памяти, оставшейся в области, адресуемой HERE, \ в байтах. IMAGE-SIZE HERE IMAGE-BASE - - ;
Ссылки
- Исходный текст слова UNUSED в Каллисто Классик 1.0
- Слово UNUSED в стандарте ANS Forth (англ.)
- Слово UNUSED в черновике Forth 200x (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |