Текущая версия |
Ваш текст |
Строка 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 (англ.) ==
| |
| <PRE>
| |
| 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.
| |
| </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@]]
| |
| | |
|
| |
|
| {{нет иллюстраций}} | | {{нет иллюстраций}} |
| {{заготовка}} | | {{заготовка}} |
| [[Категория:Слова Каллисто]] | | [[Категория:Слова Каллисто]] |
| [[Категория:Фортовские слова]]
| |
| [[Категория:Переменные USER]]
| |
| [[Категория:Встроенные переменные Каллисто]]
| |
| [[Категория:Операции со стеком возвратов Каллисто]]
| |