Programme assembleur
Résolu
back me up
Messages postés
11
Statut
Membre
-
aminovytch -
aminovytch -
hi!
je n'arrive pas à comprendre l'exercice suivant:
nous avons 4 nombres entiers en méroire U,V,Y et T.si la somme de 2 de ces4 nombres est egale à la somme des 2 autres on effectera cette somme à chacune des4 variables sinon on leur affectera 0.on vous demande d'ecrire le programme assembleur qui realise ce travail.
merci infinement
je n'arrive pas à comprendre l'exercice suivant:
nous avons 4 nombres entiers en méroire U,V,Y et T.si la somme de 2 de ces4 nombres est egale à la somme des 2 autres on effectera cette somme à chacune des4 variables sinon on leur affectera 0.on vous demande d'ecrire le programme assembleur qui realise ce travail.
merci infinement
A voir également:
- Programme assembleur
- Programme demarrage windows - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
8 réponses
Salut,
Bon je pense que ça doit marcher.
Bon je pense que ça doit marcher.
;Pour back me up ;data U: ds 8 V: ds 8 Y: ds 8 T: ds 8 ;code start: nop init: lxi h,U mvi m,15h lxi h,V mvi m,18h lxi h,Y mvi m,3h lxi h,T mvi m,6h load: lda U mov b,a ;U->B lda V mov c,a ;V->C lda Y mov d,a ;Y->D lda T mov e,a ;T->E total: add b add c add d ;Total->A division: ora a ;0->Carry rar ;Total/2->Total jc pasegaux ;Impair test: mov h,a ;Total/2->H mov a,c add b cmp h jz egaux ;Si U+V=Total/2 mov a,d add b cmp h jz egaux ;Si U+Y=Total/2 mov a,e add b cmp h jz egaux ;Si U+T=Total/2 pasegaux: mvi a,0h sta U sta V sta Y sta T jmp halt egaux: mov a,b add h mov b,a ;U+=Total/2 mov a,c add h mov c,a ;V+=Total/2 mov a,d add h mov d,a ;Y+=Total/2 mov a,e add h ;T+total/2->A sta T mov a,b sta U mov a,c sta V mov d,a sta Y halt: hlt
vous pouvez m'aider j'ai un exercice je sais comment je vais le resoudre
ex:donner l'algorithme et le programme assembleur qui permet de faire la somme de deux nombres naturels 16 bits.utiliser une procédure <somme> qui: -lit les deux opérandes sur la pile sans les dépiler ni modifier le sommet de la pile.
-calcule la somme de ces deux opérandes.
-stocke le résultat dans le registre AX
merci d'avance
ex:donner l'algorithme et le programme assembleur qui permet de faire la somme de deux nombres naturels 16 bits.utiliser une procédure <somme> qui: -lit les deux opérandes sur la pile sans les dépiler ni modifier le sommet de la pile.
-calcule la somme de ces deux opérandes.
-stocke le résultat dans le registre AX
merci d'avance
A l'aide
j'ai besoin d'un prog en assembleur qui fait la somme de deux nbres entres au clavier
il doit pouvoir tester si ces entrees sont des chiffres ou des lettres
Ce que j'ai pu faire se resume a cela
debug a100
mov AX, 4
mov Bx,5
AddAX,BX
movDX,AX
(enter)
(enter)
nope
(enter)
Pour le compiler on fait
t enter(4fois)
cela ne resout pas la question du test...
j'ai besoin d'un prog en assembleur qui fait la somme de deux nbres entres au clavier
il doit pouvoir tester si ces entrees sont des chiffres ou des lettres
Ce que j'ai pu faire se resume a cela
debug a100
mov AX, 4
mov Bx,5
AddAX,BX
movDX,AX
(enter)
(enter)
nope
(enter)
Pour le compiler on fait
t enter(4fois)
cela ne resout pas la question du test...
slt svp y' a pas une solution pour ce petit prob: un prog assembleur qui permet la lecture d' une chaine d caractérepuis l'inversion de ctte chaine en éffectuant l'opération ""miroir"" cad le dernier caractére devient le premier, et l'avant dernier le secondet ainsi de suite, puis l'affichage du résultat sur l'écran....et merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
comment utiliser les registre
toujours mon probleme est j'ai bien resolu une telle probleme mais je ne sais comment organiser les instructions
ce sont mes seuls problemes en programmation assembleur
et merci d'avance
toujours mon probleme est j'ai bien resolu une telle probleme mais je ne sais comment organiser les instructions
ce sont mes seuls problemes en programmation assembleur
et merci d'avance
mais je suis désolée,j'ai rien compris
je suis seulement une etudiante de 1 ere année ,je trouve votre solution tres difficile,est-ce que vous pouvez utiliser un peu de facilité,i'll be very thankfull
merci beaucoup:-D
Je ne sais pas trop comment t'expliquer c'est de l'assembleur aussi... Je peux te détailler mon algo si tu veux.
On additionne les 4 nombres et on stocke cela dans total.
On divise total par 2. (Si total impair, pas la peine de continuer)
Sinon on prend un des quatre nombres et on teste si en additionnant un des 3 autres on arrive à ce total/2.
Si oui, alors la somme des deux autres nombres fait aussi total/2.
Après, en complément de cette description, il y a les commentaires dans le code. Si malgrès ça tu n'arrives pas à comprendre, je te conseille de réviser les opérateurs (cf doc) et faire des exos plus faciles.
Je suis moi-même débutant en première année d'école d'ingé, et je t'avoue que ce n'est pas évident !
Salut
mais regardez notre prof comment il l'as expliqué:
nous avons u,v,y et t
si u+v=y+t
par exemple:
U=2,v=3,y=1et t=4
donc 5=5
on met la valeur 5 ds chacune de ces variables sinon on met 0
LDA U
ADD V
STA Z
LDA Y
ADD Z
STA W
SI Z=W (je sais si on peut ecrire comme ça en assembleur?)
et je sais pas apres comme je dois faire
ADD V
ADD Z
n'existe pas
SI Z=W (je sais si on peut ecrire comme ça en assembleur?)
Il faut d'abord stocker les valeurs dans les registres dont une dans l'accu.
Et faire
CMP B (si registre B)
JZ label (saut conditionel)
Mais bon, vu les erreurs, regarde le cours d'abord !