Слово П
П (регистру присвоить, читается «пэ») — системное слово Каллисто. Прямая запись в память данных.
П ( t z y x u -- t z y ) Память. Запись x в регистр с номером u.
Запись в регистр ЭКВМ с номером u (u от 0 до 9999) при стеке ЭКВМ, заполненном на основе стека данных.
Будьте осторожны! Бездумное изменение регистров, используемых Каллисто, может привести к непредсказуемым последствиям.
Ввод слова П
В режиме РУС нажмите белую клавишу 8
Замечание
Слово П — наиболее удобный и совместимый способ изменить содержимое регистра функций МК-161 (u от 9000 до 9999). Когда запись в регистр функций требует нескольких чисел, они все берутся со стека данных (вплоть до верхних четырёх), но слово П удаляет из стека лишь верхнее из них.
Также слово П важно для совместимости с Каллисто 2.0, в которой предполагается отказ от единой адресации. При использовании рекомендуемых переменных VALUE необходимость в использовании П или ! возникает не так часто.
Реализация
В Каллисто 1.0 слово П переносит содержимое верхних четырёх элементов стека в стек калькулятора:
805 ;#pe 806 ; П ( t z y x U −− t z y ) Записать x в регистр МК−161 с номером U. 807 ; Записать регистр МК−161 RU при стеке МК−161, заполненном на основе стека Форта. 808 ; Не осуществлять преобразование адресов, полностью "сырое" обращение к регистру. 809 LRSTO: .DB 1,143 ; "П" 810 .DW LDIGIT ; ( r1 r2 r3 значение номер −− r1 r2 r3 ) 811 RSTO: .DW JRSTO 812 JRSTO: PKRM03 MA RM3 2 + M3 ; RA := u 813 3 + M0 814 KRM0 KRM0 KRM0 KRM0 815 KMA KGOTO9
Ссылки
- Исходный текст слова П в Каллисто Классик 1.0
- См. слова ИП, !, C! и символ 'П'
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |