Помощь в учёбе, очень быстро...
Работаем вместе до победы

Команды передачи управления

РефератПомощь в написанииУзнать стоимостьмоей работы

Dword ptr — косвенный переход на метку в другом сегменте кода. Модифицируются (значением из памяти — и только из памяти, из регистра нельзя) оба регистра, cs и eip/ip. Первое слово/двойное слово этого адреса представляет смещение и загружается в ip/eip; второе/третье слово загружается в cs. Near ptr — прямой переход на метку внутри текущего сегмента кода. Модифицируется только регистр eip/ip… Читать ещё >

Команды передачи управления (реферат, курсовая, диплом, контрольная)

Эти команды реализуют изменение естественного порядка выполнения команд программы.

По принципу действия, команды микропроцессора, обеспечивающие организацию переходов в программе, можно разделить на 3 группы:

  • 1. Команды безусловной передачи управления:
    • o команда безусловного перехода;
    • o вызова процедуры и возврата из процедуры;
    • o вызова программных прерываний и возврата из программных прерываний.
  • 2. Команды условной передачи управления:
    • o команды перехода по результату команды сравнения cmp;
    • o команды перехода по состоянию определенного флага;
    • o команды перехода по содержимому регистра ecx/cx.
  • 3. Команды управления циклом:
    • o команда организации цикла со счетчиком ecx/cx;
    • o команда организации цикла со счетчиком ecx/cx с возможностью досрочного выхода из цикла по дополнительному условию.

Безусловные переходы

Предыдущее обсуждение выявило некоторые детали механизма перехода. Команды перехода модифицируют регистр указателя команды eip/ip и, возможно, сегментный регистр кода cs. Что именно должно подвергнуться модификации, зависит:

  • · от типа операнда в команде безусловного перехода (ближний или дальний);
  • · от указания перед адресом перехода (в команде перехода) модификатора; при этом сам адрес перехода может находиться либо непосредственно в команде (прямой переход), либо в регистре или ячейке памяти (косвенный переход).

Модификатор может принимать следующие значения:

  • · near ptr — прямой переход на метку внутри текущего сегмента кода. Модифицируется только регистр eip/ip (в зависимости от заданного типа сегмента кода use16 или use32) на основе указанного в команде адреса (метки) или выражения, использующего символ извлечения значения СчА — $;
  • · far ptr — прямой переход на метку в другом сегменте кода. Адрес перехода задается в виде непосредственного операнда или адреса (метки) и состоит из 16-битного селектора и 16/32-битного смещения, которые загружаются, соответственно, в регистры cs и ip/eip;
  • · word ptr — косвенный переход на метку внутри текущего сегмента кода. Модифицируется (значением смещения из памяти по указанному в команде адресу, или из регистра) только eip/ip. Размер смещения 16 или 32 бит;
  • · dword ptr — косвенный переход на метку в другом сегменте кода. Модифицируются (значением из памяти — и только из памяти, из регистра нельзя) оба регистра, cs и eip/ip. Первое слово/двойное слово этого адреса представляет смещение и загружается в ip/eip; второе/третье слово загружается в cs.
Показать весь текст
Заполнить форму текущей работой