Hola a todos, necesito que me ayuden con el envio de datos por el puerto serial, solo quiero enviar una palabra a través de este puero, pero hasta aorita no e consegguido hacerlo (soy novato en asm)
en fin, utilizo tasm para programar y hasta ahorita esto llevo:
pila segment stack "STACK"
pila ends
data segment
data ends
code segment
assume cs:code,ds:data,ss:pila
inicio:
mov ah,0 ;servicio 00 de INT 14h: inicializar puerto
;mov al,83 ;configuración: 1200 baudios, no paridad, ;un bit de parada, 8 bits de datos
mov dx,00 ;Seleccionar puerto COM1
mov al,32
int 14 ;interrupción del BIOS
mov ah,4ch ;servicio 4ch de INT 21h: terminar
int 21 ;interrupción servicio del DOS hald
MOV AX, 4C00h ;halt dos dice que es la terminacion del programa
INT 21h ;;int rebisa lo que esta en 21h.
code ends
end inicio
mm...lo descargue de internet, pero no e logrado hacer funcionar, lo estoy checando con el hyperterminal de otra computadora, y los datos no se estan transmitiendo, espero puedan ayudarme con esto..
Gracias de antemano
Primero mira el codigo, estas configurando el puerto (servicio 0 de la interrupcion 14h) y despues saliendo a MS-DOS, en ningun lugar escribis ...
El servicio 1 de la interrupcion 14h puede que te interese:
http://www.ctyme.com/intr/rb-0816.htm
MMM...si, ya se que eso es lo que necesito, pero es que no lo e logrado hacer funcionar, y no entiendo porque,
ahora que e leido un poco mas, le entiendo un poco mas, y ahi va de nuevo mi codigo, a ver si me pueden ayudar
-
code segment
assume cs:code,ds:data,ss:pila
inicio:
; esto es para iniciar el puerto
mov AH,00h ; aki inicio el puerto
mov AL, 0E7h ;paramertos de puerto, esto es correcto???
mov DX,00h ;= # de puerto osea el com1
;y esto para mandar un caracter
MOV AH,01; funcion 01h-enviando un caracter al COM
MOV AL, 52; caracter a ser enviado
INT 14
code ends
end inicio
si alguien sabe de esto, agradeceria que me ayudara ;)
Ahora si envias pero no inicializas el puerto.