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Х|.