UNUSED: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) |
||
(не показано 11 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
'''UNUSED''' (байт свободно) — | '''UNUSED''' (байт свободно) — стандартное слово [[Каллисто]]. | ||
UNUSED ( −− U ) Оценить количество свободных байт. | UNUSED ( −− U ) Оценить количество свободных байт. | ||
Положенное на [[Стек данных|стек]] число | Оценить объём свободной [[Регистры байтовых данных|байтовой памяти]], доступной разработчику. | ||
== UNUSED в стандарте ANS Forth == | |||
6.2.2395 UNUSED CORE EXT | |||
( -- u ) | |||
u - количество оставшегося пространства в области адресуемой HERE, | |||
в адресуемых элементах. | |||
== Реализация == | |||
В [[Каллисто|Каллисто 1.0]] слово UNUSED вычисляет разницу между [[RP@]] и [[PAD]]: | |||
<pre> | |||
515 ;#UNUSED | |||
516 ; UNUSED ( −− U ) Оценить количество свободных байт. | |||
517 LFREE: .DB 6 ; ( −− n) | |||
518 .TEXT "UNUSED" | |||
519 .DW LWARM | |||
520 FREE: .DW CALL, RPAT,PAD,SUB, EXIT ; Положить на стек количество свободных байт в словаре. | |||
</pre> | |||
Положенное на [[Стек данных|стек]] число U отражает ситуацию, но не точно. При необходимости часть пересчитанных свободных байт будет использована [[Каллисто]] под [[Стек возвратов Каллисто|стек возвратов]], а также при [[ACCEPT|вводе строки с клавиатуры]]. | |||
Реализация из SP-Forth 4.20: | |||
<pre> | |||
512 1024 * TO IMAGE-SIZE | |||
0x8050000 CONSTANT IMAGE-START | |||
… | |||
0x80000 VALUE IMAGE-SIZE | |||
… | |||
: UNUSED ( -- u ) \ 94 CORE EXT | |||
\ u - объем памяти, оставшейся в области, адресуемой HERE, | |||
\ в байтах. | |||
IMAGE-SIZE | |||
HERE IMAGE-BASE - - | |||
; | |||
</pre> | |||
== Ссылки == | == Ссылки == | ||
* {{Исходник|UNUSED|UNUSED}} | * {{Исходник|UNUSED|UNUSED}} | ||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.2.2395 UNUSED] в стандарте ANS Forth ''(англ.)'' | |||
* Слово [http://forth-standard.org/standard/core/UNUSED UNUSED] в черновике Forth 200x ''(англ.)'' | |||
Строка 10: | Строка 45: | ||
[[Категория:Слова Каллисто]] | [[Категория:Слова Каллисто]] | ||
[[Категория:Средства отладки Каллисто]] | [[Категория:Средства отладки Каллисто]] | ||
[[Категория:Стандартные слова]] | |||
[[Категория:1994 CORE EXT]] | |||
[[Категория:2012 CORE EXT]] |
Текущая версия от 22:01, 13 ноября 2017
UNUSED (байт свободно) — стандартное слово Каллисто.
UNUSED ( −− 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 ; Положить на стек количество свободных байт в словаре.
Положенное на стек число U отражает ситуацию, но не точно. При необходимости часть пересчитанных свободных байт будет использована Каллисто под стек возвратов, а также при вводе строки с клавиатуры.
Реализация из SP-Forth 4.20:
512 1024 * TO IMAGE-SIZE 0x8050000 CONSTANT IMAGE-START … 0x80000 VALUE IMAGE-SIZE … : UNUSED ( -- u ) \ 94 CORE EXT \ u - объем памяти, оставшейся в области, адресуемой HERE, \ в байтах. IMAGE-SIZE HERE IMAGE-BASE - - ;
Ссылки[править]
- Исходный текст слова UNUSED в Каллисто Классик 1.0
- Слово UNUSED в стандарте ANS Forth (англ.)
- Слово UNUSED в черновике Forth 200x (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |