Bandera Dirección (DF) y Bandera Trampa (TF) del 8086: Operaciones string y depuración paso a paso
Dos banderas especiales en registro FLAGS
Bit 10 = DF (Direction Flag), Bit 8 = TF (Trap Flag). Controlan dirección strings e instrucción-level tracing.
Bandera Dirección (DF)
- DF = 0 (CLD): Instrucciones string auto-incrementan SI/DI (hacia adelante).
- DF = 1 (STD): Instrucciones string auto-decrementan SI/DI (hacia atrás).
- Instrucciones afectadas:
MOVS, CMPS, SCAS, LODS, STOS, INS, OUTS(y prefijosREP).
Ejemplo: Copia adelante luego copia atrás
; Copia 10 bytes de src a dst (adelante) cld ; DF=0 mov si, offset src mov di, offset dst mov cx, 10 rep movsb ; SI,DI incrementan ; Invierte string in-place (atrás) std ; DF=1 mov si, offset dst + 9 mov di, offset dst + 9 mov cx, 10 rep movsb ; SI,DI decrementan
Bandera Trampa (TF)
- TF = 0: Ejecución normal.
- TF = 1: Tras cada instrucción, CPU genera INT 1 (Tipo 1) — excepción single-step.
- Usada por depuradores (DEBUG, Turbo Debugger, WinDbg, GDB) para implementar "Paso a paso".
- Se setea vía
INT 3(breakpoint) oPUSHF / OR word ptr [sp], 100h / POPF. - Handler interrupción puede examinar registros, memoria, luego
IRETpara reanudar.
Flujo depurador
- Depurador setea TF=1 en FLAGS guardados en pila.
- Código usuario ejecuta una instrucción.
- CPU apila FLAGS/CS/IP, limpia TF, salta a handler INT 1 (depurador).
- Depurador lee estado registros, actualiza UI.
- Depurador restaura TF=1 en FLAGS guardados,
IRET→ siguiente instrucción.
Interacción
- DF y TF son independientes; ambas en FLAGS.
- Instrucción string con TF=1: cada iteración (cada MOVSB) dispara INT 1 — extremadamente lento, pero permite inspección por elemento.
Resumen
| Bandera | Bit | Instrucción setear | Instrucción limpiar | Uso principal |
|---|---|---|---|---|
| DF | 10 | STD | CLD | Dirección string (SI/DI inc/dec) |
| TF | 8 | INT 3 / POPF con bit | IRET (auto) / POPF | Depuración single-step |
- ·Impresión de contacto nano (NCP): patrón de alta resolución a escala nanométrica
- ·Tecnología RFID Intellitag
- ·¿Es 1-866-744-5556 una llamada gratuita?
- ·Cómo Recuperar MMS en www.mms.net.sa (Arabia Saudita)
- ·Cómo desactivar (destruir) una etiqueta RFID
- ·Simulación de RFID de 125 kHz en Multisim: Limitaciones y Enfoque Simplificado
- ·Dos routers OSPF en un área: Los dos componentes requeridos
- ·Cómo detectar etiquetas RFID
- Simulación de RFID de 125 kHz en Multisim: Limitaciones y Enfoque Simplificado
- La aparición de la tecnología RFID: historia y hitos
- Peligros del pasaporte RFID
- Acrónimo de Mensajería RFT: Significado 'Regret For Transfer' y Contexto de Uso
- Plan de proyecto: Nuevo sistema de misiones de operaciones de campo (3 fases, 24 meses)
- Ventajas y desventajas de la tecnología RFID
