Instruções de Manipulação de String do 8086
O 8086 fornece um conjunto dedicado de instruções de string que operam nos ponteiros de origem (SI) e destino (DI), simplificando drasticamente operações de bloco de memória. Cada instrução tem formas byte (B), word (W) e genéricas, e se repetem via prefixos REP.
Transferência de Dados
- MOVS / MOVSB / MOVSW — Move byte/word de [SI] para [DI]; auto-incrementa/decrementa ponteiros.
- LODS / LODSB / LODSW — Carrega byte/word de [SI] para AL/AX.
- STOS / STOSB / STOSW — Armazena AL/AX em [DI].
Comparação e Busca
- CMPS / CMPSB / CMPSW — Compara [SI] com [DI]; define flags.
- SCAS / SCASB / SCASW — Compara AL/AX com [DI]; usado para varredura.
Notas de Uso
- Flag de Direção (DF) controla incremento (DF=0) ou decremento (DF=1) dos ponteiros.
- Prefixos REP/REPE/REPNE repetem até CX=0 ou condição atendida.
- Essas instruções são a base de
memcpy, strcmp, strlen em bibliotecas assembly.