y utlizando en este ejemplo arreglos
Codigo del programa:
; You may customize this and other start-up templates;
; The location of this template is c:\emu8086\inc\0_com_template.txt
org 100h
name "suma de dos numeros"
include "emu8086.inc"
org 100h
.data
suma db 2 dup (?);manera de declarar un arreglo de dos lugares
.code
sumas proc
print " Introduce el primer numero: " ;macro de la lib
call scan_num ;llamada a un procedimietno para pedir un numero
mov suma[0],cl
printn " " ;macro que imprime un espacio
print " Introduce el segundo numero: " ;macro que imprime una etiqueta
call scan_num
mov suma[1],cl
xor ax,ax ;xor nemonico que limpia registros
add al,suma[0] ;valor de suma pos[0]
add al,suma[1] ;valor de suma pos[1]
printn " " ;macro de la libreria pone un espacio y un retorno
print " La suma es: ";macro que imprime un letrero
call print_num ;llamada a un procedimiento para imprimir un numero del registro ax
sumas endp
exit:
print " "
printn " "
print "Presiona enter para salir..."
mov ah,0 ;servicio de pulsacion de teclado
int 16h ;invoca a servicios de taclado
ret
define_print_string ;no se uso por que no hubo
define_print_num
define_print_num_uns;conversion a decimal del scan num
define_scan_num
end
ret
COMPILACION
codigo
.model small
.stack
.data
include "emu8086.inc"
num1 db 0; variable para la edad
.code
inicio proc far
;poner el primer letrero
print " Ingrese su edad: "
;lectura del valor
call scan_num
mov num1,cl
;lectura segundo valor
xor ax,ax
mov al,num1
cmp al,18d ;Si lo que se encuentra en al>18
JGE mayor ;salta a mayor
JMP menor ;sino ve a menor
mayor:
printn " "
print "Eres mayor de edad"
jmp final
menor:
printn " "
print "Eres menor de edad"
jmp final
final:
print " "
printn " "
print "Presiona enter para salir..."
mov ah,0 ;servicios de lectura de una pulsación de teclado
int 16h ;Invoca a servicios de teclado
mov ah,4ch
int 21h
ret
define_print_string
define_print_num
define_print_num_uns
define_scan_num
endp inicio
end
#3 programa que compare aprobado o reprobado:
.MODEL SMALL
.STACK 64
.DATA
include "emu8086.inc"
nota db 0
.CODE
OPERACIONES PROC FAR ;DECLARACION DE PROCEDIMIENTO
;MUESTRO EL MENSAJE
print " "
print "Ingrese la calificacion: "
call scan_num ;Leo el numero
mov nota,cl ;lo guardo en nota
xor ax,ax ;borro el contenido de ax
mov al,nota ;muevo nota a al
CMP AL,70d ;comparo al con 70
JGE MAYOR ;si es mayor o igual pasa a mayor
JMP MENOR ;si no a menor
MAYOR:
printn " "
print "Aprobado"
JMP SALIR
MENOR:
printn " "
print "Reprobado"
JMP SALIR
SALIR:
print " "
printn " "
gotoxy 10,10 ;coloco el cursor en las coordenadas 10x,10y
print "Presiona enter para salir..." ;imprimo despues este mensaje
mov ah,0 ;servicio de lectura de pulsacion de tecla
int 16h ;invoca servicios de teclado
mov ah,4ch
int 21h
ret
OPERACIONES ENDP
define_print_string
define_print_num
define_print_num_uns
define_scan_num
END
captura:
No hay comentarios.:
Publicar un comentario