Programa En Ensamblador
Enviado por WAILANISZ • 19 de Febrero de 2012 • 4.447 Palabras (18 Páginas) • 728 Visitas
;Programa: Final.asm
;Descripcion: Programa que muestra un menu horizontal de opciones y ademas de presentar un menu vertical
; para cada opcion del menu horizontal
;Fecha: Diciembre - 14 - 2011
;Autor: Nayeli Judith Flores Gutierréz
.model small
.stack
.data
bgcolor macro fondo
mov ax,0600h
mov bh,fondo ;color de fondo color de fuente
mov cx,0000h ;rectangulo inicial columna inicial
mov dx, 985fh ;renglon
int 10h
endm
imprime macro valor
mov ah, 09h
lea dx, valor
int 21h
endm
posxy macro x,y
mov ah,02h
mov bh, 0
mov dh, x ;renglon
mov dl, y ;columna
int 10h
endm
posicion macro x,y
mov ah,02h
mov bh,0
mov dh,x
mov dl,y
int 10h
endm
cuadro macro a,b,c,d,e
mov ah,06h
mov al,00h
mov bh,a ;atributo
mov ch,b ;renglon
mov cl,c ;columna
mov dh,d ;renglon final
mov dl,e ;columna final
int 10h
endm
menu macro
posxy 01h,01h
imprime menu1
posxy 01h,0fh
imprime menu2
posxy 01h,1dh
imprime menu3
posxy 01h,2ah
imprime menu4
posxy 01h,36h
imprime menu5
endm
submenu1 macro
posxy 02,02h
imprime sub11
posxy 03,02h
imprime sub21
posxy 04h,02h
imprime sub31
endm
submenu2 macro
posxy 02,10h
imprime sub12
posxy 03,10h
imprime sub22
posxy 04h,10h
imprime sub32
endm
submenu3 macro
posxy 02,1eh
imprime sub13
posxy 03,1eh
imprime sub23
posxy 04h,1eh
imprime sub33
endm
submenu4 macro
posxy 02,02h
imprime sub14
posxy 03,02h
imprime sub24
endm
bmenu01 db 'Esta es la bandera: ',10,13,'$'
bmenu6 db 'Presiona una tecla para continuar',10,13,'$'
bsim1 db ' ',10,13,'$'
bsim2 db ' ÜÛ ÛÜ ',10,13,'$'
bsim3 db ' ÜÛ ÛÜ ',10,13,'$'
bsim4 db ' ',10,13,'$'
bsim5 db ' ßÛ Ûß ',10,13,'$'
bsim6 db ' ßÛ Ûß ',10,13,'$'
bsim7 db ' ßßßß ',10,13,'$'
servicio db 'INT 21H',10,13,'$'
ser11 db 'Funcion 01h: Permite dar entrada a un caracter e teclado',10,13,'$'
ser12 db 'y al mismo tiempo dicho caracter aparece en pantalla en la,',10,13,'$'
ser13 db 'posicion en la que se encuentre el cursor. El caracter',10,13,'$'
ser14 db 'tecleado queda almacenado en AL. Si no ningun caracter',10,13,'$'
ser15 db 'disponible, se espera hasta que haya alguno.',10,13,'$'
ser16 db ' MOV ah, 01h',10,13,'$'
ser17 db ' INT 21h ; El caracter tecleado queda en AL',10,13,'$'
ser21 db 'Funcion 02h: Permite llevar un caracter desde el procesador',10,13,'$'
ser22 db 'hacia la pantalla. Dicho caracter debe estar almacenado en el',10,13,'$'
ser23 db 'registro DL.Aparecera en la posicion donde se encuentre el',10,13,'$'
ser24 db 'cursor.',10,13,'$'
ser25 db ' MOV dl, caracter',10,13,'$'
ser26 db ' MOV ah, 02h',10,13,'$'
ser27 db ' INT 21h',10,13,'$'
mms1 db 'Hola!',10,13,'$'
mms2 db 'Autor: Nayeli Judith Flores Gutierréz',10,13,'$'
mms3 db 'Ing. en Computación',10,13,'$'
mms4 db 'Código: 209394931',10,13,'$'
menu1 db 'F1 Programas',10,13,'$'
menu2 db 'F2 Servicios',10,13,'$'
menu3 db 'F3 Tareas',10,13,'$'
menu4 db 'F4 Autor',10,13,'$'
menu5 db 'F5 Salir',10,13,'$'
sub11 db 'F6 Asterisco',10,13,'$'
sub21 db 'F7 Bandera',10,13,'$'
sub31 db 'Regresar',10,13,'$'
sub12 db 'F6 Funcion 01h',10,13,'$'
sub22 db 'F7 Funcion 02h',10,13,'$'
sub32 db 'Regresar',10,13,'$'
sub13 db 'F6 Mayor Menor =',10,13,'$'
sub23 db 'F7 OperacionBasica',10,13,'$'
sub33 db 'Regresar',10,13,'$'
sub14 db 'F6 Datos',10,13,'$'
sub24 db 'Regresar',10,13,'$'
num1 db 0h
num2 db 0h
num3 db 1h
num4 db 1h
num5 db 0
num10 db 0dh
snum1 db 1h
snum2 db 2h
posxa db 0
posya db 0
ast db '*','$'
blanco db ' ','$'
msj1 db 'Teclea el primer valor A: $'
msj2 db 'teclea el segundo valor B: $'
msj3 db 'Teclea el tercer valor C: $'
msj4 db 'Presiona una tecla para finalizar... $'
texto db 'Programa que compara tres valores y resuelve su correlacion. $'
nota db 'NOTA: $'
mayor db 'El mayor es: $'
medio db 'El medio es: $'
menor db 'El menos es: $'
igual db 'los tres valores son iguales. $'
diferente db 'los tres valores son diferentes. $'
...