Programación General > ASM (Ensamblador)

 Envio de datos por el puerto serial

(1/1)

danyelk_6u5:
Hola a todos, necesito de sus ayudas, estoy creando un programa en asm, pero no se porque no esta funcionando, a ver si alguien por aqui sabe responderme.
Se trata de emitir, un caracter por el puerto serial, soy novato en ensamblador, pero e estado buscando por internet, y creo tener el codigo de manera correcta, pero simplemente no esta funcionando, les dejo el codigo para que ustedes chequen:

--- Código: ASM ---  pila segment stack "STACK"pila ends data segmentdata ends code segment        assume cs:code,ds:data,ss:pila    inicio:        mov AH,00; INICIALIZO PUERTO        mov AL, 11100111b ;paramertos de puerto POR DEFAULT        mov DX,00 ;puerto  com1                MOV AH,01; enviar datos por el puerto        MOV AL, 52; caracter a ser enviado          INT 14h         ; La funcio 4CH de la inte 21HF devuelve el control al sistema operativo        MOV AH,4CH        INT 21H    code ends end inicio  
Estoy conectando dos computadoras mediante el cable serial (el cable funciona pues lo e checado con hyperterminal)
Una computadora la dejo escuchando mediante el hyperterminal (dejando la configuracion predeterminada)  y la otra computadora es donde ejecuto el programa, pero no aparecen resultados...
¿Que estare haciendo mal?
¿El codigo es correcto? ¿Lo inicializo bien? ¿Emito bien los datos? ¿El cierre del programa es correcto?
¿O acaso mi forma de comprobarlo es erronea (es decir usar el hyperterminal en una)?
¿Necesito configurar algun permiso de windows o algo asi?

Uso tasm para ensamblar, windows 7 para el emisor y windows xp para el receptor..
Espero puedan ayudarme, se los agradezco de antemano

posman:
No estas inicializando el puerto. Pasas todos los parametros necesarios pero no estas ejecutando la interrupcion


--- Código: ASM --- mov AH,00; INICIALIZO PUERTOmov AL, 11100111b ;paramertos de puerto POR DEFAULTmov DX,00 ;puerto  com1          ; aqui te falta llamar la interrupcion 14h       MOV AH,01; enviar datos por el puertoMOV AL, 52; caracter a ser enviado  INT 14h 

danyelk_6u5:
ORALE!! jajaj ya funciono! jajaja... una linea, por una linea me la pase enojado todo el dia, muchas gracias posman, ya funciono ;) pero otra dudita, y para cerrar el puerto? que se necesita?

posman:
Desconozco si se tenga que cerrar el puerto.
Revisa todas las funciones de la interrupcion 14h para ver si es necesario alguna para cerrar el puerto
http://www.ctyme.com/intr/int-14.htm

danyelk_6u5:
ok, gracias por las respuestas :)
un saludo!

Navegación

[0] Índice de Mensajes

Ir a la versión completa