Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



NEG| операнд

Idiv| дільник

Div| дільник

 

Ділиме Дільник (регістр, елемент пам'яті) Частне Залишок
АХ   1 байт AL| АН|
DX| — старша частина|частка| АХ — молодша частина|частка| 2 байта АХ DX|
EDX- старшая| частина|частка| ЕАХ– молодша частина|частка| 4 байта ЕАХ EDX|

 

 

Ділення|поділ| двійкових чисел із|із| знаком

Приклад 1. Розділити 13 на 2, частне зберегти в BL|, а залишок|остача| - у ВН:

include irvine32.inc

.code

main PROC

mov| ax,13| ; АХ = 13

mov| cl,2| ; CL| = 2

div| cl| ; ділимо АХ на CL, результат в АХ|

mov bx,ax ; АХ копіюємо у ВХ

exit

main endp

end main

 

Вміст регістрів|реєстрів| до виконання команди ділення :

AX=13
AH AL
D
                               
CX
CH CL
               
   
                               

 

Вміст регістра|реєстру| AX після виконання команди множення :

AX
AH=1 AL=6
                               

 

 

Приклад 2. Обчислити радіус по діаметру, значення якого збережене в 16-бітовій змінній diameter, результат записати в radius, а залишок проігнорувати.

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

 

 




Переглядів: 756

<== попередня сторінка | наступна сторінка ==>
Визначення змінних програми. | Національний банк України — центральний банк держави

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.016 сек.