Редактирование: R9212

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

Текущая версия Ваш текст
Строка 1: Строка 1:
'''R9212''' Поиск значения по ''индексу'' ([[RX|X]] - ''индекс'' 0-254)
'''R9212''' Поиск значения по индексу «Поиск значения по индексу ([[RX|X]] - индекс 0-254)»


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


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


При нахождении совпадения функция считывает два следующих последовательных байта из [[память программ|памяти программ]].
При нахождении совпадения функция считывает два следующих последовательных байта из [[память программ|памяти программ]].


Имеющий меньший адрес байт интерпретируется, как старший байт [[Шестнадцатеричный формат|двухбайтового шестнадцатеричного числа]]. Байт, имеющий больший адрес — как младший байт. Считанное из памяти программ число преобразуется в целое в диапазоне от 0 до 65536 и помещается в [[RX|регистр X]] [[Стек калькулятора|стек]]а, замещая его предыдущее содержимое.
Имеющий меньший адрес байт интерпретируется как старший байт [[Шестнадцатеричный формат|двухбайтового шестнадцатеричного числа]]. Байт имеющий больший адрес — как младший байт. Считанное из памяти программ число преобразуется в целое в диапазоне от 0 до 65536 и помещается в [[RX|регистр X]] [[Стек калькулятора|стек]]а, замещая его предыдущее содержимое.


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


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


== Ссылки ==
== Ссылки ==
{{Документация|d1_p17.htm#d1_17_2_3|Поиск значения по индексу (R9212) на сайте НПП «СЕМИКО», п. 17.2.3.}}
{{Документация|d1_p17.htm#d1_17_2_3|Поиск значения по индексу (R9212) на сайте НПП «СЕМИКО», п. 17.2.3.}}
* См. статью [[Работа с таблицами]]
[[Category:Регистры]]
[[Category:Регистры]]
[[Category:Регистры функций]]
[[Category:Регистры функций]]
[[Category:Функции работы с таблицами]]
[[Category:Функции работы с таблицами]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)

Шаблон, используемый на этой странице:

Источник — https://pmk.the-hacker.ru/R9212