Én próbálok írni egy programot, amely bemenetek pozitív szám kevesebb, mint 10, és kiadja az összege az első szám. Például 5 lenne 5 + 4 + 3 + 2 + 1. A parancsok Stop, Load, Store, hozzáadása, Sum, Szorzás, Osztás, Input, Output, Branch, Branch, ha 0, és az ágak, ha nem 0. Tud valaki segíteni nekem. Én egyfajta ragadt. jól, amit írtam is:
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
Nos, ahogy látom, hogy működik az Ön betölteni néhány szám n, és adjunk hozzá egy összege 0, majd tárolja ezt az összeget az n + összeget. Akkor betölteni n újra és kivonni 1 és tárolja, hogy az új összeget. De szükség van rá, hogy ismételje meg ezt, amíg eléri a 0-n Szóval hogyan tudom ezt megtenni?
Ok így, mit kell tennie, hogy használja az ág, ha 0 és ág, ha nem 0. Azt hiszem van ez? így:
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 = Kijelölt Állandó, de azt meg kell ismételni a kivonó egy és hozzáadjuk az összeget, amíg eléri a 0-n Branch, ha nem nulla van BRGT és ág, ha a nulla BZ és ág BR, LD terhelést. Tudom, mit kell megismételni, de nem tudom, hogy csinálja ezt assembly nyelven.













