ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programa En Ensamblador

WAILANISZ19 de Febrero de 2012

4.447 Palabras (18 Páginas)759 Visitas

Página 1 de 18

;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. $'

valor1 db 0,'$'

valor2 db 0,'$'

valor3 db 0,'$'

mensajeo db 'Programa que efectua 4 operaciones sin acarreo',10,13,'$'

lineao db '----------------------------------------------',10,13,'$'

mensaje1o db 'Introduce el primer valor: ',10,13,'$'

mensaje2o db 'Introduce el segundo valor: ',10,13,'$'

mensaje3o db 'El resultado de la suma fue: ',10,13,'$'

mensaje4o db 'el resultado de la resta es: ',10,13,'$'

mensaje5o db 'el resultado dela multiplicacion es:',10,13,'$'

mensaje6o db 'el resultado de la division es:',10,13,'$'

num1o db 0,'$'

num2o db 0,'$'

num12o db 0,'$'

num13o db 0,'$'

num14o db 0,'$'

num22o db 0,'$'

num23o db 0,'$'

num24o db 0,'$'

reso db 0,'$'

res1o db 0,'$'

res2o db 0,'$'

res3o db 0,'$'

.code

limpia proc near

mov ah,0fh

int 10h

mov ah,00h

int 10h

ret

limpia endp

borranterior proc near;;;; borramos el asterisco de la pos anterior

posicion posxa,posya

imprime blanco

ret

borranterior endp

avanza proc near;;;; ahora si movemos el asterisco

posicion posxa,posya

imprime ast

ret

avanza endp

tecla proc near ;;;;;;;;;*********READKEY leer tecla

mov ah,08h

int 21h

ret

tecla endp

salir proc near

mov ah,4ch ;Cedemos el control al sistema para que finalize el programa

int 21h

ret

salir endp

Programa:

mov ax, @data

mov ds, ax

iniciar:

cuadro 57h,00h,00h,17h,4fh

cuadro 57,01h,num4,01h,num10

menu

flechas:

call tecla

mov num1,al

cmp num1,48

je cursores

cmp num1,27

je salida

cursores:

cmp num1,13

je opcion

cmp num1,77

je derecha

cmp num1,75

je izquierda

cmp num1,80

;je abajo

cmp num1,27

je salida

cmp num1,59

je programas

cmp num1,60

je servicios

cmp num1,61

je tareas

cmp num1,62

...

Descargar como (para miembros actualizados) txt (20 Kb)
Leer 17 páginas más »
Disponible sólo en Clubensayos.com