>> Tecnologia Eletrônica >  >> Áudio Residencial >> Amplificadores

Flags Condicionais vs. Flags de Controle no Microprocessador 8086

O registrador de flags do 8086 contém duas categorias distintas de flags, cada uma servindo propósito diferente na execução de programas.

Flags Condicionais (Status Flags)

Estas flags são automaticamente setadas ou limpas pela CPU baseada no resultado de operações aritméticas ou lógicas. Refletem resultado da última instrução e são usadas por instruções de branch condicional para alterar fluxo do programa.

  • Zero Flag (ZF) — Setada se resultado é zero.
  • Carry Flag (CF) — Setada se operação unsigned gera carry/borrow do bit mais significativo.
  • Parity Flag (PF) — Setada se byte baixo do resultado contém número par de bits 1.
  • Overflow Flag (OF) — Setada se operação signed excede faixa representável.

Flags de Controle

Estas flags são explicitamente manipuladas pelo programador (via instruções específicas) para controlar comportamento do processador.

  • Direction Flag (DF) — Controla endereçamento de instruções string: 0 = incrementa (forward), 1 = decrementa (backward).
  • Interrupt Flag (IF) — Habilita (1) ou desabilita (0) interrupções de hardware mascaráveis.
  • Trap Flag (TF) — Habilita (1) modo debug single-step; 0 desabilita.

Diferença-Chave

Flags condicionais são atualizadas pelo hardware como efeito colateral de computação. Flags de controle são setadas por software para ditar como o processador opera.