Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы СПО / Команды Intel 80х86.doc
Скачиваний:
40
Добавлен:
12.04.2015
Размер:
304.64 Кб
Скачать

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

Команда

Комбинации операндов P1,P2,P3

Действие

Какие флаги меняет

Какие процессоры

Расшифровка мнемоники команды

JMP метка

Безусловный переход на метку

все

Jump

JMP P1

r16/32

m16/32/48

Безусловный переход по адресу, хранящ-ся в Р1

все

JE метка

JZ метка

Условный переход, если ZF=1

все

Jump if Equal

Jump if Zero

JNE метка

JNZ метка

Условный переход, если ZF=0

все

Jump if Not Equal

Jump if Not Zero

JS метка

Условный переход, если SF=1

все

Jump if Sign

JNS метка

Условный переход, если SF=0

все

Jump if No Sign

JP метка

Условный переход, если PF=1

все

Jump if Parity

JNP метка

Условный переход, если PF=0

все

Jump if Not Parity

JO метка

Условный переход, если OF=1

все

Jump if Overflow

JNO метка

Условный переход, если OF=0

все

Jump if Not Overflow

JA метка

JNBE метка

Условный переход, если > (беззнак.) по CF=0 и ZF=0

все

Jump if Above

Jump if Not Below or Equal

JAE метка

JNB метка

JNC метка

Условный переход, если >= (беззнак.) Условный переход, если CF=0

все

Jump if Above or Equal

Jump if Not Below

Jump if Not Carry

JB метка

JNAE метка

JC метка

Условный переход, если < (беззнак.) Условный переход, если CF=1

все

Jump if Below

Jump if Not Above or Equal

Jump if Carry

JBE метка

JNA метка

Условный переход, если  (беззнак.):CF=1 или ZF=1

все

Jump if Below or Equal

Jump if Not Above

JG метка

JNLE метка

Условный переход, если > (со знаком):ZF=0 и SF=OF

все

Jump if Greater

Jump if Not Less or Equal

JGE метка

JNL метка

Условный переход, если  (со знаком) по SF=OF

все

Jump if Greater or Equal

Jump if Not Less

JL метка

JNGE метка

Условный переход, если < (со знаком) по SFOF

все

Jump if Less

Jump if Not Greater or Equal

JLE метка

JNG метка

Условный переход, если  (со знаком)ZF=1или SFOF

все

Jump if Less or Equal

Jump if Not Greater

JCXZ метка

Условный переход, если CX=0

все

Jump if CX is Zero

JECXZ метка

Условный переход, если ECX=0

386 >

Jump if ECX is Zero

LOOP метка

Цикл на метку (по EСХ):

if {ECX– –}>0: goto метка

все

Loop (англ. "петля")

LOOPZ метка

LOOPE метка

Цикл на метку (по EСХ) пока ZF=1:

if ({ECX– –}>0 && ZF=1): goto метка

все

Loop if Zero

Loop if Equal

LOOPNZ метка

LOOPNE метка

Цикл на метку (по EСХ) пока ZF=0:

if ({ECX– –}>0 && ZF=0): goto метка

все

Loop if Not Zero

Loop if Not Equal

CALL метка

Вызов процедуры по адресу метка

все

Call (англ. "вызов")

CALL P1

r16/32

m16/32/48

Вызов процедуры по адресу, хранящ. в Р1

все

RETN,

RET

Ближний возврат из процедуры

все

Return Near

RETN const,

RET const

Ближний возврат из процедуры c очисткой const байт из стека

все

RETF,

RET

Дальний возврат из процедуры

все

Return Far

RETF const,

RET const

Дальний возврат из процедуры c очисткой const байт из стека

все

INT const

Вызов прерывания с номером const

все

Interrupt

IRET

Возврат из прерывания в 16-битном режиме

весь регистр FLAGS

все

Interrupt Return

IRETD

Возврат из прерывания в 32-битном режиме

весь регистр EFLAGS

386 >

Interrupt Return with Double word Regs

INT3

Вызов отладочного прерывания INT 3

все

INT 3

INTO

Вызов прерывания INT4 если флаг OF=1

все

INT if Overflow

BOUND P1,P2

r16, m32

r32, m64

Вызов прерывания INT5 если не выполняется:

m32[15:0]  r16  m32[31:16]

m64[31:0]  r32  m64[63:32]

286 >

Check Array Bounds

Соседние файлы в папке Лабы СПО