1)While(c предусловием):
1 00 40 in 0 ; Ввод А
2 01 18 3a stor a,A ;Запоминание значение регистра А по символическому адресу А
4 03 0a mov b,a ; Копировали значение регистра В в А
5 04 41 in 1 ; Ввод В
6 05 18 3b stor a,B ; Запоминание значение регистра А по символическому адресу В
8 07 51 adr a,b ; Сложили регистры
9 08 18 3e stor a,Y ; Запомнили результат сложения по символическому адресу Y
10 0a 42 in 2 ; Ввод N
11 0b 18 3c stor a,N ; Запоминание значение регистра А по символическому адресу N
12 0d b0 01 cmi a,1 ; Сравниваем значение переменной N с 1
13 0f ba 36 jz exit ; Переход на метку exit если N=1
14 11 71 3a sbm b,A ; Обнуляем значение регистра В
15 13 61 01 adi b,1 ; Присвоение значению регистра В единице
16 15 09 mov a,b ; Копирование значения регистра В в регистр А
17 16 11 3c cikl: load b,N; Загрузка значения адреса памяти N в регистр В
18 18 aa cmr b,a ; Сравнение значений регистров
19 19 ba 36 jz exit ; Переход на метку exit если N равен значению регистра А
20 1b 18 3d stor a,I ; Загрузка в память значения регистра А по символическому адресу I
22 1d 11 3a load b,A ; Загрузка значения ячейки памяти А в регистр В
23 1f 90 01 mui a,1 ;Умножение регистра А на I
24 21 19 3a stor b,A ; Загрузка значения регистра В в ячейку памяти с адресом А
25 23 11 3b load b,B ; Загрузка значения ячейки памяти В в регистр В
26 25 a0 01 dvi a,1 ;Деление регистра А на I
27 27 19 3b stor b,B ; Загрузка значения регистра В в ячейку памяти с адресом В
28 29 10 3a load a,A ; Загрузка в регистр А значение ячейки памяти А
29 2b 51 adr a,b ; Сложение регистров
30 2c 58 3e adm a,Y ; Сложение результата предыдущего действия с значением памяти с символическим ;адресом Y
32 2e 18 3e stor a,Y ; Загрузка результата в ячейку памяти с символическим адресом Y
33 30 10 3d load a,I ; Загрузка в регистр А значения ячейки памяти I
34 32 60 01 adi a,1 ; Увеличение значения регистра А на единицу
35 34 b8 16 jmp cikl ; Безусловный переход на метку cikl
36 36 10 3e exit: load a,Y; Загрузка значения ячейки памяти Y в регистр A
37 38 4b out 3 ; Вывод результата в канал 3
38 39 F8 stop ; Стоп
39 3a 00 A: .ds 1 ; ячейка памяти для A
40 3b 00 B: .ds 1 ; ячейка памяти для B
41 3c 00 N: .ds 1 ; ячейка памяти для N
42 3d 00 I: .ds 1 ; ячейка памяти для I
43 3e 00 Y: .ds 1 ; ячейка памяти для Y
2) Repeat … until(c постусловием)
1 00 40 In 0 ; Ввод a
2 01 18 3a stor a,A ; Запоминание значение регистра А по символическому адресу А
4 03 0a mov b,a ; Копировали значение регистра В в А
5 04 41 in 1 ; Ввод В
6 05 18 3b stor a,B ; Запоминание значение регистра А по символическому адресу В
8 07 51 adr a,b ; Сложили регистры
9 08 18 3e stor a,Y ; Запомнили результат сложения по символическому адресу Y
10 0a 42 in 2 ; Ввод N
11 0b 18 3c stor a,N ; Запоминание значение регистра А по символическому адресу N
12 0d b0 01 cmi a,1 ; Сравниваем значение переменной N с 1
13 0f ba 36 jz exit ; Переход на метку exit если N=1
14 11 71 3a sbm b,A ; Обнуляем значение регистра В
15 13 61 01 adi b,1 ; Присвоение значению регистра В единице
16 15 09 mov a,b ; Копирование значения регистра В в регистр А
17 16 18 3d cikl: stor a,I; Загрузка в память значения регистра А по символическому адресу I
18 18 11 3a load b,A ; Загрузка значения ячейки памяти А в регистр В
19 1a 90 01 mui a,1 ;Умножение А на I
20 1c 19 3a stor b,A ; Загрузка значения регистра В в ячейку памяти с адресом А
21 1e 11 3b load b,B ; Загрузка значения ячейки памяти В в регистр В
22 20 a0 01 dvi a,1 ;Деление A на I
23 22 19 3b stor b,B ; Загрузка значения регистра В в ячейку памяти с адресом В
24 24 10 3a load a,A ; Загрузка в регистр А значение ячейки памяти А
25 26 51 adr a,b ; Сложение регистров
26 27 58 3e adm a,Y ; Сложение результата предыдущего действия с значением памяти с символическим ;адресом Y
28 29 18 3e stor a,Y ; Загрузка результата в ячейку памяти с символическим адресом Y
29 2b 10 3d load a,I ; Загрузка в регистр А значения ячейки памяти I
30 2d 60 01 adi a,1 ; Увеличение значения регистра А на единицу
31 2f 11 3c load b,N ; Загрузка значения адреса памяти N в регистр В
32 31 aa cmr b,a ; Сравнение значений регистров
33 32 ba 36 jz exit ; Переход на метку exit если N равен значению регистра А
34 34 b8 16 jmp cikl ; Безусловный переход на метку cikl
35 36 10 3e exit: load a,Y; Загрузка значения ячейки памяти Y в регистр A
36 38 4b out 3 ; Вывод результата в канал 3