- •Методичесике указания к выполнению лабораторных работ по дисциплине
- •График проведения
- •Лабораторная работа № 1
- •Общие сведения
- •Задание
- •Содержание отчета
- •Что нужно знать для защиты отчета
- •Рекомендуемая литература
- •Лабораторная работа № 2
- •Общие сведения
- •Задание
- •Содержание отчета
- •Задание
- •Содержание отчета
- •Задание
- •Содержание отчета
- •Что нужно знать для защиты отчета
- •Рекомендуемая литература
- •Лабораторная работа № 5
- •Общие сведения
- •Задание
- •Варианты заданий
- •Содержание отчета
- •Задание
- •Варианты заданий
- •Содержание отчета
- •Что нужно знать для защиты отчета
- •Рекомендуемая литература
- •Лабораторная работа № 7
- •Общие сведения
- •Варианты заданий
- •Содержание отчета
- •Что нужно знать для защиты отчета
- •Рекомендуемая литература
Содержание отчета
Отчет по лабораторной работе должен содержать:
титульный лист;
тему и цель работы;
листинг программы;
дамп памяти после выполнения программы;
выводы по работе.
Что нужно знать для защиты отчета
Для защиты отчета необходимо уметь детально объяснить работу Вашей программы, а также уметь внести соответствующие изменения в программу при внесении некоторых изменений в постановку задачи преподавателем.
Рекомендуемая литература
Юров В. Assembler / В. Юров. – СПб.: Питер, 2001.- 624с.:ил.
Чекатков А.А. Использование TA при разработке программ / АА. Чекатков. – К.: Диалектика, 1995.
ПРИЛОЖЕНИЯ
Приложение А
Структура окна турбоотладчика
Приложение Б
Титульный лист отчета по лабораторной работе
Приложение В
Дамп памяти
ds:0000 36 4B 14 4E 02 02 03 C0 03 00 00 00 00 00 00 00
ds:0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:0020 B8 AC 5B 8E D8 A1 03 00 2B 06 05 00 A3 0B 00
ds:0030 1E 00 00 32 FF F7 EB A3 0D 00 89 16 0F 00 8A
ds:0040 01 00 02 1E 02 00 88 1E 09 00 A1 07 00 F6 F3 A2
ds:0050 09 00 8B 0E 0D 00 32 E4 03 C8 89 0E 11 00 89 16
ds:0060 13 00 B4 4C CD 21 00 00 00 00 00 00 00 00 00 00
ds:0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:00A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:00B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:00C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:00D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:00E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:00F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:0130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ds:0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Приложение Г
Таблица соответствия смыслового наполнения полей пост-байта кодов ассемблерных команд их двоичному значению
r/m |
mod = 00 |
mod = 01 (displ – 1 байт) |
mod = 10 (displ – 2 байта) |
mod = 11 | |
w = 0 |
w = 1 | ||||
000 |
[BX][SI] |
[BX][SI] + displ |
[BX][SI] + displ |
AL |
AX |
001 |
[BX][DI] |
[BX][DI] + displ |
[BX][DI] + displ |
CL |
CX |
010 |
[BP][SI] |
[BP][SI] + displ |
[BP][SI] + displ |
DL |
DX |
011 |
[BP][DI] |
[BP][DI] + displ |
[BP][DI] + displ |
BL |
BX |
100 |
[SI] |
[SI]+ displ |
[SI]+ displ |
AH |
SP |
101 |
[DI] |
[DI]+ displ |
[DI]+ displ |
CH |
BP |
110 |
mem |
[BP]+ displ |
[BP]+ displ |
DH |
SI |
111 |
[BX] |
[BX]+ displ |
[BX]+ displ |
BH |
DI |
Пример расшифровки машинного кода команды
Команда имеет код 8B 0F. Запишем этот код в двоичном формате
1000 1011 0000 1111.
Первый байт – собственно код команды 1000 1011
В коде команды последний бит w = 1 говорит о том, что операнды команды длиною в слово, а первый бит d = 1, говорит о том, что направление передачи данных идет из mod + r/m в reg
Второй байт – пост-байт 0000 1111
mod + r/m = 00 + 111,
что соответствует [BX] в таблице (см. Приложение Д);
reg = 001, что соответствует регистру CX при значении w =1
В результате получаем команду – mov CX, [BX]
Содержание
График проведения лабораторных занятий
и перечень лабораторных работ 3
Лабораторная работа №1 Этапы компьютерной
реализации программы на Assembler-е 4
Лабораторная работа №2 Изучение структур заголовка
.exe файла и префикса программного сегмента (PSP) 18
Лабораторная работа №3 Изучение директив декларации простых данных и способов адресации 25
Лабораторная работа №4 Изучение команд пересылки
Данных 30
Лабораторная работа №5 Работа с командами двоичной
Арифметики 34
Лабораторная работа №6 Работа с цепочечными
Командам 42
Лабораторная работа №7 Обработка одномерных и
двухмерных массивов в ассемблер-программах 53
Приложения 64
Приложение А 65
Приложение Б 66
Приложение В 67
Приложение Г 68