Hola el dia de hoy veremos ejemplos de como hacer una divición simple en ensamblador y practicaremos un poco mas el aspecto de las condicionales.
Codigo:
Como podemos ver en la imagen los valores 100 y 5 se almacenan en los registros en formato hexadecimal
Al efectuar la división obtenemos el numero 14 en hexadecimal, el cual representa el numero 20 en decimal.
org 100h mov ax,100 ;se coloca el numero 9 al registro ax mov bx,5 ;se coloca el numero 8 al registro bx div bx; se dividira ax/bx ret
Al efectuar la división obtenemos el numero 14 en hexadecimal, el cual representa el numero 20 en decimal.
Codigo:
.model small .stack .data diez db 10; variable para imprimir 2 caracteres (se multiplica por el primer valor) num1 db 0; variable para la edad mE1 db 10,13,"Ingrese la edad: $" ;mE1: mensaje edad 1 mens1 db 10,13,"Eres mayor de edad $" mens2 db 10,13,"Eres menor de edad $" .code inicio proc far mov ax,@data ;lleva a cabo el direccionamiento del segmento datos mov ds,ax ;Los datos se mueven al registro ax ;poner el primer letrero mov ah,09 lea dx,mE1 int 21h ;lectura del valor mov ah,01 int 21h sub al,30h ;convierto a decimal mul diez ;se multiplica el numero ingresado para las decenas mov num1,al ;guardo el valor introducido en num1 ;lectura segundo valor mov ah,01 int 21h sub al,30h ;convierto a decimal add al,num1 cmp al,18 ;Si lo que se encuentra en al>18 JGE mayor ;salta a mayor JMP menor ;sino ve a menor mayor: mov ah,09 lea dx,mens1 int 21h jmp final menor: mov ah,09 lea dx,mens2 int 21h jmp final final: mov ah,4ch int 21h endp inicio endResultado:
Comentarios
Publicar un comentario