Как сложить два массива чисел, используя набор инструкций IAS? - PullRequest
0 голосов
/ 31 июля 2011

Мне нужно написать программу, использующую набор команд IAS, которая будет проходить через два массива, добавлять каждый элемент одного к другому и сохранять результат в массиве thrid. Так, например, я должен взять A (1) + B (1) и сохранить его в C (1), а затем взять A (2) + B (2) и сохранить в C (2) и так далее, пока я не доберусь до A (20) + B (20) хранится в C (20). Но я не знаю, как создать счетчик контролируемого цикла в IAS ... в любом случае ... вот что я сделал ... но это не работает:)

00000001 LOAD M(A[1]) Transfer M(A[1]) to the accumulator
00000101 ADD M(B[1]) Add M(B[1]) to AC and store result in AC
00100001 STOR M(C[1]) Transfer contents of accumulator to memory location C[1]

спасибо за любую помощь:)

1 Ответ

1 голос
/ 07 апреля 2012

Для любого в будущем.На самом деле существует множество решений этого вопроса, и именно с ним я столкнулся (может потребоваться доработка):

* Initialize a variable 'count' to 999
Label: TOP
00000001    LOAD M(A[count])            Transfer M(A[count]) to the accumulator
00000101    ADD M(B[count])             Add M(B[count]) to AC and store result in AC
00100001    STOR M(C[count])            Transfer contents of accumulator to memory location C[count]
00001010    LOAD M(address of count)    Transfer the contents of M(address of count) to the AC
00000110    SUB M(the number 1)         Subtract one from AC and store in AC
00100001    STOR M(D)                   Transfer contents of AC to location M(D)
00001111    JUMP+ M(X,0:19)             If number in accumulator is non-negative take next
                                        instruction from left half of M(X)
LH: go to TOP
RH: exit
...