Редактирование: Слово R0

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

Текущая версия Ваш текст
Строка 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.
Строка 19: Строка 11:
  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@]]




Строка 69: Строка 17:
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Фортовские слова]]
[[Категория:Стандартные переменные Каллисто]]
[[Категория:Переменные USER]]
[[Категория:Встроенные переменные Каллисто]]
[[Категория:Операции со стеком возвратов Каллисто]]
[[Категория:Операции со стеком возвратов Каллисто]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)