Clique sobre os objetivos listados abaixo para navegar até o conteúdo desejado.

  1. Outras instruções
  2. Instrução NOP
  3. Instrução HLT
  4. Instrução WAIT
  5. Instrução ESC
  6. Instrução LOCK
  7. Instrução SEG

Todas as instruções que não se encaixam nos grupos estudados anteriormente serão agrupadas nessa parte.

Notação utilizada:
; Comentário

A instrução NOP não realiza nenhum tipo de operação sendo usada para sincronização ou aguardo de resposta de dispositivos e outros processadores/chips ligados ao 8086, por exemplo.

Operação
-
Operandos
-
Ex:
OUT ffh, AL; envio de dados
NOP; delay
NOP
NOP
OUT feh, AL ;envio de dados

A instrução HLT suspende a execução do processador até que uma interrupção ou reset ocorra fazendo como que a execução do 8086 continue.

A HLT pode ser utilizado para aguardar comunicação com periféricos, liberando barramentos de comunicação ou outros recurso internos.

Operação
-
Operandos:
-
Ex:
CLI
;carrega dados
STI
HLT     ;aguarda interrupção

A instrução WAIT coloca o processador em um modo inativo(idle) até que uma interrupção NMI ou INTR ocorra ou o pino TEST seja acionado com 0. Essa instrução é utilizada para sincronização com outros periféricos ou coprocessadores.

Operação
-
Operandos:
-
Ex:
OUT 7,AL
WAIT ; aguarda interrupção
; 

A instrução ESC é usada para comunicação com um coprocessador externo. Um byte imediato contendo 3-bits do opcode e 3-bits do registrador é utilizado como operando.

Operação
-
Operandos:
imediato, REG
Ex:
MOV DX,FFFFh
ESC 0fh, DX ; aguarda interrupção
HLT ; aguarda interrupção

LOCK não é uma instrução e sim um prefixo para ser utilizado com outras instruções que realizam leitura-alteração-escrita em memória. A instrução é executada de forma atômica evitando que threads acessem uma mesma variável, por exemplo.

Operação
-
Instruções:
ADD, ADC, AND, DEC, INC, NEG, NOT, OR, SBB, SUB, XOR, e XCHG
F(Flags)
instrução usada
Ex:
MOV BX,1234h
LOCK INC [BX] ; 

A instrução SEG realiza a sobrescrita do registrador de segmento que deve ser usado por um instrução ao invés de seu registrador de segmento predefinido. O "novo" registrador é informado como operando para a instrução.

Operação
-
Operandos:
SREG
F(Flags)
-
Ex:
MOV ES, 1234h
SEG ES	; usa ES ao invés de DS
MOV AX,[BX] ; ES:BX
  1. 21/01/2026 - revisão 2 - Adição: instruções WAIT, ESC, LOCK E SEG
  2. 18/02/2025 - revisão 1 - Ajustes pontuais
  3. 10/12/2024 - versão inicial