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
Ir a la versión completa