Ensamblador - codigo de programa

   
Vista:

codigo de programa

Publicado por JOHANNA (6 intervenciones) el 03/10/2008 14:27:07
hola necesito que me ayuden con este programa es para un deber que tengo que presentar sino que ya no tengo tiempo y veo que esta muy dificil y con tantas materias a la vez me estoy volviendo loca por favor alguien que me ayude con la codificacion del mismo solo necesito el codigo.


1. AL EJECUTAR EL PROGRAMA TIENE QUE APARECER FIGURA EN EL CENTRO DE PANTALLA, CON E, J, Ñ, S, X.

2. INGRESAR LETRA CON QUE INICIA LA FIGURA Y SI ACIERTA A LA PRIMERA:
- PRESENTA LA PALABRA COMPLETA(OSEA EL NOMBRE DE LA FIGURA)
- GENERA MELODIA
- INCREMENTA EL ACIERTO (PERO SE PRESENTA AL FINAL)

- PRESENTA EL ENCENDIDO Y APAGADO DEL PUERTO PARALELO POR MEDIO DE DISPLAY

3. SI NO ACIERTA A LA PRIMERA LE DA DOS OPCIONES PARA REPETIR, AL TERMINO DE LAS DOS OPCIONES PRESENTA PALABRA, NO HAY ACIERTOS NI MELODIA.

4. SALIR DEL PROGRAMA SOLO CON ‘ESC’ O FINALIZAR TODAS LAS LETRAS (ALEATORIAS)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:codigo de programa

Publicado por MSH (121 intervenciones) el 03/10/2008 17:50:13
¡Por favor se más clara!

¿Se puede dibujar cualquier figura? ¿Las letras E, J, Ñ, S, X son etiquetas o son teclas de funcion?

Del display controlado por puerto paralelo ¿que se necesita visualizar,letra o numero?

Si quieres ayuda, haz que tus ideas no sean dominadas por la deseperación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codigo de programa

Publicado por johanna (6 intervenciones) el 04/10/2008 02:08:03
las letras son etiquetas que al momento de ejecutar el programa y aparece la figura por ejemplo con la E puede ser una escalera y va a reconocer solo con esa letra esa figura y aparece la respuesta O PALABRA correcta ESCALERA y si pulso otra tecla o letra tiene que salir letra incorrecta VUELVA A INTENTARLO.

ah son cinco figuras con cada letra que ya dije la E J S Ñ X y en cada ejecucion salen aleatoriamente.

ESO es por un lado por otro en el display va ha salir un numero como son cinco letras con las que tengo que hacer las figuras son cinco aciertos entonces lo que va ha presentar son los aciertos que tuve.

gracias esperare respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codigo de programa

Publicado por johanna  (6 intervenciones) el 04/10/2008 02:24:31
las letras son etiquetas que al momento de ejecutar el programa y aparece la figura por ejemplo con la E puede ser una escalera y va a reconocer solo con esa letra esa figura y luego tengo que ir ingresando hasta formar la palabra ESCALERA y si lo logro descubrir tendre acierto solo me permitira intetarlo 3 veces si a la tercera no logro descubrir me aparecera otra figura y asi mismo tengo que descubrirla, y si pulso otra tecla o letra tiene que salir letra incorrecta VUELVA A INTENTARLO.

ah son cinco figuras con cada letra que ya dije la E J S Ñ X y en cada ejecucion salen aleatoriamente.

ESO es por un lado por otro en el display va ha salir un numero como son cinco letras con las que tengo que hacer las figuras son cinco aciertos entonces lo que va ha presentar son los aciertos que tuve. osea numero solo voy a utilizar un display.

gracias esperare respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codigo de programa

Publicado por MSH (121 intervenciones) el 05/10/2008 15:27:59
Saludos Tengo unas cuestiones que hacerte

Sugiere las figuras E J S Ñ X .
¿Ademas del display vas a usar un decoder (74LS48)? Si la respuesta es afirmativa, vas a usar los bits de datos de 0 al 3 (pines del 2 al 5 del puerto paralelo)
¿Cómo se llama la materia para la cual entregarás el trabajo?
¿Cuando es la fecha de entrega?

También espero respuesta a mis dudas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codigo de programa

Publicado por JOHANNA (6 intervenciones) el 07/10/2008 06:18:31
las figuras son con la E una escalera puede ser, con la J un JARRON o la letra jota , con la S una silla, con la Ñ podria ser la misma letra ya que ni idea , con la X no se si podria dibujar el logotipo de archivos x se veria bacan.

y lo display si voy usar esa numeracion del decoder,

voy a utilizar protoboard

la materia se llama redes de computadoras y nos enseñan lo que es programacion tambien, sino que yo no tengo tiempo, y la entrega es para el dia lunes 13 de octubre. por fa espero respuesta lo mas pronto posible.
sino ya me quede porque vale 50 puntos ese deber.

le agradezco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codigo de programa

Publicado por MSH (121 intervenciones) el 07/10/2008 18:18:36
OK, no te preocupes. De lo del inicio aleatorio no te aseguro mucho, pero lo del display al puerto paralelo y las figuras en pantalla si puedo hacerlo.

Si lo termino antes del sábado, te envío el código del proyecto con una condición, si no lo termino ese día , te lo envío pero no hay compromiso de nada. La condición no implica dinero o recompensas absurdas, de eso puedes estar segura.

A mi me gusta desarrollar proyectos en ensamblador. Son como resolver rompecabezas o sudokus je,je...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codigo de programa

Publicado por johanna (6 intervenciones) el 09/10/2008 06:12:20
ok muchas gracias yo espero ah la figura con la letra j puede ser la forma de una jeringa, y la x la misma letra y la ñ lo mismo tambien puede ser bueno gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codigo de programa

Publicado por MSH (121 intervenciones) el 10/10/2008 06:01:59
Es el preeliminar del código sin las imágenes. Esto es solo para que veas como se comporta el puerto paralelo cuando tienes un acierto, o cuando tecleas por error una letra

Consigue el Userport para habilitar el puerto paralelo. Ejecuta esta aplicación primero antes que tu programa. Usa Tasm y Tlink para ensamblar y enlazar

...................................................................................................................................
; MACROS
;...................................................................................................................................

clean macro
mov ax,0600h
mov bh,07h
mov cx,0000h
mov dx,314fh
int 10h
endm

poscur macro row,col
mov ah,02h
mov bh,00h
mov dh,row
mov dl,col
int 10h
endm

modo macro
mov ah,00h ;modo gráfico
mov al,12h ;640x480 color
mov bh,00h ;pagina 0
mov bl,00h ;fondo negro de la pantalla
int 10h
endm

message macro mesi,long,color
mov ah,13h
mov al,01h
mov bh,00h
mov bl,color
lea bp,mesi
mov cl,long
int 10h
endm

pixel macro x,y,color
mov ah,0ch
mov al,color
mov bh,00
mov cx,x
mov dx,y
int 10h
endm

printcha macro
mov ah,02h
int 21h
endm

terminal macro
mov ah,00 ;modo texto
mov al,03 ;modo color
int 10h
mov ax,4c00h
int 21h
endm

portdata macro score
mov dx,378h ;dirección del puerto de datos
mov al,score
out dx,al
endm
;----------------------------------------------------------------------------------------
pila segment para stack 'stack'
dw 256h
pila ends

dato segment para 'data'
CR equ 13
LF equ 10
menu db 'Teclea la letra inicial de la figura','$'
bien db 'Aciertos','$'
mal db 'Fallas','$'
escap db 'Presiona ESC para salir del juego','$'

car db 00
fail db '0'
colu db 34

;orden de figuras
E db 'Escalera'
J db 'Jeringa'
S db 'Silla'


dato ends
;------------------------------------------------------------------------------------------------------------
; INICIO PROGRAMA
;------------------------------------------------------------------------------------------------------------
codigo segment para 'code'
assume cs:codigo, ss:pila,ds:dato,es:dato
inicio:
mov ax,dato
mov ds,ax
push ds
pop es

clean
modo ;modo de video
;colocamos las etiquetas del programa
poscur 00,20
message menu,36,0ch

poscur 02,20
message bien,08,09h
poscur 02,50
message mal,06,09h
;---------------------------------------------
call fige ;llama figuras
call borrow
call figj
call borrow
call figs
call borrow
call fign
call borrow
call figx
poscur 29,00
message escap,33,07h
mov ah,08h
int 21h
terminal
;.....................................................................................................................................................
; PROCEDIMIENTOS
;.....................................................................................................................................................
fige proc near ;Ojo niña con este procedimiento, porque aplica a todos los demas!
;//aqui pones la rutina para dibujar la escalera

lea si,E ; carga la cadena "Escalera" en registro SI
scan1:
mov ah,08h ;peticion de teclado
int 21h
cmp al,'E' ;si lo que tecleaste NO es una E mayúscula
jne erro1 ;hace la rutina de error
poscur 20,colu ;si tecleaste E, va a desplegar cada letra de la palabra
mov dl,[si]
printcha ;en el renglon 20, columna 34
inc car ;incrementas contador de caracteres
cmp car,08 ; comparas con la longitud de caracteres
je salgo ;si es igual, sale de la subrutina
inc si ; si no, incrementa index si
inc colu ;incrementa posición de columna
jmp scan1 ;vuelve a esperar una tecla
salgo:
portdata 01h ; // aqui pones la rutina de mandar al puerto paralelo el punto
poscur 02,29
mov dl,'1'
printcha
jmp salgo2
erro1:
inc fail
poscur 02,57
mov dl,fail
printcha
cmp fail,'3'
jne scan1
poscur 29,00
message escap,33,07h
mov ah,08h
int 21h
terminal
salgo2:
ret
fige endp
;..........................................................................................................................................................
figj proc near
;//aqui pones la rutina para dibujar la jeringa

lea si,J ; carga la cadena "Escalera" en registro SI
scan2:
mov ah,08h ;peticion de teclado
int 21h
cmp al,'J' ;si lo que tecleaste NO es una E mayúscula
jne erro2 ;hace la rutina de error
poscur 20,colu ;si tecleaste E, va a desplegar cada letra de la palabra
mov dl,[si]
printcha ;en el renglon 20, columna 34
inc car ;incrementas contador de caracteres
cmp car,07 ; comparas con la longitud de caracteres
je salgo3 ;si es igual, sale de la subrutina
inc si ; si no, incrementa index si
inc colu ;incrementa posición de columna
jmp scan2 ;vuelve a esperar una tecla
salgo3:
portdata 02h ; // aqui pones la rutina de mandar al puerto paralelo el punto
poscur 02,29
mov dl,'2'
printcha
jmp salgo4
erro2:
inc fail
poscur 02,57
mov dl,fail
printcha
cmp fail,'3'
jne scan2
poscur 29,00
message escap,33,07h
mov ah,08h
int 21h
terminal
salgo4:
ret
figj endp
;..........................................................................................................................................................
figs proc near
lea si,S ; carga la cadena "Escalera" en registro SI
scan3:
mov ah,08h ;peticion de teclado
int 21h
cmp al,'S' ;si lo que tecleaste NO es una E mayúscula
jne erro3 ;hace la rutina de error
poscur 20,colu ;si tecleaste E, va a desplegar cada letra de la palabra
mov dl,[si]
printcha ;en el renglon 20, columna 34
inc car ;incrementas contador de caracteres
cmp car,05 ; comparas con la longitud de caracteres
je salgo5 ;si es igual, sale de la subrutina
inc si ; si no, incrementa index si
inc colu ;incrementa posición de columna
jmp scan3 ;vuelve a esperar una tecla
salgo5:
portdata 03h ; // aqui pones la rutina de mandar al puerto paralelo el punto
poscur 02,29
mov dl,'3'
printcha
jmp salgo6
erro3:
inc fail
poscur 02,57
mov dl,fail
printcha
cmp fail,'3'
jne scan3
poscur 29,00
message escap,33,07h
mov ah,08h
int 21h
terminal
salgo6:
ret
figs endp
;..........................................................................................................................................................
fign proc near
scan4:
mov ah,10h ;peticion de teclado
int 16h
cmp ah,27h ;si lo que tecleaste NO es una E mayúscula
jne noesn ;hace la rutina de error
portdata 04h
poscur 02,29
mov dl,'4' ; // aqui pones la rutina de mandar al puerto paralelo el punto
printcha
jmp vamos
noesn:
inc fail
poscur 02,57
mov dl,fail
printcha
cmp fail,'3'
jne scan4
poscur 29,00
message escap,33,07h
mov ah,08h
int 21h
terminal
vamos:
ret
fign endp
;..........................................................................................................................................................
figx proc near
scan5:
mov ah,08h ;peticion de teclado
int 21h
cmp al,'X' ;si lo que tecleaste NO es una E mayúscula
jne noesx ;hace la rutina de error
portdata 05h ; // aqui pones la rutina de mandar al puerto paralelo el punto
poscur 02,29
mov dl,'5'
printcha
jmp vamox
noesx:
inc fail
poscur 02,57
mov dl,fail
printcha
cmp fail,'3'
jne scan5
poscur 29,00
message escap,33,07h
mov ah,08h
int 21h
vamox:
ret
figx endp
;..........................................................................................................................................................
borrow proc near
mov bl,'0'
mov fail,bl
mov bl,00
mov car,bl
mov bl,34
mov colu,bl
ret
borrow endp
codigo ends
end inicio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codigo de programa

Publicado por JOHANNA (6 intervenciones) el 15/10/2008 04:56:08
te agradezco de todo corazón muchas gracias ya lo estoy terminando todavia me dieron plazo una semana más para presentarlo.

ahora tengo que hacer la conexion del decoder y el display en el protoboard para poder visualizar los aciertos.

graciaaaaaaaaaaaaaaaaaaaaaaasssssssss.......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codigo de programa

Publicado por antonio (1 intervención) el 18/03/2009 21:55:51
solo deseo el programa de userport para poder programas o tener acceso a windows e ingresar un programa en leguaje c o ctt o visual basci
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:codigo de programa

Publicado por Mishek U2015120159@continental.edu.pe (1 intervención) el 04/10/2016 07:52:18
Hila quisiera que me ayuden a desarrollar un programa en assembler que pida un tamaño y que muestre la letra x
Ejemplo:
Ingrese tamaño: 5
Este es una x de tamaño 5 caracteres ppr 5 caracteres
X. X
X x
X
X x
X. X

Cada espacio será como si ocupase una letra ose una letra de de 5x5
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar