Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodicheskie_ukazania.doc
Скачиваний:
14
Добавлен:
03.03.2016
Размер:
6.75 Mб
Скачать

Лабораторная работа №2 Вариантыпример отчетак содержанию

Цель: Получение навыков в программировании разветвляющихся алгоритмов.

Тема: Разработка программы вычисления арифметического выражения с использованием условных операторов языка ассемблер

Этапы выполнения работы:

1. Ручной просчет арифметического выражения.

Типы описания переменных определяются следующим образом: если в первой работе Вы использовали переменные размером в байт (db), то теперь описываете переменные размерностью слово (dw) и наоборот.

В данной работе на этом этапе Вы должны самостоятельно подобрать значения переменных и просчитать результат для трех условий выражения, заданного по варианту.

2. Написание программы для расчета формулы на языке ассемблер.

Значения переменных a, b задаются в сегменте данных. Результаты записываются в переменную x (в данной лабораторной работе результатом деления считается также только целая часть). Переменные А, В принять равными значениям, удовлетворяющим одному из условий формулы.

3. Компиляция программы выполняется аналогично лаб. работе №1.

4. Создание исполнимого файла выполняется аналогично лаб. работе №1.

5. Проверка работы программы с помощью отладчика td.exe

Особенностью отладки лаб. работы №2 является возможность отладки всех трех условий выражения, не выходя из отладчика, т.е. не изменяя исходный код программы. Для этого, после загрузки сегментного регистра ds адресом начала Вашего сегмента данных и обеспечением отображения в дампе памяти Вашего сегмента данных, можно поставить курсор на то значение байта, которое Вы желаете изменить, и ввести новое значение. На экране отобразится окно, показанное на рис. 7 и после подтверждения ввода значение байта в памяти изменится (например так, чтобы оно соответствовало другому условию формулы). После этого процесс отладки программы будет продолжен с новыми значениями.

Рисунок 7 – Изменение данных памяти в отладчике td.exe

6.Оформление отчета.

В отчет по второй лабораторной работе включаются:

- титульный лист;

- задание;

- контрольный просчет результатов;

- блок-схема;

- листинг программы;

- результаты выполнения программы для трех ветвей.

7. Защита работы.

Вопросы для защиты второй лабораторной работы

Во второй лабораторной работе используются команды CMP, JMP и

команды условных переходов. Эти команды и подлежат разбору. Надо

знать алгоритмы выполнения команд, используемые способы адресации

и флаги. В командах переходов используется относительная адресация.

При защите отчета для одной из команд JMP и одной команды условного

перехода надо вычислить адрес перехода.

В командах условного перехода флаги анализируются для выполнения

перехода, надо пояснить, как связано название команды с комбинацией

проверяемых флагов.

Варианты заданий:

1.

A + B, если A /B < 0

y = A  B2, если A /B = 0

10 + B, если A /B > 0

2.

(A  B)2, если A + |B| < 0

y = 5A + B2, если A + |B| = 0

30/A2B, если A + |B| > 0

3.

|A  B|, если A  B^2 < 0

y = (B–A)2, если A  B^2 = 0

10, если A  B^2 > 0

4.

B2, если B  A+2 < 1

y = 5A + B2, если B  A+2 = 1

30/A2B, если B  A+2 > 1

5.

A/B2, если A  B < 0

y = 5A + B2, если A  B = 0

30/A2B, если A  B > 0

6.

|A + B|/4, если A2- 1< 15

y = 5A + B2, если A2- 1= 15

30/A2B, если A2 - 1> 15

7.

(A + B) 2, если 2+AB < 0

y = AB , если 2+AB = 0

|A| + B3, если 2+AB > 0

8.

B  |A3|, если B  3/A < 3

y = 33, если B  3/A = 3

30/A2B, если B  3/A > 3

9.

7/A + B, если A < 3

y = B/(|A| + 1), если A = 3

2B  A , если A > 3

10.

19A , если 1 - A < 11

y = (B2)/A, если 1 - A = 11

5AB, если 1 - A > 11

11.

|AB|, если AB ^2< 0

y = (BA) 3, если AB ^2= 0

10, если AB ^2> 0

12.

B2, если BA+2 < 1

y = 5A + B2, если BA+2 = 1

30/A2B, если BA+2 > 1

13.

(5+A)/B, если B+1 < 5

y = A+B+1, если B+1 = 5

(BA)/3, если B+1 > 5

14.

|B+3| A, если B+A^2 < 7

y = A2- 12, если B+A^2 = 7

B/(A+10), если B+A^2 > 7

15.

(2+ B) A, если A+B+10 < 13

y = 15AB, если A+B+10 = 13

(A +2)/(B+9), если A+B+10 > 13

16.

36-AB, если B < 2

y = AB, если B = 2

B-11, если B > 2

17.

36-AB, если A+B3 <40

y = A/B-18, если A+B3 =40

47, если A+B3 >40

18.

(A+B)/A, если B/A-4 < 15

y = B^3/(A-11), если B/A-4 = 15

A3+B, если B/A-4 > 15

19.

A+3, если |B3| <10

y = 21, если |B3| = 10

BA2, если |B3| > 10

20.

7, если B - A < 0

y = 50 - AB, если B - A = 0

A4 - B, если B - A > 0

21.

3A+5B, если |A-B| < 1

y = A2- B2, если |A-B| = 1

7AB, если |A-B| > 1

22.

A-8B-3, если 4B-|A| <4

y = A/B-18, если 4B-|A| =4

47, если 4B-|A| >4

23.

(A+B)/10, если A|B| <10

y = 5/A+B^3, если A|B| =10

2A-B, если A|B| >10

24.

9/A+7, если B < A

y = A/B-18, если B =A

47, если A > B

25.

AB/5, если A/B^2 < 2

y = |B-A|, если A/B^2 = 2

47, если A/B^2 > 2

26.

65-A-B/5, если B/3 < 2A

y = |B| - A2, если B/3 = 2A

47, если B/3 > 2A

27.

B2+A3, если 9B-5A < 4

y = A - 12, если 9B-5A = 4

|A|-3|B|, если 9B-5A > 4

28.

3A/7+B/3, если B/A < 3

y = 25-A+3B, если B/A = 3

14-|B|, если B/A > 3

29.

18, если 3A^2 -8 < 0

y = (8B-A)2, если 3A^2 -8 = 0

|4A3/B2|-12, если 3A^2 -8 > 0

30.

|A||B|+12, если AB3 <60

y = 35-3B, если AB3 =60

A+4B-12, если AB3 >60

31.

50-13B)/2A, если |A|-3 < 5

y = A(5 - |B|), если |A|-3 = 5

A-B+1, если |A|-3 > 5

32.

40/AB+22, если A-3 < B/6

y = |12-BA|+3B, если A-3 = B/6

A/B2, если A-3 > B/6

33.

|AB|-4A, если B-A+16 <20

y = -24, если B-A+16 =20

B-A2, eсли B-A+16 >20

34.

|AB|-10, если A-B < 0

y = (A-B)12, если A-B = 0

(14-A)/B, если A-B > 0

35.

A/|B-4A|, если B - 3 < A/2

y = 17 - B/A, если B - 3 = A/2

A3, если B - 3 > A/2

36.

(15+A)/(2+B), если B+A-7<AB

y = 14, если B+A-7=AB

(BA-3)/|A| , если B+A-7>AB

37.

7B, если B/4 <-11

y = (6A-3)(B+14), если B/4 =-11

B2-15, если B/4 >-11

38.

(A-12+B)2, если A < -2

y = |A3|-B2-25, если A = -2

20, если A > -2

39.

B+3/A-19, если A < 0

y = 5B2, если A = 0

(A-4)/B+3, если A > 0

40.

A-5B+3, если B +|A| < -4

y = (B+A)/(3+|A|), если B +|A| = -4

12-A, если B +|A| > -4

41.

4B -2A, если B < 4

y = AB-3, если B = 4

17, если B > 4

42.

|A-2B|, если 3B < 4

y = A/B-18, если 3B = 4

47, если 3B > 4

43.

B3 -A, если A-B < 10

y = (A-10) B, если A-B = 10

A/(3A-B), если A-B > 10

44.

B+7-A/2, если A2 < B

y = (A-B)2-30, если A2 = B

18/AB, если A2 > B

45.

B5+18, если B/4 < 2

y = B-|A+2|, если B/4 = 2

(AB+16)/2, если B/4 > 2

46.

29-B, если B < 0

y = A2+8, если B = 0

|A+B6|-8AB, если B > 0

47.

(A-5B)/A, если B2-A < 4

y = 40-AB если B2-A = 4

|3A|-b2, если B2-A > 4

48.

11/B+A/12, если A+8B+A<53

y = 48-AB+A, eсли A+8B+A=53

14, если A+8B+A>53

49.

(A/B-5) 2, если AB-4 < 0

y = |B -10|A, если AB-4 = 0

B2+3A, если AB-4 > 0

50.

A4-8/B, если A/B-13 < 6

y = |A2- B/2+4|, если A/B-13 = 6

A-B-12, если A/B-13 > 6

51.

|2B+A|/12, если |A| -|B| < 5

y = A3-25, если |A| -|B| = 5

BA/3, если |A| -|B| > 5

52.

B3+12-A2, если A < B

y = B-|A+2|, если A = B

(AB+16)/2, если A > B

53.

B2-8A, если A+16 < 20

y = |B+A|3A, если A+16 = 20

(AB+16)/2, если A+16 > 20

54.

15/(A-3B), если A+B < 5

y = B-12, если A+B = 5

(AB+16)/2, если A+B > 5

55.

50-A-B, если A+2 < B4

y = 6A-B2. если A+2 = B4

48, если A+2 > B4

56.

|B-5|+4A, если A-12 < AB

y = 18-AB, если A-12 = AB

(A+14)(B-10), если A-12 > AB

57.

A-12/B, если B-A < 1

y = |A+4B2|-128, если B-A = 1

(B5A+13, если B-A > 1

58.

(A+B)6, если A/5 < 1

y = |B3+25|-A4, если A/5 = 1

56, если A/5 > 1

59.

A+B+40, если B2 < 9

y = |B -A| + 28, если B2 = 9

A3 -12B, если B2 > 9

60.

B/A+3A/B, если |BA| < 4

y = |A||B|, если |BA| = 4

13/B, если |BA| > 4

61. AB - 4, если A-14 < B

y = (14-B) A, если A-14 = B

16, если A-14 > B

62.

| A - B|, если A – B^2 < 0

y = (B – A)^3, если A – B^2 = 0

10 + B, если A – B^2 > 0

63.

B^2, если B – A < 1

y = 5A +B^2, если B – A = 1

30/A^2-B, если B – A > 1

64.

(5+A)/B, если B + 5 < A

y = A + B + 1, если B + 5 = A

B*A/3, если B + 5 > A

65.

| B+3|*A, если B+A^2 < 7

y = A^2 -12, если B+A^2 = 7

B/(A+10), если B+A^2 < 7

66.

(2+B)+A, если A+B+10 < 1

y = 15*A*B , если A+B+10 = 1

(A+2)/(B+9), если A+B+10 > 1

67.

6 –A-B, если B < 2

y = A^2 + 6, если B = 2

B-11, если B > 2

68.

36-A-B, если A –B*3 < 4

y = A/B-18, если A –B*3 = 4

47, если A –B*3 > 4

69.

(A+B)/A, если B/A– 4 < 15

y = B^3/(A-11), если B/A– 4 = 15

A+B, если B/A– 4 > 15

70.

A+3, если |B*3| < 10

y = 121, если |B*3| = 10

|B*A|, если |B*3| > 10

71.

-76, если B-A < 0

y = -50-A*B, если B-A = 0

A*4-B, если B-A > 0

72.

A-3*B+4, если |B*A| < 18

y = A-B/2, если |B*A| = 18

B*| A^3|, если |B*A| > 18

73.

|B|*A+5, если |B+A| < 3

y = B/|A|, если |B+A| = 3

B/(A+10)|, если |B+A| > 3

74.

50+B, если A*4+B < 3

y = A*|B|, если A*4+B = 3

B + A/4, если A*4+B > 3

75.

6*A+B, если A/10 < 3

y = |B|-A*B, если A/10 = 3

1+A-B, если A/10 > 3

76.

A+B, если B*5 < 20

y = |A*B|, если B*5 = 20

B^2, если B*5 > 20

77.

17-B*A, если (B-A)/5 < 15

y = |A+3|^2, если (B-A)/5 = 15

B-7/A, если (B-A)/5 > 15

78.

A*B-A, если A-1 < 7

y = A*|B*2|, если A-1 = 7

B*2, если A-1 > 7

79.

7-B, если (B-A)+15 < 0

y = 5-A/B, если (B-A) +15= 0

A*8+B, если (B-A)+15 > 0

80.

A-3*B+2, если |B*A-1| < 99

y = A-B/3+1, если |B*A-1| = 99

B-|A^2|, если |B*A-1| > 99

81.

A/(B+5), если |B-A| < 30

y = B/|A+3|, если |B-A| = 30

A/(A-10), если |B-A| > 30

82.

-10, если A*4+B/3 < 2

y = A*|B|, если A*4+B/3 = 2

B + A/4, если A*4+B/3 > 2

83.

6*A-B/2, если A/6+6 < 3

y = |B|-A*B, если A/6+6 = 3

-31/A, если A/6+6 > 3

84.

A+B+4, если A/B < 2

y = A-B, если A/B = 2

A*B-5, если A/B > 2

85.

(A-B)^2, если A+|B| < 5

y = 5*A+A^2, если A+|B| = 5

30/A^2-4*B, если A+|B| > 5

86.

|A-B*2|, если A-B^2 < 0

y = (B/2)^3 если A-B^2 = 0

-16, если A-B^2 > 0

87.

B^2-A, если B–A+5 < 1

y = A+B^2, если B–A+5 = 1

300/A^2-|B|, если B–A+5 > 1

88.

A/B, если A*2-B < 0

y = A/B*3+A, если A*2-B = 0

B-A, если A*2-B > 0

89.

|A+B|/4, если A/2-1 < 15

y = B^2+4, если A/2-1 = 15

B/(A+3), если A/2-1 > 15

90.

(A+B)/3, если A/B+2 < 4

y = A-B, если A/B+2 = 4

|A|+B, если A/B+2 > 4

91.

B-|A^3|, если B-3/A < 3

y = -103/A, если B-3/A = 3

B/(A+3), если B-3/A > 3

92.

7/A+B, если A+3*B < 2

y = B/(|A| +5, если A+3*B = 2

B-A, если A+3*B > 2

93.

19-A, если 1-A < 11+B

y = (B^2)/(A-B), если 1-A = 11+B

5-B*A, если 1-A > 11+B

94.

|A+B|, если A+B^2 < 4

y = (B-A)*5, если A+B^2 = 4

10*A если A+B^2 > 4

95.

B^2+A, если B-A+2 < 10

y = 50+B^2 , если B-A+2 = 10

10*|A|^2-B если B-A+2 > 10

96.

(510-A)/B, если B+3 < 50

y = A+B+1, если B+3 = 50

(B*A)/3, если B+3 > 50

97.

|B*3|*A, если B+A < 7

y = A-12, если B+A = 7

B/(A+10), если B+A > 7

98.

(2+B)+A, если A+B+10 < 12

y = 15*A*B, если A+B+10 = 12

(|A+2)/(B+9), если A+B+10 > 12

99.

36-A-B, если B < A+5

y = A+B+9, если B = A+5

B-11/A, если B > A+5

100.

36-A-B, если A+B*3 < 40

y = A/B-1, если A+B*3 = 40

4-B/A, если A+B*3 > 40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]