сразу складывать нельзя, так как
приведем примеры линейного, разветвляющегося и циклического фрагмента программы.
Пример I.
Программа вычисления по формулам R1:=R2+R3; R4:=R3-R2.
Программа 131
MOV R2, Rl ; сразу складывать нельзя, так как сумма заменяет
;второй операнд
ADD R3, Rl
MOV R3, R4
SUB R2, R4
HLT
Пример 2. В Rl и R2 хранятся некоторые числа. Поместить большее из них в R5, а меньшее-в RO.
Программа 132
СМР Rl, R2 ;сравнить Rl и R2
BPL L1 ;переход при R1?R2, если R2>R1
MOV Rl, R0
MOV R2, R5
BR L2
;если R1>R2
LI: MOV Rl, R5
MOV R2, R0
L2: HLT
Примечание. В тексте программы указаны переходы на метки, но в результате трансляции они будут автоматически преобразованы в переходы через заданное число слов.
Пример 3. Пусть в Rl задан начальный адрес массива ОЗУ, а в R2 - число ячеек в нем. Вычислить сумму элементов массива.
Программа 133
CLR R0 ;очистка суммы
LI: ADD (Rl) + , R0 ;добавить к сумме очередной элемент
DEC R2 ;уменьшить на единицу число оставшихся элементов
BNE L1 ;цикл, пока не останется 0 элементов
HLT
Примечание. В программе используется тот факт, что команда DEC автоматически сравнивает результат с нулем, что делает ненужной специальную команду сравнения СМР.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий