WWW.DIS.KONFLIB.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

 
<< HOME
Научная библиотека
CONTACTS

Pages:     || 2 | 3 | 4 | 5 |

«Кафедра автоматизированной обработки информации Методические указания к лабораторным работам дисциплины: Программирование на языке Ассемблер для направления подготовки: 230102.65 ...»

-- [ Страница 1 ] --

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФГБОУ ВПО «СЕВЕРО-КАВКАЗСКИЙ ГОРНО-МЕТАЛЛУРГИЧЕСКИЙ ИНСТИТУТ»

(ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ)

Кафедра автоматизированной обработки информации

Методические указания к

лабораторным работам

дисциплины: «Программирование на языке Ассемблер»

для направления подготовки:

230102.65 – Автоматизированные системы обработки информации и управления квалификация (степень) выпускника: инженер Составители: к.т.н. Мирошников А.С.

к.т.н. Соколова Е.А.

Владикавказ, 2013 г.

Оглавление ЛАБОРАТОРНАЯ РАБОТА № 1. АРХИТЕКТУРА ПЕРСОНАЛЬНОГО КОМПЮТЕРА

ЛАБОРАТОРНАЯ РАБОТА № 2. ОСНОВЫ ПРОГРАММ НА ЯЗЫКЕ АССЕМБЛЕРА

ЛАБОРАТОРНАЯ РАБОТА № 3. ОСНОВНЫЕ АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ

ЛАБОРАТОРНАЯ РАБОТА № 4. ОРГАНИЗАЦИЯ ЦИКЛОВ

ЛАБОРАТОРНАЯ РАБОТА № 5. РАБОТА СО СТЕКОМ

ЛАБОРАТОРНАЯ РАБОТА № 6. УПРАВЛЕНИЕ КУРСОРОМ

Приложение I. Форма титульного листа

Приложение II. Шестнадцатиричhо-десятичные преобразования

Приложение III. ASCII символы

ЛАБОРАТОРНАЯ РАБОТА № 1.

АРХИТЕКТУРА ПЕРСОНАЛЬНОГО КОМПЮТЕРА

Цель: Ознакомить студентов с особенностями персонального компьютера, процессором, регистрами, памятью, двоичной и шестнадцатеричной системами счисления. Научить записывать десятичные числа в двоичной и шестнадцатеричной формах, а также переводить числа из одной системы счисления в другую.

Как и все остальные, программы на языке ассемблера состоят из команд. Но каждая команда в ассемблере имеет свой машинный код, выполняемый процессором. Поэтому говорят, что язык ассемблера является языком низкого уровня.

Большинство команд работает с данными. Сами команды, т. е. их машинные коды, и данные располагаются в памяти компьютера. Из памяти процессор выбирает команды, одну за другой, и исполняет их. При выборке и выполнении команды процессором используется не только память, но и порты ввода-вывода, шины адреса (ША) и данных (ШД), регистры и остальные блоки компьютера (Рис.

0.1). Поэтому написание ассемблерных программ требует знаний организации всей системы компьютера.

Процессор ША ШД Порт Регистры Память ввода-вывода Рис. 0.1 Элементы компьютера.

Память компьютера Память компьютера можно представить в виде последовательности ячеек, каждая из которых имеет свой номер 0, 1, 2, …, называемый адресом. Машинный код команды занимает одну или несколько ячеек памяти. Для его выполнения процессор с помощью регистров устанавливает на ША адрес первой ячейки, с которой начинается машинный код, а затем через ШД считывает из памяти команду и начинает ее выполнять. Если команда подразумевает работу с некоторыми данными (их чтение или запись), то сначала на ША устанавливается адрес памяти, а затем через ШД данные читаются из памяти или записываются в нее. После выполнения одной команды процессор начинает выбирать из памяти следующую и т. д.

Шину можно представить в виде набора проводников, в каждом из которых может протекать напряжение заданного уровня (1), либо отсутствовать (0). Система счисления, построенная на цифрах 0 и 1, называется двоичной. Например, с помощью двух проводников или двух разрядов можно задать четыре числа: 00 = 0, 01 = 1, 10 = 2, 11 = 3. Каждый разряд в числе принято называть битом. Группа из восьми бит образует байт. Байт является основной единицей хранения чисел в памяти. Графически байт изображается следующим образом:

d7 d Биты в байте нумеруются от 0 до 7, при этом бит d0 является младшим, а d7 старшим.

Группа из двух байт (16 бит) образует слово, четыре байта (32 бита) – двойное слово, а 16 байт – параграф.

Системы счисления Двоичная система счисления является наглядной, так как отражает состояние каждого бита в числе.

Но у нее есть существенный недостаток – числа в двоичной форме очень громоздки. С другой стороны, привычная для нас десятичная система слишком сложна для перевода чисел в двоичную и обратно.

Поэтому наибольшее распространение в практике получила шестнадцатиразрядная система счисления. В программах на ассемблере разрешается использовать также и восьмеричную систему счисления, но на практике она применяется крайне редко.

В таблице 0.1 приведены представления чисел от 0 до 16 в двоичной, восьмеричной, десятичной и шестнадцатеричной системах. Для указания системы счисления после числа записывается буква: b – для двоичной, q или o – для восьмеричной, d – для десятичной и h – для шестнадцатеричной. Числа, указанные без буквы, относят к десятичной системе счисления.

Используя таблицу 0.1, можно легко переводить числа из шестнадцатеричной системы счисления в двоичную и обратно. Например, число 5Eh запишется как 01011110b (5 = 0101 + E = 1110), а число 101101010001b как B51h (1011 = B + 0101 = 5 + 0001 = 1). В приложении II рассматривается перевод чисел из десятичной системы в шестнадцатеричную и обратно.

Адресация памяти Процессоры 8086 и 80286 являются 16-разрядными: ШД и все регистры имеют по 16 разрядов. Эти процессоры могут работать с числами от 0 до 65535 (216-1 = 65535). Процессоры i386 и i486 являются 32разрядными, а Pentium – 64-разрядным.

Однако ША у процессора 8086 не 16-разрядная, а 20-разрядная, что позволяет адресовать 1 Мб памяти (220 = 1048576 = 1 Мб). При этом для установки на ША физического 20-разрядного адреса используют два 16-разрядных числа. Такой адрес принято записывать в виде SSSS:OOOO, где SSSS – сегментная часть адреса, сегмент (segment, 16 бит), а OOOO – смещение (offset, 16 бит). Для вычисления физического адреса используют формулу:





Физический_адрес = SSSS · 16 + OOOO.

Например, физический адрес 00001Dh можно записать в виде 0001:000D или 0000:001D.

Память лучше всего рассматривать следующим образом:

BX BH BL DI

CX CH CL BP

DX DH DL SP

Рис. 0.2 Сегментные регистры и сегменты Рис. 0.3 Регистры процессора.

Сегментная часть SSSS в адресе SSSS:OOOO по существу является номером параграфа. Для ее хранения у процессора есть специальные сегментные регистры. Оставляя постоянной сегментную часть, а меняя только смещение, можно адресовать 65536 байт или 64 Kб. Эту область называют сегментом памяти. В процессоре 8086 имеется четыре сегментных регистра CS, DS, SS и ES. Следовательно, одновременно можно использовать четыре различных сегмента памяти. Хотя эти сегменты иногда могут пересекаться или вовсе совпадать друг с другом, т. е. начинаться с одного и того же адреса (Рис. 0.2).

Процессор 80286 имеет 24-разрядную шину адреса, что позволяет адресовать 224 = 16 Мб. Однако, описанный выше способ сегментной адресации памяти не позволяет выйти за пределы 1 Мб. Для преодоления этого ограничения в процессоре 80286, также как и в i386, i486 и Pentium, используются два режима работы процессора: реальный и защищенный. В реальном режиме процессор функционирует подобно процессору 8086, но с повышенным быстродействием, расширенным набором команд и обращаться лишь к 1 Мб памяти. Это также относится к процессорам i386, i486 и Pentium.

Защищенный режим является более сложным и выходит за рамки данного курса.

Процессор содержит двенадцать 16-разрядных регистров, которые принято объединять в три группы: регистры общего назначения, регистры-указатели и сегментные регистры. Кроме того, в состав процессора входит счетчик команд и регистр флагов (Рис. 0.3).

Регистры общего назначения В группу регистров общего назначения включаются регистры АХ, BX, CX и DX. Особенностью этих регистров является то, что их можно использовать в любых арифметических, логических и т. п.

машинных операциях. В то же время, каждый из этих регистров имеет определенную специализацию:

некоторые команды требуют, чтобы их операнд или операнды обязательно находились в определенных регистрах. Например, команды деления требуют, чтобы первый операнд (делимое) находился в регистре AX или в двух регистрах DX и AX (в зависимости от размера делителя), а команды управления циклом используют регистр CX в качестве счетчика цикла.

Регистры AX, BX, CX и DX устроены так, что возможен независимый доступ к их старшей и младшей половинам. Можно сказать, что каждый из этих регистров состоит из двух байтовых регистров.

Обозначают эти половины буквами H (high – старший) и L (low – младший) и первой буквой из названия Если, например, регистр CX содержит число 2E5Ch, то CH будет содержать 2Eh, а CL – 5Ch. Или наоборот, если записать в регистр DH число 60h, а в DL 2Аh, то в регистре DX будет содержаться число 6052h.

В дальнейшем будут использоваться регистровые пары, например DX:AX, при этом первый регистр (DX) является старшим, а второй (AX) младшим. В регистровых парах содержимое обоих регистров рассматривается, как одно число, подобно AH и AL в AX или BH и BL в BX.

Сегментные регистры Сегментные регистры CS, DS, SS и ES, как уже известно, используются процессором для хранения сегментной части адреса. Эти регистры, не могут быть использованы ни в каких арифметических, логических и т. п. операциях. Можно только записывать или читать из них, да и то здесь есть определенные ограничения.

Каждый из сегментных регистров имеет свою специализацию. При написании программ команды стараются хранить в одном месте памяти, а данные в другом. Регистр CS указывает на начало блока памяти, в котором располагаются команды. Этот блок называется сегментом кода. Если все команды в программе занимают более 64 Кб, то в памяти располагаются два и более сегментов кода, а для перехода от одного сегмента к другому меняют содержимое регистра CS. В регистр DS обычно записывается сегментная часть адреса начала блока данных – сегмента данных, а регистр SS всегда используется для адресации стека. Конечно, можно хранить данные в сегменте кода или команды в сегменте стека, но это только усложняет и запутывает написание программ. В редких случаях данные хранят совместно с командами. Хотя существуют программы, где все три сегмента: кода, данных и стека обязательно должны совпадать. Такие программы называются COM-программами. В EXE-программах данные сегменты, как правило, разделены между собой.

Регистр ES используется как дополнительный сегментный регистр при доступе к данным, которые Рис. 0.4 Основные программные сегменты.

описании команд работы со строками.

Регистровые указатели SP и BP обеспечивают доступ к данным в сегменте стека. Реже они используются в операциях сложения или вычитания. Эти регистры связаны с сегментным регистром SS для адресации стека. В регистровой паре SS:SP хранится адрес элемента, записанного в стек последним. Регистр BP в основном используется в процедурах для временной фиксации адресов в сегменте стека. Использование регистров SP и BP более подробно будет рассмотрено при описании стека и процедур.

Указатель команд Регистр IP называется указателем команд. Он связан с сегментным регистром CS. Регистровая пара CS:IP содержит адрес команды, которая должна быть выполнена следующей. IP хранит смещение этой команды относительно сегмента кода, на начало которого указывает регистр CS. Процессор после завершения выполнения команды выбирает из памяти следующую, адрес которой хранится в CS:IP.

Выбрав команду и проанализировав ее, процессор меняет содержимое регистров CS:IP на адрес следующей команды, а только потом начинает выполнение выбранной. Это означает, что при выполнении команды в CS:IP уже хранится адрес следующей команды.

Флаговый регистр У процессора имеется регистр флагов. Флаг – это бит, принимающий значение 1 («флаг установлен»), если выполнено некоторое условие, и значение 0 («флаг сброшен») в противном случае. Данный регистр содержит шесть флагов состояния и три флага управления состоянием процессора.



Pages:     || 2 | 3 | 4 | 5 |
 


Похожие работы:

«ОСНОВЫ КРИСТАЛЛОГРАФИИ И МИНЕРАЛОГИИ Федеральное агентство по образованию ГОУ ВПО Уральский государственный технический университет – УПИ Основы кристаллографии и минералогии Методические указания к практическим занятиям и контрольные вопросы для студентов всех форм обучения направления 651130 – Металлургия специальности 110200 – Металлургия цветных металлов Екатеринбург 2006 УДК 548/549 Составитель Г. А. Рубан Научный редактор доц., канд. физ-мат. наук С. П. Колесников Основы кристаллографии и...»

«МНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Государственное образовательное учреждение высшего профессионального образования Северо-Кавказский горно-металлургический институт (государственный технологический университет) Кафедра Системы автоматизированного проектирования Геоинформационные системы Методические указания к лабораторным занятиям для студентов специальностей: 230104 - Системы автоматизированного проектирования 130301, 130301.65 Геологическая съёмка, поиски и разведка МПИ Владикавказ 2010 1...»

«Год изд Кол-во Автор Заглавие БЕЗ РАЗДЕЛА Вопросы химии и химической технологии:Респ. междувед. науч. -техн. сб. /Отв. ред. М. А. Лошкарев. Киев. Комментарий к законодательству о труде. /Рук. А. И. Ставцева. М., 1987 1 Юридическая литература Методические рекомендации по проведению патентных исследований. М., 1983 3 ВНИИПИ Немецко-русский математический словарь. М., Сов. энциклопедия 1968 1 Немецко-русский синонимический словарь. М,. Русский язык 1983 Немецко-русский словарь. М., Сов....»

«Министерство образования и науки Республики Казахстан ВОСТОЧНО-КАЗАХСТАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. Д. Серикбаева Ю.Д. Гусаренко МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ДИПЛОМНОМУ ПРОЕКТИРОВАНИЮ для студентов специальностей 5В090300, 050903 Землеустройство, 5В090700, 050907 Кадастр, 5В071100, 050711 Геодезия и картография всех форм обучения Усть-Каменогорск 2012 2 УДК 378.146 (075.8) Методические указания по дипломному Гусаренко Ю.Д. проектированию для студентов специальностей 050903 –...»

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ МИСиС НОВОТРОИЦКИЙ ФИЛИАЛ А.В. Заводяный, А.В. Нефедов, Н.А. Чиченев Организация, выполнение и оформление курсовой научно-исследовательской работы Министерство образования и науки российской федерации федеральное государственное автономное образовательное учреждение высшего профессионального образования Национальный исследовательский технологический университет МИСиС Новотроицкий филиал Кафедра оборудования металлургических предприятий...»








 
© 2013 www.dis.konflib.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.