Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Отчеты по практике » Основи програмування на Асемблері

Реферат Основи програмування на Асемблері





регістра CS, так і значення регістра IP. Такий перехід називався дальнім і здійснювався довше.

Прапори стану (біти 0, 2, 4, 6, 7 і 11) відображають результат виконання арифметичних інструкцій, таких як ADD, SUB, MUL, DIV.

Прапор переносу CF встановлюється при перенесенні з старшого значущого біта/позику в старший значущий біт і показує наявність переповнення в беззнакову целочисленной арифметиці. Також використовується в довгій арифметиці.

Прапор парності PF встановлюється, якщо молодший значущий байт результату містить парне число одиничних бітів. Спочатку цей прапор був орієнтований на використання в комунікаційних програмах:

при передачі даних по лініях зв'язку для контролю міг також передаватися біт парності та інструкції для перевірки прапора парності полегшували перевірку цілісності даних.

Допоміжний прапор переносу AF встановлюється при перенесенні з біта третій результату/позику в третій біт результату. Цей прапор орієнтований на використання в двійковій-десяткового (binary coded decimal, BCD) арифметиці.

Прапор нуля ZF встановлюється, якщо результат дорівнює нулю.

Прапор знака SF дорівнює значенню старшого значущого біта результату, який є знаковим бітом в знаковій арифметиці.

Прапор переповнення OF встановлюється, якщо цілочисельний результат занадто довгий для розміщення в цільовому операнде (регістрі або комірці пам'яті). Цей прапор показує наявність переповнення в знаковій целочисленной арифметиці.


. 1 ПАКЕТ MASM. СТРУКТУРА ПРОГРАМИ


У макроассемблер MASM включені директиви, що спрощують визначення сегментів програми і, крім того, що припускають ті ж угоди, які використовуються в мовах високого рівня Microsoft. Спрощені директиви визначення сегментів генерують необхідний код, вказуючи при цьому атрибути сегментів і порядок їх розташування в пам'яті. Скрізь в цій книзі ми будемо використовувати саме спрощені директиви визначення сегментів, найбільш важливі з яких перераховані далі:

. DATA (. Data) - визначає початок ініціалізованих сегмента даних з ім'ям _DATA і за наявності попереднього сегмента завершує його. Цій директиві повинна передувати директива. MODEL.


Сегмент, визначений з атрибутом. DATA,

повинен містити тільки початкові дані, тобто мають початкові значення, наприклад,

. dataDW 11DB Text string

byte1 DB?

. DATA? (. Data?) - Визначає сегмент даних, в якому розташовуються неініціалізовані дані. При наявності попереднього сегмента новий сегмент завершує його. Неініціалізовані дані можуть оголошуватися в сегменті. DATA? за допомогою оператора? Перевагою директиви. DATA? є те, що при її використанні зменшується розмір виконуваного файлу і, крім того,

забезпечується краща сумісність з іншими мовами. Цій директиві повинна передувати директива. MODEL. Ось приклад використання діректіви.DATA?

. data?

. CONST (. Const) - визначає початок сегмента даних, в якому визначено константи. При наявності попереднього сегмента новий сегмент завершує його. З метою сумісності з іншими мовами дані повинні бути в форматі, сумісному з прийнятими в мовах високого рівня угодами. Сегмент, визначений директивою. CONST, має атрибут тільки для читання. Цій директиві повинна передувати директива. MODEL.

. STACK (. Stack) [розмір] - визначає початок сегмента стека з вказаним розміром пам'яті, який повинен бути виділений під область стека. Якщо параметр не вказаний, розмір стека передбачається рівним 1 Кбайт. При наявності попереднього сегмента новий сегмент завершує його. Цій директиві повинна передувати директива. MODEL.

. CODE (. Code) [ім'я] - визначає сегмент програмного коду і закінчує попередній сегмент, якщо такий є. Необов'язковий параметр ім'я заміщає ім'я _TEXT, задане за замовчуванням. Якщо ім'я не визначено, асемблер створює сегмент з ім'ям _TEXT для моделей пам'яті tiny, small, compact і flat або сегмент з ім'ям ім'я модуля TEXT для моделей пам'яті medium, large і huge. Цій директиві повинна передувати директива. MODEL, яка вказує модель пам'яті, використовувану програмою.

. MODEL (. Model) модель_памяті [, соглашеніе_о_визовах] [, тіп_ОС] [, параметр стека] - визначає модель пам'яті, використовувану програмою. Директива повинна знаходитися перед будь-який з директив оголошення сегментів. Вона пов'язує певним чином різні сегменти програми, які визначаються її параметрами tiny, small, compact, medium, large, huge або flat. Параметр модель пам'яті є обов'язковою.

Назад | сторінка 5 з 7 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Технології аналізу даних (Text Mining, Data Mining)
  • Реферат на тему: Аналіз даних за допомогою технології Data Mining
  • Реферат на тему: Аграрний сегмент національного багатства
  • Реферат на тему: Журнальних Періодика як сегмент для інвестування
  • Реферат на тему: Аграрний сегмент національного багатства