Assembler - язык неограниченных возможностей


. Другие команды


  • Команда:
  • NOP
  • Назначение:
  • Отсутствие операции
  • Процессор:
  • 8086

    NOP — однобайтная команда (код 90h), которая не выполняет ничего, только занимает место и время. Код этой команды фактически соответствует команде XCHG AL,AL. Можно многие команды записать так, что они не будут приводить ни к каким действиям, например:

    mov ax,ax ; 2 байта xchg ax,ax ; 2 байта lea bx,[bx+0] ; 3 байта (8Dh, 5Fh, 00h, но многие ; ассемблеры, встретив такую команду, ; реально используют более короткую команду ; lea bx,[bx] с кодом 8Dh 1Fh) shl eax,0 ; 4 байта shrd еах,еах,0 ; 5 байт

  • Префикс:
  • LOCK
  • Назначение:
  • Префикс блокировки шины данных
  • Процессор:
  • 8086

    На все время выполнения команды, снабженной таким префиксом, будет заблокирована шина данных, и если в системе присутствует другой процессор, он не сможет обращаться к памяти, пока не закончится выполнение команды с префиксом LOCK. Команда XCHG автоматически всегда выполняется с блокировкой доступа к памяти, даже если префикс LOCK не указан. Этот префикс можно использовать только с командами ADD, ADC, AND, BTC, BTR, BTS, CMPXCHG, DEC, INC, NEG, NOT, OR, SBB, SUB, XOR, XADD и XCHG.

  • Команда:
  • UD2
  • Назначение:
  • Неопределенная операция
  • Процессор:
  • P6

    Эта команда всегда вызывает ошибку «неопределенная операция» (исключение #UD). Впервые она описана как таковая для Pentium Pro, но во всех предыдущих процессорах эта команда (код 0Fh 0Bh) не была определена и, естественно, приводила к такой же ошибке. UD2 предназначена для тестирования программного обеспечения, в частности операционных систем, которые должны уметь корректно обрабатывать такую ошибку. Название команды происходит от команды UD (код 0Fh 0FFh), которая была определена AMD для процессоров AMD K5.

  • Команда:
  • CPUID
  • Назначение:
  • Идентификация процессора
  • Процессор:
  • 80486

    CPUID сообщает информацию о производителе, типе и модификации процессора, о наличии и поддержке различных расширений. Команда CPUID поддерживается Intel, начиная с процессоров Intel 80486DX/SX/DX2 SL, UMC U5S, Cyrix M1, AMD 80486DX4. Чтобы проверить, поддерживает ли процессор эту команду, попробуйте установить флаг ID в 1 (бит 21 в регистре EFLAGS) — если это получается, значит, команда CPUID поддерживается.




    Начало  Назад  Вперед