Multiplicación en ensamblador 8086.
Uso de mul:
La operación mul en este programa multiplicara "ax" por "bx", guardando el resultado en "ax". Como se vera a continuación.
Programa que usa mul.
org 100h mov ax, 8 ;se asigna a ax 8 decimal mov bx, 9 ; se asigna a bx 9 decimal mul bx ;multiplica ax por bx ret
Se asigna 8 a "ax" y 9 a "bx" a los registros valores decimales.
Se multiplican los valores asignados en "ax" y "bx" con mul, obteniendo 48 hexadecimal en el registro "ax", equivalente a 72 decimal.
Versión 2:
Código:
prog org 100h mov ax, 9 ;se asigna ax=9 mov bx, 9 ;bx=9 mul bx ;ax por bx ret ;----------- ;Versión 3:
org 100h mov ax, 80;ax=80 mov bx, 10;bx=10 mul bx ret
Resultado v3:
Como se muestra se asigna en 80 decimal a "ax" en hexadecimal equivalente a 50 en hexadecimal.
Y en "bx" se guarda en el registro 10 decimal equivalente a A hexadecimal.
Como podemos ver el resultado de 80 x 10 = 800,equivalente a 320 a hexadecimal.
Versión 4:
Código:
org 100h mov ax, 80 mov bx, 1000 mul bx retAl momento de realizar la operación 80 x 1000 o más, el resultado supera el rango definido para guardar valores.
Referencia:
https://linterfazgmo.blogspot.com/2019/02/tabla-de-registros-y-condicion-if.html
No hay comentarios:
Publicar un comentario