Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №3.docx
Скачиваний:
5
Добавлен:
16.09.2019
Размер:
118.24 Кб
Скачать

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