Votre question

assembleur: liaison série: transfert de fichiers

Tags :
  • Transfert de fichiers
  • Programmation
Dernière réponse : dans Programmation
28 Janvier 2005 09:13:59

salut!

c la réalisation d'un transfert d' un caractere ou de l'alphabet par liaison rs 232 en assembleur
parametre des machines :
-choix du port com 1 ou com2
-vitesse 1200 bauds
-8bits,1stop bit,parité impaire avc 0 logique come bit de parité, pas de break

voila ci dessous la source ke j'ai. pourriez vous éclairez ma lanterne car j'ai po tro compris ce kil se passe ( a par pour le menu lol):
<<<<<<<

dosseg
.model small
.stack 256
.data
menu db 0Dh,0Ah'1->configuration de la ligne et choix du port (com1 ou com2)',0Dh,0Ah
db '2->emission',0Dh,0Ah
db '3->reception',0Dh,0Ah
db '4->fin',0Dh,0Ah,'$'
com1 dw 3F8h
com2 dw 2F8h
configcom1 dw 3FBh
configcom2 dw 2FBh
poidsfortvitesse1 dw 3F9h
poidsfortvitesse2 dw 2F9h
choix db 13,10,'choix du port',0Dh,0Ah
db '1->com1',0Dh,0Ah
db '2->com2',0Dh,0Ah,'$'
envoi db 0Dh,0Ah'1->envoi d'un caractere au choix',0Dh,0Ah
db '2->envoi de l'alphabet',0Dh,0Ah,'$'
alphabet db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ$'
.code
mov ax,@data
mov ds,ax
mov es,ax

start:
lea dx,menu
mov ah,09h
int 21h
mov ah,01h
int 21h
cmp al,'1'
jne suivant1
call configuration
jmp start
suivant1:
cmp al,'2'
jne suivant2
call emission
jmp start
suivant2:
cmp al,'3'
jne suivant3
call reception
jmp start
suivant3:
cmp al,'4'
je suivant4
jmp start
suivant4:
mov ah,4ch
int 21h

configuration proc near

lea dx,choix
mov ah,09h
int 21h
mov ah,01
int 21h
cmp al,'1'
jne portcom2
mov cx,3F8h
call configuration1
jmp fin


portcom2:
call configuration2
mov cx,2F8h

fin:
ret
endp

configuration1 proc near
mov dx,configcom1
mov al,80h
out dx,al
mov dx,com1
mov al,60h
out dx,al
mov dx,poidsfortvitesse1
mov al,0
out dx,al
mov dx,configcom1
mov al,0Bh
out dx,al
ret
configuration1 endp

configuration2 proc near
mov dx,configcom2
mov al,80h
out dx,al
mov dx,com2
mov al,60h
out dx,al
mov dx,poidsfortvitesse2
mov al,0
out dx,al
mov dx,configcom2
mov al,0Bh
out dx,al
ret
configuration2 endp

emission proc near
d‚but_‚mis:
lea dx,envoi
mov ah,09h
int 21h
mov ah,01h
int 21h
cmp al, '1'
je caract
jmp alpha
caract:
mov ah,01h
int 21h
mov [bx],al
jmp reemet

alpha:
lea bx,alphabet
jmp reemet

reemet:
mov dx,cx
add dx,5
in al,dx
and al,20h
cmp al,0
je reemet
mov al,[bx]
mov dx,cx
out dx,al
cmp al,'$'
je emisstop
inc bx
jmp reemet
emisstop:
ret
emission endp

reception proc near
recoit:
mov dx,cx
add dx,5
in al,dx
and al,01h
cmp al,0
je recoit
mov dx,cx
in al,dx
mov dl,al
mov ah,02h
int 21h
cmp al,'$'
jne recoit
ret
reception endp
end

>>>>>>


merci pour votre aide

PS: eventuellement si vous avez des optimisations a me proposer
hésitez pas merci

Autres pages sur : assembleur liaison serie transfert fichiers

28 Janvier 2005 21:26:44

est ce kelkun connait une isntruction equivalente a " lea" ?

quelqu'un pourrait m'expliquer ceci:

mov dx,cx
add dx,5
in al,dx
and al,20h
cmp al,0
je reemet
mov al,[bx]
mov dx,cx
out dx,al
cmp al,'$'
je emisstop
inc bx

si on admet ke ds cx on 3F8h
je crois comprendre que l'on y applique un masque
mais apres je vois po

si quelqu'un pourrait m'aider

merci
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS