R9213: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
(Новая страница: «'''R9213''' Поиск двоично-десятичного значения по индексу «Поиск двоично-десятичного значен…»)
 
мНет описания правки
Строка 13: Строка 13:
Операция чтения из регистра памяти данных по указанному адресу не изменяет [[стек]] ЭВМ.
Операция чтения из регистра памяти данных по указанному адресу не изменяет [[стек]] ЭВМ.


== Ссылки ==
* [http://mk.semico.ru/d1_p17.htm#d1_17_2_4 Поиск двоично-десятичного значения по индексу (R9213) на сайте НПП «СЕМИКО», п. 17.2.4.]
[[Category:Регистры]]
[[Category:Регистры]]
[[Category:Регистры функций]]
[[Category:Регистры функций]]
[[Category:Функции работы с таблицами]]
[[Category:Функции работы с таблицами]]

Версия от 23:20, 25 января 2015

R9213 Поиск двоично-десятичного значения по индексу «Поиск двоично-десятичного значения по индексу (X - индекс 0-254)»

Операция производится при выполнении команды записи в регистр памяти данных с адресом 9212. В регистре X стека задаётся индекс в диапазоне от 0 до 254. Преобразование содержимого регистра X стека при обращении к функции происходит аналогично модификации при косвенной адресации.

Функция выполняет последовательные обращения к содержимому памяти программ по адресам, отстоящим от содержимого индексного регистра памяти программ на величины, кратные трём. Считанный из памяти программ байт (ключ очередной группы) сравнивается в содержимым регистра X стека. Обращения продолжаются до совпадения значений индекса и ключа, до считывания из памяти программ признака окончания таблицы - числа 255 (0FFh) или до выхода за границы памяти программ.

При нахождении совпадения функция считывает два следующих последовательных байта из памяти программ. Имеющий меньший адрес байт интерпретируется как старший байт двухбайтового числа в упакованном BCD формате. Байт имеющий больший адрес — как младший байт.

Считанное из памяти программ число преобразуется в целое в диапазоне от 0 до 16665 аналогично преобразованию адреса в командах перехода и помещается в регистр X стека, замещая его предыдущее содержимое.

Если совпадения не обнаружено до считывания признака окончания таблицы или до выхода за границу памяти программ, то в регистр X стека записывается число минус 1.

Операция чтения из регистра памяти данных по указанному адресу не изменяет стек ЭВМ.