Слово R0: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) |
||
(не показаны 23 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
'''R0''' — | '''R0''' (читается «ар-нуль») — фортовская переменная [[Каллисто]]. | ||
R0 ( −− a ) Переменная, адрес дна стека возвратов. | |||
Переменная R0 содержит [[Единое адресное пространство|адрес]] дна [[Стек возвратов Каллисто|стека возвратов]]. | |||
== Ввод слова R0 == | |||
В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите три клавиши [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша P|{{Синяя клавиша|P}}]] [[Клавиша 0|{{Серая клавиша|0}}]] | |||
== Маленькие хитрости == | |||
R5095 и R5094 традиционно заняты под номер [[блок]]а, хранящегося в [[буфер]]е. Но [[Память двоичных данных|байтовые регистры]] непосредственно под R5094 могут быть зарезервированы программистом под свои нужды с помощью переменной R0. Не забудьте только [[!RP|переинциализировать RP]]. | |||
Для резервирования нужного числа [[Регистры байтовых данных|байтовых регистров]] с заранее неизвестными номерами проще использовать стандартное слово [[ALLOT]]. | |||
== R0 в fig-FORTH Release 1 glossary, май 1979 (англ.) == | == R0 в fig-FORTH Release 1 glossary, май 1979 (англ.) == | ||
<PRE> | |||
R0 --- addr U | R0 --- addr U | ||
A user variable containing the initial location of the return stack. | A user variable containing the initial location of the return stack. | ||
Строка 11: | Строка 19: | ||
The return stack grows downward from the user area toward the terminal | The return stack grows downward from the user area toward the terminal | ||
buffer. Forty-eight bytes are sufficient. The origin is in R0 (R-zero) and | buffer. Forty-eight bytes are sufficient. The origin is in R0 (R-zero) and | ||
is loaded from a boot-up literal. | is loaded from a boot-up literal. | ||
</PRE> | |||
== Реализация == | |||
<pre> | |||
139 rrR0 .EQU 1133 ; 11133 R0 − Указатель начала стека возвратов | |||
140 rlR0 .EQU 1134 | |||
141 pR0 .EQU 133 | |||
… | |||
2758 ;#RZero | |||
2759 ; R0 ( −− a ) Переменная, адрес дна стека возвратов. | |||
2760 LRZERO: .DB 2 | |||
2761 .TEXT "R0" | |||
2762 .DW LSZERO | |||
2763 RZERO: .DW SUSE | |||
2764 .DB pR0 | |||
</pre> | |||
Реализация из SP-Forth 4.20: | |||
<pre> | |||
USER R0 \ адрес дна стека возвратов | |||
</pre> | |||
=== Советская реализация === | |||
Описание и определение переменной R0 в ядре ФОРТ-ЕС: | |||
<PRE> | |||
R0 *C ->А ПЕРЕМЕННАЯ - АДРЕС ДНА СТЕКА ВОЗВРАТОВ 7 | |||
Экран номер 7 | |||
( 09.09.86 КОНСТАНТЫ И СИСТЕМНЫЕ ПЕРЕМЕННЫЕ ) | |||
VARIABLE R0 ( АДРЕС ДНА СТЕКА ВОЗВРАТОВ) | |||
</PRE> | |||
Определение переменной R0 в FORTH ИТЭФ: | |||
<PRE> | |||
XTIB DW 92 DUP(0) ; Входной буфер | |||
XR0 DW 0,0 ; Стек возвратов | |||
XUP DW 102 DUP(0) ; USER-область | |||
... | |||
HEAD 202Q,'R',260Q,RZERO,$USE ; R0 | |||
DW 8 | |||
</PRE> | |||
== Ссылки == | |||
* {{Исходник|RZero|R0}} | |||
* См. слова [[!RP]] и [[RP@]] | |||
Строка 17: | Строка 69: | ||
{{заготовка}} | {{заготовка}} | ||
[[Категория:Слова Каллисто]] | [[Категория:Слова Каллисто]] | ||
[[Категория: | [[Категория:Фортовские слова]] | ||
[[Категория:Переменные USER]] | |||
[[Категория:Встроенные переменные Каллисто]] | |||
[[Категория:Операции со стеком возвратов Каллисто]] | [[Категория:Операции со стеком возвратов Каллисто]] |
Текущая версия от 19:11, 10 ноября 2017
R0 (читается «ар-нуль») — фортовская переменная Каллисто.
R0 ( −− a ) Переменная, адрес дна стека возвратов.
Переменная R0 содержит адрес дна стека возвратов.
Ввод слова R0[править]
В режиме ЛАТ последовательно нажмите три клавиши × P 0
Маленькие хитрости[править]
R5095 и R5094 традиционно заняты под номер блока, хранящегося в буфере. Но байтовые регистры непосредственно под R5094 могут быть зарезервированы программистом под свои нужды с помощью переменной R0. Не забудьте только переинциализировать RP.
Для резервирования нужного числа байтовых регистров с заранее неизвестными номерами проще использовать стандартное слово ALLOT.
R0 в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]
R0 --- addr U A user variable containing the initial location of the return stack. Pronounced R-zero. See RP! The return stack grows downward from the user area toward the terminal buffer. Forty-eight bytes are sufficient. The origin is in R0 (R-zero) and is loaded from a boot-up literal.
Реализация[править]
139 rrR0 .EQU 1133 ; 11133 R0 − Указатель начала стека возвратов 140 rlR0 .EQU 1134 141 pR0 .EQU 133 … 2758 ;#RZero 2759 ; R0 ( −− a ) Переменная, адрес дна стека возвратов. 2760 LRZERO: .DB 2 2761 .TEXT "R0" 2762 .DW LSZERO 2763 RZERO: .DW SUSE 2764 .DB pR0
Реализация из SP-Forth 4.20:
USER R0 \ адрес дна стека возвратов
Советская реализация[править]
Описание и определение переменной R0 в ядре ФОРТ-ЕС:
R0 *C ->А ПЕРЕМЕННАЯ - АДРЕС ДНА СТЕКА ВОЗВРАТОВ 7 Экран номер 7 ( 09.09.86 КОНСТАНТЫ И СИСТЕМНЫЕ ПЕРЕМЕННЫЕ ) VARIABLE R0 ( АДРЕС ДНА СТЕКА ВОЗВРАТОВ)
Определение переменной R0 в FORTH ИТЭФ:
XTIB DW 92 DUP(0) ; Входной буфер XR0 DW 0,0 ; Стек возвратов XUP DW 102 DUP(0) ; USER-область ... HEAD 202Q,'R',260Q,RZERO,$USE ; R0 DW 8
Ссылки[править]
- Исходный текст слова R0 в Каллисто Классик 1.0
- См. слова !RP и RP@
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |