Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1923 connectés 

  FORUM HardWare.fr
  Programmation
  ASM

  Langage assembleur exercice

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Langage assembleur exercice

n°2342849
ctzfour
Posté le 09-12-2019 à 11:19:55  profilanswer
 

SLT les amis j'ai un devoir a rendre en L1 info pour demain je bloque a un exercice ....
 
Voici l'exercice en question.  
 
Soit la configuration suivante d’une mémoire centrale et d’une pile ainsi que des registres du processeur. Les nombres sont codés selon la convention du complément à 2 sur 32 bits.
 
La mémoire centrale contient deux entiers A et B et la pile deux entiers C et 3.
 
 
adresse contenu  
100 Entier A  
104 Entier B  
108 100
112 104  
116 ???
 
Configuration de la mémoire centrale
adresse Contenu
200 Entier c
204 3
208 ----
212 ---
 
 
Configuration des registres
 
registre contenu  
RB 20
RSP 208  
PSW(ZCOS) 0000
 
Ecrivez un programme assembleur qui réalise le calcul suivant : A + C * B. Si le résultat est positif, celui-ci est écrit à l’adresse 116 en mémoire centrale, sinon il est placé au sommet de la pile, au-dessus de l’entier 3. Vous ne disposez pas d’opérateur de multiplication et vous devez utiliser au moins une fois l’adressage indirect et une fois l’adressage basé.
 
 
de mon cote j'ai charge  
Load D RO 100
LOAD I R1 104
LOAD D R2 200
 
mais comment faire C*B sans utiliser l'opérateur de multiplication


Message édité par Harkonnen le 12-12-2019 à 21:48:05
mood
Publicité
Posté le 09-12-2019 à 11:19:55  profilanswer
 

n°2342850
rufo
Pas me confondre avec Lycos!
Posté le 09-12-2019 à 12:09:38  profilanswer
 

Vu que ce sont des nombres entiers, il suffit d'utiliser une boucle.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2342852
ctzfour
Posté le 09-12-2019 à 12:13:26  profilanswer
 

Merci l'ami de ta réponse :) en revanche je vois pas du tout comment utiliser la boucle dans ce cas la ...

n°2342853
Anonymouse
Posté le 09-12-2019 à 12:21:49  profilanswer
 

ctzfour a écrit :

Merci l'ami de ta réponse :) en revanche je vois pas du tout comment utiliser la boucle dans ce cas la ...


 
Une multiplication est une somme d'additions.

n°2342854
ctzfour
Posté le 09-12-2019 à 12:37:20  profilanswer
 

Du coup ca sera  
Boucle : ADD Rg2 R1 R2
/* afin de multiplier C*B      */
 
??


Message édité par ctzfour le 09-12-2019 à 12:47:03
n°2342855
rufo
Pas me confondre avec Lycos!
Posté le 09-12-2019 à 13:06:27  profilanswer
 

Ex : 3*5 = 5+5+5 = 15
Donc tu fais une boucle qui varie de 1 à C dans laquelle tu fais B + le résultat de la somme du précédent tour de boucle. Tu peux utiliser un registre pour stocker ce résultat.
En PHP :
$Somme = 0;
for($i = 1; $i <= $C; $i++)
{  
    $Somme += $B;
}


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2342856
rat de com​bat
attention rongeur méchant!
Posté le 09-12-2019 à 13:42:53  profilanswer
 

Merci d'éditer ton titre. Ècrire un mot tout en majuscules est considéré comme crier et donc malpoli.

n°2342857
ctzfour
Posté le 09-12-2019 à 14:16:20  profilanswer
 

rat de combat a écrit :

Merci d'éditer ton titre. Ècrire un mot tout en majuscules est considéré comme crier et donc malpoli.


 
a ce point rongeur.....

n°2342867
rufo
Pas me confondre avec Lycos!
Posté le 09-12-2019 à 17:56:49  profilanswer
 

Non, il a raison, c'est une convention le "tout en majuscules = crier". Ca vient d'avant qu'il y ait les smileys pour indiquer ses émotions sur les forums/chats/IRC/messageries instantanées... ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2342876
TotalRecal​l
Posté le 09-12-2019 à 21:36:53  profilanswer
 

ctzfour a écrit :


 
a ce point rongeur.....


T'arrange pas trop ton cas là [:mlc]
Quand tu demandes de l'aide, respecter tes interlocuteurs et te plier aux règles en usage dans la communauté vers laquelle tu te tournes peut grandement encourager les gens à chercher à te répondre...


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
mood
Publicité
Posté le 09-12-2019 à 21:36:53  profilanswer
 

n°2343053
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-12-2019 à 21:47:38  profilanswer
 

ctzfour a écrit :


 
a ce point rongeur.....


 
Règles du forum : https://forum.hardware.fr/hfr/Progr [...] 4544_1.htm

Citation :


[05] Évitez les titres "agressifs".
 
    Évitez les titres entièrement en majuscule et/ou contenant un nombre excessif de caractères du type "---==== AIDE SVP ====---".
    Évitez également titres du genre "svp aide sur Access" ou "vite j'ai un prob php c'est urgent", cela n'apporte rien car la majorité des topics concernent une demande d'aide et sont très souvent urgents.  


Merci de les respecter.


---------------
J'ai un string dans l'array (Paris Hilton)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASM

  Langage assembleur exercice

 

Sujets relatifs
Exercice de tableau basique en C URGENT ![Python] Exercice nombre premiers et fonction seuil
Bloqué exercice cours PythonConseil langage de programmation
Choix de langage de programmation adaptéQuel langage pour un lecteur audio complet?
[assembleur] desassembler et modifer un outil[Divers] A quel langage mon besoin correspond ?
Langage Excel[divers] conseil langage programmation
Plus de sujets relatifs à : Langage assembleur exercice


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR