Rechercher : dans
Par :

Programme assembleur

Dernière réponse le 15 fév 2008 à 18:12:50 back me up , le 28 mar 2007 à 22:36:46 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « programme assembleur » dans :
Compiler un programme assembleur avec Nasm Voir Avec Linux Etape 1. Créer un fichier source Etape 2. Assembler le fichier source Etape 3. Création de l'executable Etape 4. Execution du programme Avec windows Etape 1. Installer les logiciels nécessaires Etape 2. Créer un fichier...
Liens utiles assembleur x86 VoirVoici quelques liens utiles pour l'assembleur x86. Le but étant de compiler des documents pertinents autant pour ceux qui débutent que pour ceux qui sont à l'aise dans ce domaine. Tutoriels Références complètes Assembleur sous...
Désactiver l'exécution de certains programmes au démarrage VoirDésactiver l'exécution de certains programmes au démarrage - Windows 98/Me/2000/XP/Vista Avec msconfig Avec WinPatrol Avec Startuplite Avec CCleaner Remarques Lorsque vous installez des logiciels, certains s'exécutent à chaque...
Supprimer complètement un programme VoirMalgré la désinstallation d'un programme, il se peut que des clés de registre ou des fichiers soient encore présents sur le PC. Si la méthode "classique" (clic droit/supprimer) ne fonctionne pas, il suffit d'utiliser l'éditeur du registre. Mise en...
Ecrire un programme en assembleur VoirLa compilation du programme Le programme doit être saisi dans un fichier texte non formaté (c'est-à-dire sans caractères en gras, souligné, avec des polices de caractères de différentes tailles, ...) appelé fichier source. En effet,...
Introduction à l'assembleur VoirLes prérequis nécessaires Le langage assembleur est très proche du langage machine (c'est-à-dire le langage qu'utilise l'ordinateur : des informations en binaire, soit des 0 et des 1). Il dépend donc fortement du type de processeur. Ainsi il...
Les procédures en assembleur VoirLa notion de procédure En langage assembleur, on appelle procédure un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la procédure. Cette notion de sous-programme est généralement appelée fonction dans d'autres...

1

ekra, le 29 mar 2007 à 00:51:05

Salut,

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
Ceci est une signature.

Répondre à ekra

2

back me up , le 29 mar 2007 à 17:24:35

Merci beaucoup!
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

Répondre à back me up

3

ekra, le 29 mar 2007 à 17:30:38

Bonjour,

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 Ceci est une signature.

Répondre à ekra

4

back me up , le 29 mar 2007 à 18:18:19

Hi!
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

Répondre à back me up

5

ekra, le 29 mar 2007 à 18:39:23

Oui c'est bien ca que j'ai compris. Mon programme implémente ça normalement. Regarde les étiquettes pour décomposer l'algo.

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 ! Ceci est une signature.

Répondre à ekra

6

jane, le 27 aoû 2007 à 06:47:47

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...

Configuration: Windows XP
Internet Explorer 6.0

Répondre à jane

7

moh1959, le 5 sep 2007 à 17:15:47

QUELLE EST LA DIFFERENCE ENTRE UN ASSEMBLEUR,COMPILATEUR,interpretateur?MERCI

Répondre à moh1959

8

ekra, le 6 sep 2007 à 09:28:53

Bonjour

On évite les majuscules et puis on ne met pas "répondre" lorsque l'on ne propose pas une réponse au problème initial.
Merci Ceci est une signature.

Répondre à ekra

9

saifoune1000, le 26 oct 2007 à 19:05:08

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

Répondre à saifoune1000

10

markous2007, le 10 déc 2007 à 19:34:52

CE SITE CONTIENT DES EXERCICES D'assembleur CA DEVRA VOUS AIDER :

http://www.faclic.com/tutoriaux/158-formation-assembleur.php­
il y a aussi cette exercice qui ressemble a votre exercice :
http://www.faclic.com/tutoriaux/177-exercice-2-sur-les-branc­hements-boucles.php
a+

Répondre à markous2007

11

dorra, le 23 déc 2007 à 14:47:33

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

Répondre à dorra

12

achmio, le 7 jan 2008 à 00:44:14

Je voudré aoir laplication ou bien le programme assembleur A86 pr commencé mes exercices
merci

Répondre à achmio

13

bella, le 9 fév 2008 à 21:49:39

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

Répondre à bella

14

 aminovytch, le 15 fév 2008 à 18:12:50

Assembleur

Répondre à aminovytch