Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Варианты пример отчета к содержанию

Цель: Ознакомление с особенностями выполнения микропроцессором основных арифметических команд и операторами программирования на языке Ассемблер данных команд. Получение навыков работы в среде отладчика Turbo Debugger.

Тема: Составление программы на языке Ассемблер для вычисления арифметических выражений.

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

1. Разработка граф схемы алгоритма последовательности этапов вычисления заданного выражения.

2. Ручной просчет ожидаемых результатов выполнения отдельных этапов алгоритма и всего арифметического выражения в целом. Определение размерности входных и выходных переменных.

Если входные переменные и промежуточные результаты не выходят за границы байта (-128÷127), то объявляем их типом db, иначе – dw.

3. Написание программы для расчета двух формул арифметических выражений на языке ассемблер.

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

4. Компиляция программы (трансляция программы в объектный код).

Выполняется компилятором tasm.exe, параметром к которому задается исходный файл с программой. Проще всего выполнять эти действия в командной строке (используя команду cmd или в программе Far.exe). Допустим, вы сохранили исходный код программы в файле lab1.asm. Тогда в командной строке нужно прописать:

> tasm lab1.asm /l/zi

Ключ /zi включает в объектный файл полную информацию для отладки программы (для более удобного представления программы в отладчике)

Ключ /l генерирует листинг программы (файл с расширением.lst). В нашем случае это будет файл lab1.lst.

Если в процессе трансляции были обнаружены ошибки, то информация о них выводится на экран, а также (что наиболее удобно) ее можно просмотреть в файле-листинге. Для исправления ошибок необходимо открыть исходный файл программы, исправить ошибки и повторить компиляцию.

В случае успешной трансляции образуется объектный файл lab1.obj, который является основой для получения загрузочного файла (исполнимый вид программы).

5. Создание исполнимого файла.

Выполняется редактором связей tlink.exe, параметром к которому задается ранее полученный объектный файл. Аналогично предыдущему пункту в командной строке нужно прописать:

> tlink lab1.obj /v

Ключ /v включает в исполнимый файл полную символьную информацию (необходим для более наглядного вида программы в отладчике)

В результате выполнения этой команды создается файл с расширением.exe. В нашем случае это будет файл lab1.exe.

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

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

Состав отчета по лабораторной работе №1:

1.Титульный лист.

2. Задание к лабораторной работе.

3. Контрольный просчет результатов.

4. Блок-схема программы

5. Листинг программы (файл lab1.lst).

6. Результаты выполнения программы - дамп памяти до и после получения результатов с комментариями поясняющие значения всех элементов дампа.

7. Выводы.

8. Защита лабораторной работы.

Список вопросов к защите лабораторной работы № 1.

1. Алгоритм выполнения программы

2. Структура листинга трансляции с объяснением отдельных составляющих.

3. Структура программы. Назначение сегментов программы. Размер каждого сегмента.

3.1 Директивы описания сегментов программы.

3.2 Директива assume.

3.3 Директива end.

4. Физические и логические адреса переменных программы.

4.1 Рассчитать размер исполняемого файла в параграфах.

4.2 Вычисление физического адреса любых переменных или команд программы (адреса сегментов выбираются из окон отладчика).

Примеры определения физического адреса:

1) определить физический адрес переменной с (для листинга из примера):

Из листинга видим, что смещение переменной с относительно начала сегмента данных 0002. Адрес сегмента данных смотрим в отладчике td: ds=52FD. Тогда физический адрес переменной определяется как 52FD0+0002=52FD2.

2) определить физический адрес команды 0014 8A mov bl,al.

0014 – это смещение команды относительно начала сегмента кода. Адрес сегмента кода смотрим в отладчике td: сs=52FЕ. Тогда физический адрес переменной определяется как 52FЕ0+0014=52FF4.

5. Алгоритмы выполнения команд: операнды команды, формат операндов: байт или слово; расположение операндов в памяти или в регистрах процессора; операнд-константа; запись результата выполнения команды; формирование признаков результата в регистре флагов; возникновение исключительных ситуаций при выполнении команды деления.

5.1 Арифметические команды ADD, SUB, MUL, IMUL, DIV, IDIV, INC, DEC, CBW, CWD;

5.2 Команды пересылки данных MOV.

6.Структура команды. В коде команды надо уметь выделять и объяснять следующие поля (производится разбор внутреннего представления команды - примеры команд 1-5):

- байт кода операции;

- пост байт;

- поле определения первого операнда (включая различные способы адресации);

- поле определения второго операнда (включая различные способы адресации).

Рассматриваются только следующие виды адресации: прямая, регистровая и непосредственная.


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

1) a=11 b=2 c=21

2) a=3 b=2 c= -3

x=24 y=-21

3) a=7 b=4 c=-5

x=-9 y=2

4) a=4 b=7 c=5

x=3 y=-2

5) a=5 b=3 c=-3

x=24 y=27

6) a=2 b=7 c=-3

x=-10 y=-6

7) a=6 b=-2 c=3

x=-7 y=3

8) a=-13 b=8 c=-128

x=67 y=-2

9) a=-11 b=0 c=-9

x=5 y=10

10) a=-1 b=-2 c=32

x=-132 y=-53

11) a=3 b=7 c=2

x=2 y=-3

12) a=6 b=61 c=31

x=-11 y=-932

13) a=6 b=-4 c=3

x=10 y=-1

14) a=-12 b=9 c=0

x=42 y=10

15) a=124 b=67 c=2

x=-5125 y=-153

16) a=6 b=-4 c=6

x=-38 y=-2

17) a=-6 b=7 c=-13

x=-3 y=-9

17) a=21 b=2 c=35

x=-13 y=-1

18) a=6 b=4 c=11

x=-4 y=13

19) a=7 b=-9 c=-10

x=-5 y=7

20) a=6 b=7 c=3

x=-2 y=1473

21) a=-51 b=26 c=36

x=66 y=14

22) a=-3 b=2 c=5

x=54 y=-1

23) a=4 b=3 c=13

x=4 y=34

24) a=22 b=-2 c=3

x=-2 y=-3

25) a=4 b=2 c=3

x=50 y=7

26) a=3 b=2 c=-3

x=1 y=-112

27) a=-1 b=-2 c=32

x=-132 y=-56

28) a=7 b=-23 c=6

x=6 y=0

29) a=4 b=3 c=-4

x=95 y=0

30) a=2 b=3 c= -1

x=-5 y=-26

31) a=-6 b=5 c=4

x=-2 y=3

32) a=2 b=17 c=15

x=-10 y=-9

33) a=15 b=3 c=-7

x=38 y=1

34) a=2 b=7 c=-3

x=2 y=12

35) a=8 b=-2 c=1

x=-6 y=-6

36) a=-3 b=18 c=-12

x=-5 y=-1

37) a=-5 b=-1 c=0

x=-2 y=1

38) a=-10 b=-5 c=31

x=-84 y=-27

39) a=4 b=6 c=3

x=16 y=-1

40) a=-2 b=8 c=3

x=-2 y=-3

41) a=-7 b=3 c=10

x=2 y=-1

42)a=7 b=-3 c=2

x=23 y=-3

43) a=-2 b=6 c=0

x=3 y=3

44) a=14 b=7 c=23

x=11 y=9

45) a=7 b=-14 c=16

x=-1 y=-1

46) a=-16 b=71 c=-1

x=-10 y=-4

47) a=2 b=-12 c=-21

x=2 y=-4

48) a=16 b=3 c=10

x=1 y=1

49) a=17 b=-5 c=-1

x=3.5 y=1

50) a=6 b=3 c=-2

x=-1 y=-95

51) a=-5 b=6 c=3

x=-1 y=16

52) a=-2 b=1 c=2

x=4 y=-12

53) a=3 b=4 c=-5

x=44 y=3

54) a=2 b=-2 c=3

x=-11 y=78

55) a=4 b=3 c=2

x=16 y=1

56) a=1 b=-2 c=-3

x=1 y=11

57) a=-1 b=-2 c=3

x=-6 y=26

58) a=2 b=-3 c=6

x=-6 y=2

59) a=4 b=3 c=-1

x=-2 y=-1

60) a=8 b=4 c= -2

x=- 38 y=-10

61) a=-2 b=5 c=4

x=-15 y=166

62) a=3 b=1 c=5

x=-40 y=9147

63) a=15 b=3 c=-5

x=-1 y=1

64) a=2 b=7 c=-3

x=5 y=10

65) a=5 b=-2 c=1

x=0 y=-30

66) a=-3 b=1 c=-1

x=-2 y=-3

67) a=-5 b=-1 c=5

x=-16 y=1

68) a=-6 b=5 c=3

x=-3 y=16

69) a=2 b=1 c=5

x=4 y=-3

70) a=1 b=3 c=-7

x=148 y=-118

-

71) a=-2 b=8 c=3

x=-28 y=4

72) a=-2 b=8 c=3

x=-2 y=-3

73) a=-1 b=-13 c=5

x=-4 y=-1

74) a=17 b=-13 c=2

x=-3 y=-1

75) a=-20 b=2 c=1

x=3 y=-2

76) a=1 b=7 c=-3

x=6 y=-3

77) a=7 b=-1 c=6

x=-2 y=-2

78) a=-6 b=7 c=-1

x=-2 y=6

79) a=2 b=-2 c=-21

x=1 y=-10

80) a=16 b=3 c=10

x=3 y=-10

81) a=1 b=-5 c=-1

x=-25 y=38

82)a=5 b=2 c=-1

x=-1 y=11

83) a=-8 b=3 c=1

x=2 y=4

84) a=-21 b=11 c=2

x=6 y=-4

85) a=6 b=7 c=-8

x=3574 y=-7

86) a=1 b=-2 c=3

x=2 y=2

87) a=4 b=3 c=0

x=48 y=-103

88) a=10 b=-12 c=-13

x=-5 y=10

89) a=-4 b=-7 c=11

x=-10 y=-4

90) a=5 b=-6 c=7

x=-10 y=-4

91) a=1 b=4 c=-2

x=5 y=-1

92) a=18 b=4 c= -12

x=22 y=141

93) a=-1 b=3 c=2

x=-4 y=3

94) a=2 b=1 c=4

x=2 y=6

95) a=5 b=3 c=-1

x=1 y=9

96) a=12 b=5 c=-4

x=1 y=1

97) a=5 b=-2 c=-7

x=-1 y=-10

98) a=-2 b=1 c=-10

x=-24 y=-3

99) a=-6 b=-2 c=3

x=-11 y=1

100) a=-2 b=3 c=5

x=1 y=1





Дата публикования: 2015-04-10; Прочитано: 290 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.036 с)...