Лабораторная работа 2
ИССЛЕДОВАНИЕ ВОЗМОЖНОСТЕЙ СИСТЕМНЫХ
ПРОГРАММ
2.1. Цель работы:
2.1.1. Исследование особенностей системы команд, форматов команд и способов адресации микропроцессора Intel 8086 с помощью языка Ассемблер и системных программ MASM, LINK, EXE2BIN.
2.1.2. Закрепление навыков составления и отладки программ, использующих операции обращения пересылки, сравнения, передачи управления и обращения к системным функциям DOS.
2.2. Лабораторная установка:
- ПЭВМ "Pentium-150";
- операционная система MS DOS (версия 6.22);
- системные программы MASM, LINK, EXE2BIN, Code View, PR.COM.
2.3. Краткий теоретический материал
Любая программа для выполнения на персональной ЭВМ (ПЭВМ) должна быть преобразована в совокупность кодов на машинном языке с помощью трансляторов, компоновщиков и других системных программ. Обязательным элементом подготовки квалифицированных (системных) программистов является изучение архитектуры ПЭВМ и машинного языка (МЯ).
Язык Ассемблер - это символьная форма записи МЯ, его использование существенно упрощает изучение и написание, машинных программ.
Машинный язык ПЭВМ включает три компонента - систему команд, форматы команд, способы (режимы) адресации операндов.
Система команд - это совокупность всех команд (операции), реализуемых микропроцессором, (например, система команд “Intel8086” включает 170 команд, a “PentiumММХ - 277 команд). Однако “базовый” набор команд у всех микропроцессоров семейства Intel и их клонов одинаков. Наиболее часто в программах используются команды:
MOV -пересылка содержимого операнда - "источника" информации в операнд -"приемник" информации;
СМР - сравнение содержимого "источника" и "приемника" без изменения их содержимого;
ADD - сложение содержимого “источника” и “приемника”;
DEC - уменьшение содержимого операнда на единицу;
JMP - безусловный переход;
JGE - переход, если содержимое “приемника” больше или равно содержимому “источника”;
JG - переход, если содержимое “приемника” больше содержимого “источника”,
INT - вызов “программного” прерывания;
RET - возврат из программы в DOS и т д.
Подробное описание системы команд приведено в [I], с 339 376.
Форматы команд - это совокупность различных структур команд, представленных двоичным кодом. Команды, не имеющие операндов (например, RET), занимают в памяти один байт (в нем размещается только код команды). Размер команд, имеющих операнды, колеблется от двух до шести байт. Пример наиболее простого формата команды, работающей с двумя операндами (“источником” и “приемником”) приведен в таблице №1.3 Приложения №1. Оба операнда команды MOV АХ,СХ размещаются в регистрах, причем регистр СХ - операнд-“источник”, а регистр AX -операнд-“приемник”. Поле “код операции” содержит двоичные разряды кода операции пересылки. Поле признака “d” определяет операнд, на место которого “помещается” результат операции
d=
Поле признака “w” определяет “размер” операнда (байт и два байта - слово)
0, операнд занимает байт (byte)
w = 1, операнд занимает слово (word)
Поле признака “mod” определяет “режим адресации” с точки зрения размещения операндов. Если mod = 11, то операнды размещаются в регистрах
Поля “R1” и “R2” определяют способ кодирования регистров, хранящих операнды, “приемник” и “источник”.
Значение R1/R2 |
w =0 |
w =1 |
Значение R1/R2 |
w =0 |
w =1 |
000 |
AL |
AX |
100 |
АН |
SP |
001 |
CL |
CX |
101 |
CH |
BP |
010 |
DL |
DX |
110 |
DH |
SI |
011 |
BL |
BX |
111 |
BH |
DI |
Подробное описание форматов команд приведено в [2], с.24.. .26.
Режимы адресации - это cсовокупность различных способов определения местоположения операнда (источника и/или приемника). В зависимости от способа адресации операнд может размещаться в регистре процессора, в ячейке оперативной памяти или “непосредственно” в команде.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.