miércoles, 6 de febrero de 2019

Uso de registros en ensamblador 8086

En esta ocasión veremos los registros básicos a la hora de programar dentro de ensamblador. Si bien, tenemos varios registros dentro de lo que es nuestro ensamblador, pero en esta oportunidad solo nos enfocaremos en los mas básicos y en los cuales estaremos trabajando durante el curso.

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