Emission-réception de caractères par liaison série sur pc [tasm;port 3f8h-3ffh;irq4]

Soyez le premier à donner votre avis sur cette source.

Vue 10 442 fois - Téléchargée 538 fois

Description

Ce programme doit être exécuter sur le serveur. Un terminal doit être lancé sur le client à 9600 bits/s, 8 bits de données, 1 bit d'arrêt, aucune parité. Et entre deux, un câble série relié sur COM1.
Pour compiler :
TASM COMV2.ASM
TLINK COMV2

Source / Exemple :


.386
code	segment use16
assume cs:code,ds:code
prog:
	cli
	xor	ax,ax
	mov	fs,ax
	
	in	al,21h		;démasque l'IRQ4
	and	al,0EFh
	out	21h,al
	
	mov	ax,cs		;détourne l'IRQ4
	shl	eax,16
	mov	ax,offset irq4
	mov	fs:[0Ch*4],eax
	
	mov	al,80h		;DLAB=1
	mov	dx,3FBh
	out	dx,al
	
	mov	dx,3F8h		;9600 bits/s
	mov	al,0Ch
	out	dx,al
	xor	al,al
	inc	dx
	out	dx,al
	
	mov	dx,3FBh		;8 bits de données, 1 bit d'arrêt, aucune parité, DLAB=0
	mov	al,03h
	out	dx,al
	
	mov	dx,3FCh		;active l'irq
	mov	al,8
	out	dx,al
	
	mov	dx,3F9h		;active l'interruption en réception de données
	mov	al,1
	out	dx,al

	dec	dx

	sti
loop1:
	xor	ax,ax
	int	16h
	out	dx,al		;envoie un caractère
	
	cmp	ah,01h		;quitte si la touche ESC est pressé
	jnz	loop1
	mov	ax,4C00h
	int	21h
	
irq4:				;écrit le caractère reçu
	push	ax
	push	dx
	mov	dx,3F8h		;lit un caractère du tampon de réception
	in	al,dx
	mov	ah,0Eh		;l'affiche à l'écran
	int	10h
	mov	al,20h		;EOI
	out	20h,al
	pop	dx
	pop	ax
	iret

code	ends
end	prog

Conclusion :


Mis à jour pour l'emission de caractères, je n'ai pas jugé utile d'en faire une nouvelle source vu que seulement quelques lignes sont à ajouter.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_nassimux
Messages postés
7
Date d'inscription
samedi 8 mai 2004
Statut
Membre
Dernière intervention
19 février 2008
-
Bonjour;

Je te remercie, pour toutes les informations que tu m'as donné, j'aimerai te demander si c'est possible de me donner d'avantages informations sur les lignes de code de ce programme Assembleur.
Je te remercie d'avance.
Nassimux
cs_GuruMeditation
Messages postés
69
Date d'inscription
samedi 28 octobre 2000
Statut
Membre
Dernière intervention
15 octobre 2004
-
ça fait longtemps que j'ai pas touché a ce code ci dessus, mais il me semble qu'il marche en émission et en réception. Ensuite pour emettre, je ne voit pas trop l'utilité des it. Dans ce code j'ai juste utilisé l'it de réception pour recevoir, rien pour emettre.
cs_nassimux
Messages postés
7
Date d'inscription
samedi 8 mai 2004
Statut
Membre
Dernière intervention
19 février 2008
-
Ha d'accord maintenant, je commence à y voir plus claire, mais en faisant confiance à mes connaissance, je crois que l'émission a besoin d'it récéption, mais pour la récéption c'est l'it récéption et l'it modem, donc je te demande s'il n'y a pas d'autre fonctions à ajouter?
Merci
Nassimux
cs_GuruMeditation
Messages postés
69
Date d'inscription
samedi 28 octobre 2000
Statut
Membre
Dernière intervention
15 octobre 2004
-
les 2
cs_nassimux
Messages postés
7
Date d'inscription
samedi 8 mai 2004
Statut
Membre
Dernière intervention
19 février 2008
-
Je te remercie, pour m'avoir répondu, mais j'aimerai avoir une réponse à ma deuxième question :-) en ce qui concerne le protocole s'il est déstiné à l'émission ou la récéption oubien les deux en même temps.
Merci
Nassimux

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.