Envio de datos por el puerto serial

Iniciado por danielo-, 16 Octubre 2010, 19:26 PM

0 Miembros y 1 Visitante están viendo este tema.

danielo-

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:


Código (asm) [Seleccionar]

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

Eternal Idol

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
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

danielo-

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
-
Código (asm) [Seleccionar]


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 ;)

Eternal Idol

Ahora si envias pero no inicializas el puerto.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón