Objetivos
Outras Instruções
Todas as instruções que não se encaixam nos grupos estudados anteriormente serão agrupadas
nessa parte.
Notação utilizada:
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
HLT - HALT - Supender Execução
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
Histórico de atualizações
- 21/01/2026 - revisão 2 - Adição: instruções WAIT, ESC, LOCK E SEG
- 18/02/2025 - revisão 1 - Ajustes pontuais
- 10/12/2024 - versão inicial
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.