Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ASM_06_Vyrazheniya_LEC_ukr.doc
Скачиваний:
1
Добавлен:
09.09.2019
Размер:
456.7 Кб
Скачать

Include| irvine32|.Inc

.data

d WORD 15 ; діаметр

radius byte ?

.code

main PROC

mov ax,d

mov bl,2

div| bl|

mov| radius,al|

exit

main endp

end main

Команди для роботи з|із| від’ємними|заперечними| числами NEG|

Перетворить додатне ціле число в від’ємне і навпаки.

Neg| операнд

Операнд може бути регістром|реєстром| або адресою пам'яті.

Приклади|зразки|:

neg еах ;змінює знак числа, збереженого в ЕАХ

neg BL

neg number ;змінює знак змінної number

Результат виконання команди може бути некоректний у випадку, якщо|у разі , якщо| розмір її єдиного операнда-одержувача|отримувача| дуже|занадто| малий. Наприклад, якщо помістити в регістр|реєстр| AL| число -128, а потім спробувати інвертувати його значення, в резуль­таті| повинне вийти число +128, яке вже не поміститься в регістр|реєстр| AL|. Результат буде некоректним:

mov al,-128 ; AL = 1000 0000b

neg al ; AL = 1000 0000b OF = 1

Якщо ж завантажити в регістр|реєстр| AL| число +127 і спробувати його інвертувати, результат буде коректний і прапор переповнювання OF| не встановлюється:

mov al,+127 ; AL = 0111 1111b

neg al ; AL = 1000 0001b

Команди знакового розширення

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

Команди знакового розширення не мають операндів, вони виконують дії над фіксованими регістрами|реєстрами|

Команда CBW (convert byte to word) – |копіює старший біт регістра|реєстру| AL| в регістр|реєстр| АН. розширюючи таким чином оригінальне значення регістра|реєстру| AL| в значення із|із| знаком регістра|реєстру| АХ .

Команда CWD| - копіює старший біт АХ в регістр|реєстр| DX|, розширюючи таким чином оригінальне значення АХ в пару регістрів|реєстрів| із|із| знаком DX:AX|.

Команда CWDE| - копіює старший біт АХ у верхню частину|частку| (старшу частину|частку|) ЕАХ, розширюючи таким чином оригінальне значення АХ в подвійне слово із|із| знаком, яке буде поміщено в регістр|реєстр| ЕАХ.

Команда CDQ(Convert Doubleword to Quadword) - перетворити подвійне слово в слово, збільшене учетверо, розширює знаковий біт |із| регістра ЕАХ| в регістр ЕDХ|.

12

11/16/2020

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]