Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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):
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.
;********************************************************** ;****** 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: