Je suis en train d'écrire un programme qui introduit un nombre positif inférieur à 10 et sort la somme des nombres premiers. Par exemple 5 serait 5 + 4 + 3 + 2 + 1. Les commandes sont Stop, Charger, Magasin, Ajouter, Somme, Multiplier, Diviser, entrée, sortie, Branche, Direction si 0, et la branche sinon 0. Quelqu'un peut-il me aider. Je suis un peu coincé. bien ce que j'ai écrit est:
IN n
LD n
ADD sum
STO sum
LD n
SUB one
ADD sum
STO sum
BRGT haw
LD n
BR done
haw: OUT sum
done: STOP
DC n 4
DC sum 0
DC one 1
Eh bien la façon dont je le vois travailler est de charger un nombre n et d'ajouter une somme de 0 et de stocker cette somme en tant que n + somme. Ensuite, vous chargez à nouveau et n soustrayez 1 et stocker que la nouvelle somme. Mais je besoin de répéter jusqu'à ce que n atteint 0. Alors, comment dois-je faire cela?
Ok, donc ce que je dois faire est d'utiliser la branche si 0 et la branche sinon 0. Je pense que je l'ai? alors:
IN n
LD n
ADD sum
STO sum
BR CAW
CAW: LD n
SUB ONE
STO n
BRGT HAW
BZ TAW
HAW: ADD SUM
STO SUM
BR CAW
TAW: OUT SUM
DC SUM 0
DC ONE 1
DC = Désignée constante, mais ce que je dois répéter est la soustraction par un et en ajoutant la somme jusqu'à ce que n atteint 0. Branch sinon zéro est BRGT et si la branche est zéro BZ et la branche est BR, LD est la charge. Je sais ce que je dois répéter, mais je ne sais pas comment vous faites cela en langage assembleur.













