Все EXE файлы и DosBox в - https://drive.google.com/drive/folders/15d5tq85jYTIIs9tT2a_5l_w2ysexK2VZ
Выполняется практическое задание:
- 1 - Создать hello.asm и поместить туда программу (разбираться в коде не надо)
Примечание: С каждым годом, немного меняется реализация программы (лучше взять из файлов преподавателя)
- 2 - Запустить DosBox указать путь с помощью команд:
mount c /YOUR_PATH/
C: - перейти в диск где находится ваш проект.
- 3 - Склмпилировать программу
ML.EXE /AT HELLO.ASM
-
4 - Посмотреть что находится в исполняемом и объектном файле (использовается HexView, например, в Visual Studio)
-
5 - Запустить отладчик программы, с помощью:
AFDPRO.EXE HELLO.COM
- 6 - Разобраться что и где располагается.
- 1 - Что находится в исполняемом файле и что именно отображается через HexView?
В исполняемом файле находится набор данных,
00000010
- смещение по ячейкам данных
Данные распалагаются в 16 системе счисления
- 2 - Что вот это за окно в отладчике:
Это регистры для работы в программе.
Это стек и флажки
Это окно кода программы
0100
- смещение по коды, на который указывает указатель IP, в случае если следующая команда будет выполнятся она.
B409
- набор данных, по которым выполняется программа
Это сегмент данных.
- 3 - Что такое регистр?
Регистры процессора — блок ячеек памяти, образующий сверхбыструю оперативную память внутри процессора. Большинство команд процессора манипулируют данными, хранящимися в регистрах
- 4 - Что такое регистры общего назначения и где они показана в отладчике?
Регистры общего назначения процессора (РОН) 8086. Регистры общего назначения - группа регистров, доступная для чтения/записи основными командами. Предназначены для временного хранения данных, записи параметров машинных команд, арифметической обработки и т.д. Существует всего 4 РОН: AX, BX, CX, DX. Каждый содержит в себе 16 бит и делится на 2 части по 8 бит - старшую (high, H) и младшую (low, L). Обращаться можно как к регистру целиком, так и к его половинам по отдельности.
- 5 - Что такое IP?
Регистр указателя команд (IP, Instruction pointer) - специальный регистр, который всегда хранит в себе смещение команды, которая будет выполнена следующей. Меняется автоматически по ходу выполнения программы и не может быть изменён программно.
- 6 - Где хранятся сегмент данных?
DS - это сегмент данных, который хранится во внутренней памяти компьютора в ОЗУ (оперативной памяти), так это необходимо для быстрой связи с данными во время выполнения программы.
- 7 - Перечислите виды памяти ЭВМ?
Внутренная память (ОЗУ и ПЗУ) Внешняя память (жесткий диск и флэшка) Центральный процессор (Нужен для хранения регистра)
- 8 - Для чего нужна ПЗУ?
ПЗУ в основном нужна для чтения данных и хранения независимых данных.