Sintaxis 1
org 100h mov ax,100 ;pone al registro ax un valor de 9 mov bx,5 ;pone al registro bx un valor de 9 div bx ;divide lo que hay en ax, entre lo que se encuentra en bx ret
Corrida del programa
Guarda en la parte alta del registro ax, el 100 en hexadecimal
Guarda en la parte alta del registro bx, el 5 en hexadecimal
Finalmente, realiza la operacion de division con lo que hay en bx, guardando el resultado en la parte alta del registro ax en hexadecimal.
Sintaxis 2
Para mayor comprensión(ya que este si es un programa mas extenso) he dejado en la sintaxis comentarios para así saber que se esta haciendo en cada una de las partes del código.
org 100h
.model small
.stack 64 ;segmento de pila
.data
msg db "Ingrese su edad'$"
msg1 db 13,10,"Eres mayor de edad.$"
msg2 db 13,10,"Eres menor de edad.$"
num1 db 0 ;Variable para la edad
diez db 10 ;variable para poder imprimir dos caracteres y multiplicar el valor por 10
.code ;Inicio del programa
inicio proc Far
MOV AX,@DATA
MOV DS,AX
;Despliega el mensaje 1
MOV AH,09
lea DX,msg
int 21h
;Ingresa el numero
MOV AH,01
int 21h
;MOV num1,AX
sub al,30h ;Convirtiendo a valor
mul diez ;se multiplica el numero ingresado para las decenas
mov num1,al ;se pasa a num la multiplicacion
;Ingresa otro numero
mov ah,01
int 21h
sub al,30h
add num1,al ;se suma a las decenas
mov al,num1
;Momento de evaluar
CMP AL,18
JGE MAYOR ;En caso de ser mayor brinca aqui
JMP MENOR ;en caso de ser menor de edad
MAYOR:
MOV AH,09
lea DX,msg1
int 21h
jmp fin
MENOR:
MOV AH,09
lea DX,msg2
int 21h
jmp fin
fin:
mov ax,4c00h
inicio endp
end
ret
Corrida del programa






No hay comentarios.:
Publicar un comentario