Programa 1:
Donde se realizara una serie de operaciones matemáticas simples en formatos hexadecimales y decimales.
org 100h ;suma de un solo digito mov ax, 8h ;asignar valor a los registros mov bx, 4h ; add ax,bx ;suma de dos registros mov bx, 5 ;se da bx un valor de 5 sub ax,bx ;resta mov bx, 3 ;se da bx a 3 inc bx mov ax, 6 ;se da valor en ax hlt ; terminar proceso
Para comprender mejor este programa, a continuación paso a paso se detallara como funciona.
Comenzamos con el programa donde se sumara un solo dígito. En la cuarta linea vemos "ax", al registro que se le asignara 8 en hexadecimal.
En el registro "bx" se le asigna el valor 4 hexadecimal.
Luego, se suma "ax" y "bx", guardando el resultado en ax (add = suma).
El resultado sera dado en hexadecimal:
8 + 4 = 12 en hexadecimal es C
En la siguiente instrucción ahora a "bx" se le asigna 5 (hexadecimal).
Para después ver que se realizara la operación de resta del registro "ax" y "bx". Siendo el resultado ahora 7 en el registro ax.
Se cambia el valor anterior de "bx" ahora por un 3.
Con un inc se realiza un incremento en uno al registro "bx", siendo ahora 4.
Para terminar la ultima instrucción indica cambio de valor de "ax" en un 6.
Programa 2:
En este programa solo cambia de valor hexadecimal a decimal.
Código:
ORG 100h mov ax, 80 ; AX =80 d mov bx, 450 ; BX=450 d inc bx ;BX++ bx 451 add ax, 80 ; AX=AX+80 mov cx, 200 ;CX=200 sub cx, ax ; CX=CX-ax 200-160=40 ret ;retorno de subrutina ;ax=80 ;valor de bx en hex 450 equivale 1C2 ;inc bx 451 ;add ax, 80 ax=160 ;cx=200 ;sub cx, ;sub cx, ax=120
Programa 3: versión en hexadecimal
org 100h ;los valores proximos son valores decimales ;estos se convierten a hexadecimal en memoria mov ax,80h ;ax=80h mov bx,450h ;bx=450h inc bx ;bx++ add ax,80h ;ax=80h mov cx,200h ;cx=200h sub cx,ax ;cx=cx-ax ret ;Retorno de subrutina
Resultado:
No hay comentarios:
Publicar un comentario