Los registros que veremos son:
AX Acumulador
BX Registro base
CX Registro contador
DX Registro de datos
El registro AX se usa para almacenar resultados, lectura o escritura desde o hacia los puertos.
El registro BX sirve como apuntador base o indice.
El registro CX se utiliza en operaciones de iteracion, como un contador que se va incrementado o decrementa de acuerdo con el tipo de instrucción dada. Mas comúnmente, utilizado en algún ciclo.
El registro DX se usa como puente para el acceso de datos.
Cada uno de estos registros sirven de diferente forma dentro de los programas. Anteriormente, habíamos utilizado el registro AX y BX para guardar datos numéricos en hexadecimal.
A continuación anexare un programa en el cual, estamos imprimiendo el abecedario utilizando algunos de los registros que ya hemos mencionado:
Sintaxis
;uso del registro cx org 100h MOV DL, "A" ;se transfiere la letra A al registro (valor en hexadecimal del assembler 8086"dar clic al codigo ascii") MOV CX, 26 ;se asigna el 26 al registro cx imprime: ;va a imprimir hasta acabar las 26 MOV AH, 02 ;se va a tranferir el 02 al acumulador de byte INT 21h ;dato ascii leido desde el teclado INC DL ;incrementa dl LOOP imprime ;continua
He dejado comentarios en cada linea para que se pueda apreciar que es lo que estamos haciendo en cada una de ellas.
Si bien, resumido lo que estamos haciendo aquí es mandar el valor de cada una de las letras a nuestros registros, enviamos un numero definido de letras que va a imprimir, en nuestro caso las 26 letras del abecedario.
Al enviar las letras, la maquina no las manda como si fuera una A en si, lo que envía a los registros es el codigo ascii que reconoce el ensamblador para saber que es el carácter "A"
Códigos que se encuentran en el mismo emu8086
Finalmente, aquí esta una muestra de lo que realiza este programa una vez que se empieza a ejecutar.
No hay comentarios.:
Publicar un comentario