Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНЫЙ ПРАКТИКУМ 2012.docx
Скачиваний:
24
Добавлен:
16.08.2019
Размер:
1.27 Mб
Скачать

Третий вариант:

Вычисление выражения

с использованием команды организации цикла со счетчиком

адрес

код

мнемокод

комментарий

00

31 01

mvi b,1

02

19 21

stor b,F

; f:=1 (f- текущее значение факториала )

04

19 22

stor b,Y

; Y:=1 ,т.к. 0!=1

06

40

in 0

; ввод N в rA

07

b0 00

cmi a,0

; сравнить (rA) с 0 (n=0 ?)

09

ba 1d

jz exit

; перейти по символическому адресу exit при (rA)=0

0b

38

xchg

; (rA) (rB) : в rA - 1(i:=1); в rB - N

0c

21

cycl: push b

; (rB)(sp) : сохранить rB в стеке(счетчик цикла)

0d

11 21

load b,F

; в rB - (i-1)!

0f

20

push a

; (rA)(sp) (coранить i в стеке )

10

80

mur a,a

; (rB)*(rA)->(rA,rB) i!:=i*(i-1)!

11

19 21

stor b,F

; запомнить i! по символическому адресу F

13

59 22

adm b,Y

; f+Y

15

19 22

stor b,Y

; Y:=Y+F

17

28

pop a

; (sp)(rA) восстановить в rA i

18

60 01

adi a,1

; (rA)+1 -> (rA) : i:=i+1

1a

29

pop b

; (sp)(rB) :восстановить счетчик цикла

1b

e1 0c

loop b,cycl

; организация цикла со счетчиком в rB

1d

10 22

exit: load a,Y

; (rA)<- результат вычисления выражения

1f

49

out 1

; вывод результата из rA регистра в порт 1

20

f8

stop

; стоп

21

00

F: .ds 1

; ячейка под текущее значение факториала

22

00

Y: .ds 1

; ячейка под результат

Варианты заданий к лабораторной работе

а) для реализации линейного выражения с использованием различных методов адресации варианты заданий выбираются из таблицы 1.

Таблица 1

№ п/п

задание

№ п/п

задание

1

Y=a2*b+c/d

14

Y=(a+b)2+c2

2

Y=a2/b+c2/d

15

Y=(a-b)2*(c+d)

3

Y=(a+b)2-c/d

16

Y=a*b/c+d2

4

Y=a2/(b*c)+d

17

Y=a*b/c-d2

5

Y=a+b2/c+d

18

Y= (a-b)2+c*d

6

Y=a-b/c+d2

19

Y=(a-b)2-c2/d

7

Y=a/b*c+d2

20

Y=(a-b)2-(c2-b)

8

Y=a/b2+c*d

21

Y=a*b-(c2-b)

9

Y=a2+b/d-c

22

Y=(a+b)/(c2-b)

10

Y=a2-b/c+d

23

Y=a2*(b-c)+d

11

Y=a*c2/(b–d)

24

Y=a*(b2-c)-d

12

Y=a/b2*c-d

25

Y=(a+b)2+c/d

13

Y=a2*b/c+d

б) для реализации ветвящегося и циклического выражений варианты заданий выбираются из таблицы 2.

Таблица 2

№ п/п

выражение 1

(ветвление)

выражение 2

(цикл)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Y= AX/2X-1

19

Y= Ax +Bx

20

Y= A(X+B/2)

21

22

23

24

25