Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Косвенный переход23 января 2011Косвенный переход, indirect jump и register-indirect jump) - тип программного контроля выполнения инструкций, представленный в виде некоторого набора инструкций машинного кода. Вместо указания адреса следующей инструкции для выполнения, как это принято для прямых переходов, здесь аргумент указывает местонахождение адреса. В данном случае в качестве примера можно привести команду вида 'косвенный переход по регистру r1', что означает, что следующая инструкция для выполнения находится по адресу, хранящемуся в регистре r1. Адрес перехода неизвестен пока инструкция не будет выполнена. Косвенные переходы так же могут зависеть от местонахождения в памяти. Косвенный переход может весьма пригодиться для выполнения условного перехода, особенно это касается многовариантных переходов. К примеру, исходя из введенных в программу данных, значение может искаться в таблице переходов указателей кода для обработки различных вариантов в зависимости от значения данных. Значение данных может добавляться к адресу таблицы, а результат сохраняться в регистре. Косвенный переход может быть выполнен исходя из значения этого регистра, эффективно соотнося программный контроль с кодом, соответствующим введенным данным. Схожим образом инструкции вызова подпрограммы могут быть косвенными с адресом вызываемой подпрограммы, указанным в регистре или ячейке памяти. Примеры: Просмотров: 1190
|