- •Запитання на тести «Архітектура еом»
- •Дайте означення плата,
- •Дайте означення чіп,
- •Дайте означення контролер,
- •Дайте означення порт,
- •Дайте означення шина
- •Дайте означення материнські плати
- •Дайте означення Процесора
- •Дайте означення Відеоадаптера
- •Дайте означення контролерів (див 3 )
- •Дайте означення функції контролерів
- •Дайте означення bios.
- •Дайте означення жорсткого диску
- •Дайте означення Носія інформації
- •Для чого застосовують Мову програмування Асемблер
- •Перевага Асемблера
- •Недоліки Асемблера
- •Дайте означення даних в асемблері
- •Командa mov в мові Асемблер
- •Командa mvi в мові Асемблер
- •Наприклад :
- •Команди множення в мові Асемблер та використання прапорців для цієї команди
- •Команди ділення в мові Асемблер та використання прапорців для цієї команди
- •Синтаксис
- •Алгоритм
- •Состояние флагов после выполнения команды
- •Описание
- •Примеры
- •Проблеми переповнення та методи боротьби з ними в мові Асемблер(зошит)
- •Команди переходів в мові Асемблер
- •Побудова циклів в мові Асемблер
- •Команди зсувів в мові Асемблер
- •Циклічні зсуви в мові Асемблер
Состояние флагов после выполнения команды
11 |
07 |
06 |
04 |
02 |
00 |
OF |
SF |
ZF |
AF |
PF |
CF |
? |
? |
? |
? |
? |
? |
Описание
Команда выполняет целочисленное деление операндов с учетом их знаковых разрядов. Результатом деления являются частное и остаток от деления. При выполнении операции деления возможно возникновение исключительной ситуации: 0 — ошибка деления. Эта ситуация возникает в одном из двух случаев: делитель равен 0 или частное слишком велико для его размещения в регистре eax/ax/al.
Примеры
;деление слов
mov ax,1045 ;делимое
mov bx,587 ;делитель
cwd ;расширение делимого dx:ax
idiv bx ;частное в ax, остаток в dx
Проблеми переповнення та методи боротьби з ними в мові Асемблер(зошит)
Команди порівняння в мові Асемблер(+зошит)
CMP Сравнени
Признаки: O D I T S Z A P C Команда: CMP destination,source .
Логика: Установка признаков в соответствии с результатом.
(destination - source)
CMP сравнивает два числа, вычитая операнд source из операнда destination, и изменяет значения признаков. CMP не изменяет сами операнды. Операндами могут быть байты или слова.
Команди переходів в мові Асемблер
. JMP J- АДРЕС- безумовний перехід
JNZ - перехід, якщо Z=0 (не нуль);
JZ - перехід, якщо Z=l (нуль);
JNC - перехід, якщо CY=0 (немає переносу);
JC - перехід, якщо CY=1 (перенос);
JPO - перехід, якщо Р=0 (непарність);
JPE - перехід, якщо Р=1 (парність);
JM - перехід, якщо 5=0 (мінус);
JP - перехід, якщо 5=1 (плюс).
Побудова циклів в мові Асемблер
. Цикл у програмі-фундлментальна властивість програми ЕОМ- це засіб, який дозволяє за допомогою однієї і тієї ж послідовності команд виконати деякі дії багато разів. Загалом, цикл представляє собою групу команд, виконання яких багатократно повторюється за рахунок того, що в цій групі є команда, яка повертає керування знову на першу команду в групі команд, поки не виконається певна умова закінчення циклу.
Програмування циклів покажемо на прикладі обчислення суми ряду N чисел, які розміщені в пам'яті з певною адресою.
Для розв'язання задачі необхідно послідовно додавати кожне число ряду до поточної часткової суми. Можна написати програму, в якій для додавання кожного числа буде використовуватись окрема послідовність команд. Однак доцільно написати програму у вигляді циклу, який підраховує кількість сумованих чисел. Як лічильник циклу можна використати регістр, початкове значення якого можна встановити за межами циклу, а при кожній ітерації циклу модифікувати і перевіряти (тестувати) його значення. У кожній ітерації необхідно забезпечити вибір подальшого числа.
У циклічній програмі можна виділити такі частини: ініціалізуючу, яка задає початкові дані і число ітерацій, основну роботу, модифікуючу і тест кінця циклу. Приклад організації програмного циклу:
MVI B, N ; завантаження в регістр В числа ітерацій
CYCL: ; основна частина
DCR В; підрахунок ітерацій
JNZ CYCL; перехід на повтор, якщо не кінець циклу
HLT ; кінець
