Interface entre langage C et programme assembleur

nouraan Messages postés 1 Date d'inscription vendredi 13 novembre 2009 Statut Membre Dernière intervention 30 décembre 2009 - 30 déc. 2009 à 19:26
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 17 avril 2010 à 00:09
salem
pouvez vous m' aidez svp d' ecrire un programme C qui demandera l' utilisateur s'il veut entrer une date par clavier ou la dire directement dans le systéme
a) Lecture a partir au clavier:appeler un prog assembleur pour cette date .la date sera sous forme jj/mm/aa
b)Lecture a partir de systeme:appeler un prog assembleur qui lira automatiquement la date systéme du jour.

7 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
30 déc. 2009 à 20:40
Donne-nous déjà le code que tu as fait, et précise les points sur lesquels tu bloques.
---
VB.NET is good ... VB6 is better
0
ZIRARA Messages postés 1 Date d'inscription vendredi 1 janvier 2010 Statut Membre Dernière intervention 1 janvier 2010
1 janv. 2010 à 11:18
Bonjour les amis,

j'ai le meme probleme et je suis debutante dans c deux programme SVP SVP les amis au secouuuurs

je vous serais trés reconnaissante

Exemple de solution:

date introduite ou lu 11/04/98

Jour correspendant dans l'année :101 éme jour

biensure afficher le resultat aprés en C

Bonne Année a Toutes et a Tous meilleurs voeux


Merci beaucoup d'avance
0
hassoumimarwa Messages postés 2 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 1 janvier 2010
1 janv. 2010 à 21:15
oui svd moi aussi j'ai le meme probleme
0
hassoumimarwa Messages postés 2 Date d'inscription mercredi 30 décembre 2009 Statut Membre Dernière intervention 1 janvier 2010
1 janv. 2010 à 21:18
j sé pa comment introduire ce programme asm en programme c
.data
annee dw ?
mois db ?
jour db ?
heure db ?
min db ?
sec db ?
msgdate db 'Date : $'
msgheure db ' Heure : $'
msgvide db ' $'

.code

EffaceEcran PROC NEAR

mov AH,06h
mov AL,0
mov BH,0Fh
mov CH,0
mov CL,0
mov DH,24
mov DL,79
int 10h
ret

EffaceEcran ENDP


PositionneCurXY PROC NEAR

mov AH,02h
mov BH,0
int 10h

ret

PositionneCurXY ENDP

SauteLigne PROC NEAR

mov AH,03h
mov BH,0
int 10h

add DH,1
mov DL,0

call PositionneCurXY

ret

SauteLigne ENDP



AfficheCaractere PROC NEAR

mov DL,AL
mov AH,2
int 21h
ret

AfficheCaractere ENDP




AfficheChaine PROC NEAR

mov AH,09h
int 21h
ret

AfficheChaine ENDP


ChiffreVASCII PROC NEAR

add CL,30h
mov Al,CL
ret
ChiffreVASCII ENDP



AfficheNat PROC NEAR


push AX
push BX
push CX
mov AX,DX
mov BL,10
div BL
mov DL,AL
mov CL,8
shr AX,CL
push AX

mov CX,1
Ttql: cmp DL,0
je Finttql
mov AL,DL


and AX,0FFh
div BL

mov DL,AL
push CX
mov CL,8
shr AX,CL
pop CX
push AX

inc CX
jmp Ttql
Finttql:

Ttq2: cmp CX,0
je Finttq2
pop AX

push CX

mov CL,AL

call ChiffreVASCII
pop CX

call AfficheCaractere

dec CX
jmp Ttq2
Finttq2:
pop CX
pop BX
pop AX
ret
AfficheNat ENDP

AfficheDate PROC NEAR

mov AH,2Ah
int 21h
mov annee,CX
mov mois,DH
mov jour,DL


mov DH,11
mov DL,10
call PositionneCurXY


lea DX,msgdate
call AfficheChaine

mov DL,jour
mov DH,0
call AfficheNat
mov AL,2Dh
call AfficheCaractere
mov DL,mois
mov DH,0
call AfficheNat
mov AL,2Dh
call AfficheCaractere
mov DX,annee
call AfficheNat


ret
AfficheDate ENDP


AfficheHeure PROC NEAR



mov AH,2Ch
int 21h
mov heure,CH
mov min,CL
mov sec,DH



lea DX,msgheure
call AfficheChaine


mov DL,heure
mov DH,0
call AfficheNat
mov AL,3Ah
call AfficheCaractere
mov DL,min
mov DH,0
call AfficheNat
mov AL,3Ah
call AfficheCaractere
mov DL,sec
mov DH,0
call AfficheNat


cmp sec,59
jne fini
call EffaceEcran
fini:



ret
AfficheHeure ENDP



debut:
mov AX,@data
mov DS,AX


call EffaceEcran
Boucle: call AfficheDate
call AfficheHeure

mov AH,11h
int 16h
jnz Touche
jmp Boucle

Touche: mov AH,10h
int 16h


cmp AL,1Bh
jne Boucle

mov AH,4Ch
int 21h
END debut
c un programme en asm qui lit la date du systéme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dodo210588 Messages postés 1 Date d'inscription vendredi 1 janvier 2010 Statut Membre Dernière intervention 2 janvier 2010
2 janv. 2010 à 23:55
:) ui moi aussi je veut 1e solution a ce probleme... au secouuuuuuuuuuuuuuuuurs ..merciii a tous..
0
rostomdz Messages postés 4 Date d'inscription jeudi 29 octobre 2009 Statut Membre Dernière intervention 19 septembre 2010
16 avril 2010 à 21:14
salam

Moi Aussi j'ai le meme probleme

M3ak ya l khadra
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
17 avril 2010 à 00:09
On ne peut pas inclure de l'assembleur 16 bits dans un programme 32. Tu fais soit tout en 32 soit tout en 16, mais faut choisir. D'un côté pratique ça n'a aucun intérêt de coder en assembleur ici vu qu'on compilateur-optimiseur C le fera beaucoup mieux que nous.
---
VB.NET is good ... VB6 is better
0
Rejoignez-nous