Редактирование: Адресный интерпретатор
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 52: | Строка 52: | ||
=== CALL / RETURN === | === CALL / RETURN === | ||
Действие CALL / RETURN позволяют адресному интерпретатору исполнять не только последовательность [[примитив]]ов, но также использовать в [[шитый код|шитом коде]] слова высокого уровня — обеспечивая вложенность определений «через двоеточие». Этим двум действиям соответствуют каллистянские слова [[Слово :|:]] и [[EXIT]]. | |||
Сохранив в [[Стек возвратов Каллисто|стеке возвратов]] текущую позицию [[Шитый код|шитого кода]] (или считав её оттуда), действия CALL / RETURN передают управление на точки NEXTD / NEXTP (см. выше). Действие CALL в [[Каллисто|Каллисто 1.0]] реализовано дважды, начиная с меток CALLD и CALL. Это обработчики высокоуровневых слов в [[Регистры байтовых данных|памяти данных]] (слова разработчика) и [[Память программ|памяти программ]] (заранее откомпилированные) соответственно: | Сохранив в [[Стек возвратов Каллисто|стеке возвратов]] текущую позицию [[Шитый код|шитого кода]] (или считав её оттуда), действия CALL / RETURN передают управление на точки NEXTD / NEXTP (см. выше). Действие CALL в [[Каллисто|Каллисто 1.0]] реализовано дважды, начиная с меток CALLD и CALL. Это обработчики высокоуровневых слов в [[Регистры байтовых данных|памяти данных]] (слова разработчика) и [[Память программ|памяти программ]] (заранее откомпилированные) соответственно: |