registro de banderas

17

Upload: george-foster

Post on 30-Dec-2015

85 views

Category:

Documents


0 download

DESCRIPTION

Registro de banderas. A este registro se le conoce también como registro de estado. Consta de 16 bits y únicamente 9 de ellos contiene información, indican el estado de la máquina y el estado de la ejecución de los programas . - PowerPoint PPT Presentation

TRANSCRIPT

Registro de banderas

A este registro se le conoce también como registro de estado. Consta de 16 bits y únicamente 9 de ellos contiene información, indican el estado de la máquina y el estado de la ejecución de los programas.

Seis de ellas (CF, PF, AF, ZF, SF, OF) son utilizadas para verificar o indicar una condición producida por alguna instrucción, y tres de ellas son utilizadas para el control de algunas operaciones (DF, IF, TF).

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

OF

DF

IF TF SF ZF AF PF CF

BIT ALTO

BIT BAJO

Ejemplos

CFCF Carry. Indica si hubo carry en

operaciones aritméticas. C=1 si existe acarreo, 0 sino existe.

PFPF Paridad. Indica la paridad de un dato.

P=1 si es par, P=0 sino lo es.

AFAF Carry auxiliar. Contiene el acarreo del bit

3 al bit 4 en un operando de 8 bits. A=1 si existe carry. A=0 no existe carry.

ZFZF Cero. Indica si el resultado de una

operación aritmética o de comparación es cero. Z=0 el resultado no es cero, Z=1 el resultado es cero.

TFTF Trap. Indica al procesador que debe

ejecutar una por una las instrucciones de un programa (procesamiento de un solo paso).

SFSF Signo. Indica el signo del resultado. S=0

si el resultado es positivo, S=1 si el resultado es negativo.

IFIF Interrupción. Indica al procesador si las

interrupciones deben ser atendidas o no.

DFDF Dirección. Es utilizada en operaciones

de cadena, indica la dirección que el procesador debe seguir para tomar la información.

OFOF Overflow. Indica overflow en la

magnitud de un dato. O=0 no existe overflow, O=1 si existe overflow.

El siguiente ejemplo escribe una cadena en pantalla llamando a uno de los servicios estándar de impresión del DOS (función 9 de INT 21h): cr EQU 13 ; constante de retorno de carro lf EQU 10 ; constante de salto de línea programa SEGMENT ; segmento común a CS,

DS, ES, SS. ASSUME CS: programa, DS: programa ORG 100h ; programa de tipo COM inicio: LEA DX ,texto ; dirección de texto a

imprimir MOV AH,9 ; función de impresión INT 21h ; llamar al DOS INT 20h ; volver al sistema operativo texto DB cr,lf, “Ensamblador“ ,cr,lf,"$"

programa ENDS ; fin del segmento

END inicio ; fin del programa y punto de inicio

Suma con acarreoADD: Esta instrucción suma el primer

operador con el segundo y al resultado lo guarda en el primer operador, si hubo acarreo lo guarda en Carry.

ADC: Realiza la misma operación que ADD incorporando también el Carry en la suma de los operadores.

Sumar 2 números de 32 bits contenidos en AX BX y CX DX respectivamente, guardando el resultado en AX BX.AX BX = 0134A23BhCX DX = BD02E329h; sumar dos números de 32 bitsname "suma32"org 100hmov ax,0134mov bx,A23Bmov cx,BD02mov dx,E329add bx,dxadc ax,cxret

AX BX = BE378564 (Resultado)

Dividir AX por 7 y Multiplicar BX por 23; dividir y multiplicar enterosname "divymul"org 100hmov ax,0100hmov bx,2000hmov cl,7 ; divisordiv cl ; dividendo = ax ; divisor = clmov cx,ax ; guardar resultado y resto en cxmov ax,bx ; multiplicandomov bx,23 ; multiplicadormul bx ; resultado en dx axret ; volver al sistema operativo