logo search
КС-ZAO / Лекции ЦЭВМруский вариант11

Инструкция bound

Директиве BOUND проверяет, что 16-битовое значение находится в диапазоне со знаком, заданном двумя смежными словами памяти, при этом верхняя граница записана по адресу, расположенному непосредственно над нижней границей. Обе границы интерпретируются, как значения со знаком, поэтому можно задать максимальный диапазон от -32768 до +32767 включительно. Значения, совпадающие с нижней или верхней границей, рассматриваются, как принадлежащие заданному диапазону.

Инструкция BOUND используется обычно для того, чтобы предотвратить выход за границы массива. Если BX не находится в заданном диапазоне, то генерируется прерывание INT 5.

Первый операнд инструкции BOUND представляет собой 16-разрядный регистр общего назначения, содержащий проверяемое значение. Второй операнд инструкции BOUND - это двойное слово, содержащее диапазон. Это двойное слово содержит 16-битовую нижнюю границу в младшем слове и 16-битовую верхнюю границу со знаком в качестве старшего слова.