MOV BL, 10; дільник
MOV AL, N; подільне
MOV AH, 0; розширюємо подільне до слова
; або CBW AH конвертуємо до слова
DIV BL; A L=ab, AH=cD + 2, AHAH, 0BL; AL=a, AH=bAL, 0 D, ALAH, 0 D +1, AH
Директиви зовнішніх посилань
Директиви зовнішніх посилань дозволяють організувати зв'язок між різними модулями і файлами, розташованими на диску. Директива
PUBLIC <ім'я> [, <ім'я>, ..., <ім'я>] -
визначає зазначені імена як глобальні величини, до яких можна звернутися з інших модулів. Імена це імена міток і змінних, визначених за допомогою директиви=і EQU.
Якщо деяке ім'я визначено в модулі А як глобальне і до нього потрібно звернутися з інших модулів В і С, то в цих модулях повинна бути директива виду
<ім'я>: <тип> [, <ім'я>: <тип> ...]
Тут ім'я теж, що і в Public, а тип визначається таким чином: якщо <ім'я>- Це ім'я змінної, то типом може бути:
BYTE, WORD, DWORD, FWORD, QWORD, TWORD;
якщо <ім'я>- Це ім'я мітки, то типом може бути NEAR, FAR.
Директива EXTRN говорить про те, що перераховані імена є зовнішніми для даного модуля.
Приклад:
Нехай в модулі А міститься:
TOT
------/-------
TOT DW 0;
Щоб звернутися з В і С до змінної TOT, в них повинна бути директива EXTRN TOT: WORD
В Асемблері є можливість підключення на етапі ассемблирования модулів, розташованих у файлах на диску за допомогою директиви INCLUDE <ім'я файлу>
Приклад:
С: WORK Prim.ASM
Файл Prim.ASM, розташований у вказаній директорії, на етапі ассемблирования записується на місце цієї директиви.
Команди управління
Команди управління дозволяють змінити хід обчислювального процесу. До них відносяться команди безумовної передачі керування, команди умовної передачі управління, команди організації циклів.
Команда безумовної передачі керування має вигляд JMP <ім'я>,
де ім'я визначає мітку команди, яка буде виконуватися наступної за цією командою. Команда, на яку передається керування, може розташовуватися в тому ж кодовому сегменті, що і команда JMP або в іншому сегменті.
JMP M1; за замовчуванням М1 має тип NEAR
Якщо мітка міститься в іншому сегменті, то в тому сегменті, в який передається керування, повинна бути директива Public M1, а в тому сегменті з якого передається керування повинна бути директива - EXTRN M1: FAR. Крім того, передачу можна здійснювати з використанням прямої адресації (JMP M1) або з використанням непрямої адресації (JMP [BX]). Команда, що здійснює близьку передачу, займає 3 байти пам'яті, а дальню - 5 байтів. Але якщо передача здійснюється не далі ніж на - 128 або 127 байтів, то можна використовувати команду безумовної передачі керування JMP Short <мітка>, що займає 1 байт пам'яті.
AX, BXShort M12: ------/...