Редактирование: R9213
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
'''R9213''' Поиск двоично-десятичного значения по | '''R9213''' Поиск двоично-десятичного значения по индексу ([[RX|X]] - индекс 0-254) | ||
Операция производится при выполнении | Операция производится при выполнении команды записи в регистр памяти данных с адресом 9213. В [[RX|регистре X]] [[Стек калькулятора|стек]]а задаётся индекс в диапазоне от 0 до 254. Преобразование содержимого [[RX|регистра X]] [[Стек калькулятора|стек]]а при обращении к функции происходит аналогично модификации при косвенной адресации. | ||
Функция выполняет последовательные обращения к содержимому [[память программ|памяти программ]] по адресам, отстоящим от содержимого [[R9042|индексного регистра памяти программ]] на величины, кратные трём. Считанный из [[память программ|памяти программ]] байт ( | Функция выполняет последовательные обращения к содержимому [[память программ|памяти программ]] по адресам, отстоящим от содержимого [[R9042|индексного регистра памяти программ]] на величины, кратные трём. Считанный из [[память программ|памяти программ]] байт (ключ очередной группы) сравнивается в содержимым [[RX|регистра X]] [[Стек калькулятора|стек]]а. Обращения продолжаются до совпадения значений индекса и ключа, до считывания из памяти программ признака окончания таблицы - числа 255 (0FFh) или до выхода за границы [[память программ|памяти программ]]. | ||
При нахождении совпадения функция считывает два следующих последовательных байта из памяти программ. Имеющий меньший адрес байт интерпретируется | При нахождении совпадения функция считывает два следующих последовательных байта из памяти программ. Имеющий меньший адрес байт интерпретируется как старший байт двухбайтового числа в [[Двоично-десятичный формат|упакованном BCD формате]]. Байт имеющий больший адрес — как младший байт. | ||
Считанное из [[память программ|памяти программ]] число преобразуется в целое в диапазоне от 0 до 16665 аналогично преобразованию адреса в командах перехода и помещается в [[RX|регистр X]] [[Стек калькулятора|стек]]а, замещая его предыдущее содержимое. | Считанное из [[память программ|памяти программ]] число преобразуется в целое в диапазоне от 0 до 16665 аналогично преобразованию адреса в командах перехода и помещается в [[RX|регистр X]] [[Стек калькулятора|стек]]а, замещая его предыдущее содержимое. |