Programa #1
Veremos paso a paso el funcionamiento de la siguiente sintaxis.
org 100h ;suma numeros de un solo digito mov ax, 8H ;asigna un valor a ax mov bx, 4H ;asigna un valor a bx add ax,bx ;suma los valores ax y bx,guarda en ax mov bx,5 ;cambia valor de bx sub ax,bx ;resta ax y bx mov bx,3 ;cambia valor de bx a 3 inc bx ;incrementa bx a 4 mov ax,6 ;cambia el valor de ax a 6 hlt ;termina el proceso
He agregado un par de comentarios al programa para que sea un poco mas sencillo el entender el funcionamiento de este.
Bien, a continuacion insertare foto a foto lo que hemos codificado antes en la sintaxis.
En las primeras lineas espezamos en programa que sumara numeros de un solo digito.
En la tercera linea decimos que al registro "ax" se le asignara el valor de 8 en hexadecimal.
En la siguiente linea asignamos al registro "bx", el valor de 4 hexadecimal.
Posteriormente, se realiza una suma del contenido del registro ax y bx, guardando el resultado en ax.
Al estar trabajando con valores hexadecimales, el resultado que nos guardara sera en ese mismo sistema de numeracion.
8 + 4 = 12 12 en hexadecimal lo representamos con C
Continuando con el programa, en la siguiente linea cambiamos el valor del registro "bx" a un valor de 5 en hexadecimal.
Posteriormente realizamos una substraccion o resta del registro "ax" el valor del registro "bx". Dando como resultado un nuevo valor de 7 en el registro "ax".
Cambiamos ahora el valor que tiene "bx" por un 3.
Finalmente, incrementamos en 1 el valor del registro de "bx" y cambiamos el valor de "ax"por un 6.
Programa #2
Basicamente, es el mismo programa con la variacion de que los valores dados estan en decimal, por lo que al momento de ser mandados a los registros del programa este los convierte en hexadecimales.
Es decir, si enviamos un 10 al registro "ax", el programa nos guardara un "0A".
ORG 100h mov ax, 80 ;asigna el valor 80 hexadecimal ax mov bx, 450 ;asigna el valor 450 "" a bx inc bx ;incrementa en 1 a bx add ax, 80 ;suma a ax,80 hexadecimal mov cx, 200 ;da el valor de 200 "" a cx sub cx,ax ;resta a cx el valor de ax
A diferencia del programa anterior, podemos agregar a este la letra h a un lado del valor que se asignara al registro, y eso seria tomado por el programa como "80 en hexadecimal" por decir algun ejemplo.
No hay comentarios.:
Publicar un comentario