Similar presentations:
Освоение инструментальной среды для выполнения лабораторных работ (ЛР 1)
1.
Лабораторная работа №1Освоение инструментальной среды
для выполнения лабораторных
работ
2.
Структура процессора i8086 дляпрограммиста и обзор системы
команд
Для программиста при программировании на языке
ассемблера микропроцессор i8086 имеет в своём
составе 14 шестнадцатиразрядных регистров:
регистры общего назначения (РОН) – AX, BX, CX,
DX, SI, DI ;
сегментные регистры – CS, DS, ES, SS;
специальные регистры – IP,SP, BP, FLAGS.
3.
Регистры общего назначенияРегистры общего назначения (16 разрядные):
AX(AH, AL), BX(BH, BL), CX(CH, CL), DX(DH, DL)
делятся программно на пары однобайтных регистров
и используются для хранения данных (8 или 16
битных);
SI, DI – шестнадцатиразрядные регистры для
хранения данных.
AX (16 бит)
AH (8 бит)
AL (8 бит)
BX (16 бит)
BH (8 бит)
BL (8 бит)
CX (16 бит)
CH (8 бит)
CL (8 бит)
DX (16 бит)
DH(8 бит)
DL (8 бит)
SI (16 бит)
DI (16 бит)
4.
Сегментные регистрыРегистры CS, DS, ES, SS – хранят адреса сегментов
в памяти (кодового, данных, дополнительных
данных,стека) и не могут использоваться для
хранения данных.
CS (16 бит)
Начало сегмента кода (программы) в ОП
DS (16 бит)
Начало сегмента данных программы в ОП
ES (16 бит)
Начало дополнительного сегмента в ОП
SS (16 бит)
Начало сегмента стека программы в ОП
5.
Специальные регистрыSP, BP – указатель и база стека, соответственно,
обеспечивают доступ к данным в стеке, могут
использоваться для хранения данных, но делать это не
рекомендуется, так как при этом возможно нарушение
адресации в стеке, особенно при использовании SP.
IP – регистр инструкций (счетчик команд) – хранит адрес
следующей исполняемой команды (относительно смещения).
FLAGS – регистр флагов содержит набор битовых флагов,
определяющий результат выполнения предыдущей команды.
SP (16 бит)
Указатель начала стека в ОП
BP (16 бит)
Указатель начала базы в ОП
IP (16 бит)
Указатель (счетчик) команд ОП
FLAGS (16 бит)
Регистр флагов
6.
ФлагиOF
SF
ZF
CF
7.
Оперативная памятьПамять, с которой взаимодействует процессор при
выполнении программы, называется Оперативным
Запоминающим Устройством(ОЗУ) или Random Access
Memory(RAM). Также используется аббревиатура – ОП.
Память состоит из набора однобайтных ячеек, обращение
к которым происходит по их номерам(физическим адресам).
Адресация начинается с 0000
Исполняемая программа (загруженный exe-файл) в ОП
состоит из трех последовательно расположенных сегментов
(частей). Начало каждого сегмента определяется значением
регистров DS (данные), CS (код программы), SS (стек
программы).
Значение этих регистров определяется при линковке
программы (Tlink).
8.
Используемый инстументарийДля получения exe-файла и его отладки будут нужны:
текстовый редактор – Notepad, Notepad++ и др. -> file.asm
компилятор языка ассемблера – Tasm -> file.obj
линковщик – Tlink -> file.exe
отладчик - Td
Tasm, Tlink, Td – это 16-ти разрядные приложения и для их
работы в Windows 7, 8, 10 потребуется приложение "Dosbox".
Внутри этого приложения будет использоваться файловый
менеджер Norton Commander (NC)
9.
Структура данных и кода в оперативной памятирегистр DS
регистр CS
программа
в ОП
сегмент данных
(данные)
сегмент кода
(код
программы)
регистр SS
сегмент стека
(необязателен)
оперативная
память
10.
Turbodebugger (отладчик)окно процессора
(код программы)
окно регистров процессора
окно флагов
процессора
окно ОП
(данные)
окно стека
(стек)
11.
Окно процессорастолбец адресов
команд
столбец кодов
команд
два столбца
мнемоники команд
окно
памяти
команда mov ax,5B42 находится в ОП по адресам 0000 – 0002
(занимает три байта) и имеет код - B8425B
12.
Окно ОП (ОЗУ)столбец адресов
байт ОП
значение байт
по этим адресам
символьное отображение
байтов
значение ds=5B42
по адресу ОЗУ = 5B42+0000=5B42 значение байта=0Аh
по адресу ОЗУ = 5B42+0001=5B42 значение байта=00h
по адресу ОЗУ = 5B42+0002=5B42 значение байта=14h
13.
Окно регистровстолбец имен
регистров
столбец значений
регистров
регистр АХ=5В42h=0101101110000010b
14.
Окно флаговимя флага
CF=0, ZF=0
значение флага
15.
окно стека: адрес байта, значение байтаокно
стека
16.
Задание на лабораторную работу и порядок еёвыполнения смотри в файле:
Лабораторная работа №1 часть 2 Задание.docx
окно
стека