Está en la página 1de 6

Registros Internos de la Unidad Central de Proceso (ucp):

Los registros se pueden clasificar de la siguiente forma: Registros de datos: Registros de segmentos: Registros punteros de pila: Registros ndices: Puntero de instrucciones: Registro de banderas (flags):

Registros Internos de la Unidad Central de Proceso (ucp):


Registros de datos:

AX: Registro acumulador. Es el principal empleado en las operaciones aritmticas. BX: Registro base. Se usa para indicar un desplazamiento. CX: Registro contador. Se usa como contador en los bucles. DX: Registro de datos. Tambin se usa en las operaciones aritmticas. Estos registros son de uso general y tambin pueden ser utilizados como registros de 8 bits, para utilizarlos como tales es necesario referirse a ellos como por ejemplo: AH y AL, que son los bytes alto (high) y bajo (low) del registro AX. Esta nomenclatura es aplicable tambin a los registros BX, CX y DX.

Ejemplos sobre instrucciones de salto


;Este programa suma los nmeros enteros de 1 hasta nfinal. ; El pseudocdigo de este programa es: ; ; AX = 0 ; CX = nfinal ; ; while(CX > 0) ;{ ; AX += CX ; CX ;} ; ; suma = AX

;********************************************************** ;****** CDIGO DE INICIO ********************************** ideal dosseg model small stack 256 ;****** VARIABLES DEL PROGRAMA **************************** dataseg codsal db 0 nfinal dw ? suma dw ? ;****** CDIGO DEL PROGRAMA ******************************* codeseg inicio: mov ax, @data ; inicializa el mov ds, ax ; segmento de datos xor ax, ax ; AX = 0 mov cx, [nfinal] ; CX = nfinal while: jcxz endwhi ; while(CX > 0) ;{ add ax, cx ; AX += CX dec cx ; CX-jmp while ;} endwhi: mov [suma], ax ; suma = AX

Instrucciones Repetitivas
loop direccin La instruccin LOOP, requiere un valor inicial en el registro CX. En cada iteracin, LOOP de forma automtica disminuye 1 de CX. Si el valor en el CX es cero, el control pasa a la instruccin que sigue; si el valor en el CX no es cero, el control pasa a la direccin del operando. La distancia debe ser un salto corto, desde -128 hasta +127 bytes. Para una operacin que exceda este limite, el ensamblador enva un mensaje como "salto relativo fuera de rango". El formato general de la instruccin LOOP es:

También podría gustarte