- •Содержание
- •Введение
- •Варианты заданий:
- •Лабораторная работа №2 Вариантыпример отчетак содержанию
- •Варианты заданий:
- •Лабораторная работа №3 Вариантыпример отчетак содержанию
- •Варианты заданий к лабораторной работе №3
- •Лабораторная работа №4 Вариантыпример отчетак содержанию
- •Варианты заданий лабораторной работы №4
- •41. В прямоугольной матрице обменять первый столбец с последним.
- •Оценка результатов практикик содержанию
- •Рекомендованная литература
- •Отладка программы в среде отладчикаTd к содержанию
- •Разбор внутреннего представления командк содержанию
- •Примеры разбора команд
- •1. Команды с регистровой адресацией
- •2.Команды с прямой адресацией
- •3. Арифметические команды с непосредственной адресацией
- •4. Команда mov с непосредственной адресацией
- •5. Команды с использованием аккумулятора
- •6. Команды условного перехода (с относительной адресацией)
- •7. Команды безусловного перехода (с относительной адресацией)
- •8. Команда вызова подпрограммы (с относительной адресацией)
- •9. Команда завершения цикла (с относительной адресацией)
- •10. Команды с косвенной адресацией
- •Міністерство освіти і науки
- •Пример отчета по лабораторной работе №1к лаб. Раб.№1
- •Пример отчета по лабораторной работе №2к лаб. Раб.№2
- •Пример отчета по лабораторной работе №3к лаб. Раб.№3
- •Пример отчета по лабораторной работе №4к лаб. Раб. №4
7. Команды безусловного перехода (с относительной адресацией)
0027 EB 1A 90 jmp m_end
002А …..
0043 m_end: …..
Если смотреть по листингу, команда занимает 3 байта, однако в отладчике td эта часть кода будет выглядеть следующим образом:
0027 EB 1A jmp m_end
0029 90 nop
В том случае, когда метка находится после команды безусловного перехода, компилятор на первом проходе формирует внутрисегментный формат команды (т.е. двухбайтное смещение disp16), однако на втором проходе, если относительное смещение помещается в поле памяти один байт, второй байт, выделенный под смещение, заменяется на команду nop (нет операции – ее кор=90). Поэтому расчет относительного смещения следующий:
0043 - адрес метки m_end
- 0029 - адрес команды nop (т.к. именно она следующая за jmp)
1А
EB - код операции jmp.
8. Команда вызова подпрограммы (с относительной адресацией)
0033 E8 0083 call inputnumber
……
00B9 inputnumber proc near
Команда состоит из трех байт.
0033 – смещение самой команды относительно сегмента кода.
Первый байт: 2-3 байты:
Kop disp16
11101000 0083
кор – код операции call.
disp16 – относительное смещение, рассчитанное следующим образом:
00B9 - адрес начала процедуры
- 0036 - адрес команды, следующей за call
0083
9. Команда завершения цикла (с относительной адресацией)
0040 ….. vyvod2: …………..
004F E2 EF loop vyvod2
Команда состоит из двух байт.
004F – смещение самой команды относительно сегмента кода.
Первый байт: Второй байт:
Kop disp8
11100010 EF
кор – код операции loop.
disp8 – относительное смещение, рассчитанное следующим образом:
0040 - адрес метки
- 0051 - адрес команды, следующей за loop
-11 = EF (в доп. коде)
10. Команды с косвенной адресацией
89 9C FFFEr mov x[si-2],bx
Команда состоит из четырех байт.
Первый байт: Второй байт (постбайт) 3-4 байты
kop d w mod reg r/m disp16
100010 0 1. 10 011 100 FFFE
кор – код операции mov.
d=0 – результат сохраняется в память
w=1, определяет размер операндов – слово
mod=10 + r/m=100 – определяют режим адресации (SI)+D16 (по табл.1). Т.е. косвенная адресация с индексированием и с 16-тиразрядным смещением.
disp16= FFFE смещение, полученное суммированием адреса переменной х(0000) и -2, содержащейся в команде. FFFE=-2.
reg=011 задает код регистра bх.
Міністерство освіти і науки
ДОНЕЦЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
Кафедра КІ
ЗВІТ
з обчислювальної практики
студента групи _______
_______________________________
Керівник Чередникова О.Ю.
Донецьк 2013
Реферат
стор.42, рис. 5, табл. 2
Освоєні основи мови програмування АСЕМБЛЕР. Виконано 4 лабораторні роботи на теми обчислення арифметичних виразів, програмування розгалужувальних процесів, обробки масивів та матриць.
МАКРОАССЕМБЛЕР, МІКРОПРОЦЕССОР, ШИНА АДРЕСИ, ШИНА ДАНИХ, СЕГМЕНТНИЙ РЕГІСТР
|
|
|
|
|
ПЗ 7.091502.XXX.04.00.00.000 | ||||||
|
|
|
|
| |||||||
|
|
|
|
| |||||||
|
|
|
|
|
Звіт з обчислювальної практики. Вивчення мови програмування ASSEMBLER . |
Літер-а |
Масса |
Масштаб | |||
Ізм |
Лист |
№ докум |
Підпис |
Дата |
|
|
|
|
| ||
Розроб. |
|
|
| ||||||||
Перев. |
|
|
| ||||||||
Т. контр. |
|
|
|
Лист 5 |
Листів 32 | ||||||
|
|
|
|
|
ДонНТУ, ФКНТ КІ-12б | ||||||
Н. Конт. |
|
|
| ||||||||
Затв. |
|
|
|