Редактирование:
!RP
(раздел)
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== Реализация == <pre> 139 rrR0 .EQU 1133 ; 11133 R0 − Указатель начала стека возвратов 140 rlR0 .EQU 1134 … 1759 ;#StoreRP 1760 ; !RP ( −− ) Восстановить RP. Присвоить указателю стека возвратов исходное значение из переменной R0. 1761 LRPSTO: .DB 3 1762 .TEXT "!RP" 1763 .DW LRPAT 1764 RPSTO: .DW JRPSTO ; Присвоить указателю стека возвратов исходное (базовое) значение из переменной R0. 1765 JRPSTO: PPRM rrR0 RME ∗ PPRM rlR0 + ; Считать переменную R0 1766 1 EE 4 − M2 KGOTO9 ; RP := R0 </pre> Реализация из SP-Forth 4.20: <pre> CODE RP! ( A -> ) POP EBX MOV ESP, EAX MOV EAX, [EBP] LEA EBP, 4 [EBP] JMP EBX END-CODE </pre> === Советская реализация === В ФОРТ-ЕС и FORTH ИТЭФ для установки указателя [[Стек возвратов|стека возвратов]] служил [[примитив]] RP! с одинаковым названием, но разным поведением. Вот описание и определение RP! в ядре ФОРТ-ЕС: <PRE> RP! * A-> УСТАНОВИТЬ УКАЗАТЕЛЬ ВЕРШИНЫ СТЕКА 20 ВОЗВРАТОВ НА A Экран номер 20 ( 31.03.86 SP@ SP! RP@ RP! 2/ 2* 2@ 2! DEPTH ) CODE RP! ( A->) RRET POP, RRET RMASK NR, RRET RFORTH AR, RNEXT BR, END-CODE </PRE> Вот определение RP! в FORTH ИТЭФ: <PRE> HEAD 203Q,'RP',241Q,RPSTO ; RP! MOV BP, $RS NEXT </PRE>
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице