![]() ![]() ![]() ![]() |
|
|
![]() |
1. INT INUM; эта команда вызывает программное прерывание , то есть переход к ячейке памяти с адресом хранящимся в четырех байтах, начиная с адреса INUM * 4, где INUM = (0...255). Это 4-х байтовое число является указателем подпрограммы обработчика данного прерывания, и иначе называется вектором прерывания.Таким образом первый килобайт памяти 256 * 4 отводится под векторы прерываний.
Операции инициируемые программными прываниями определяются кодом в регистре AH, например:
.... mov ah,14d;функция вывода символа на дисплей,с последующимм mov al,31h;продвижением курсора на одну позицию вправо. int 10h;на экран будет выведена цифра '1'(ASCII код 31h). .... .DATA privet DB 'Добрый morning !','$'; .CODE .... lea dx,privet; специальная функция регистра DX mov ah,9;9 - функция вывода на экран дисплея int 21h;будет выведено приветствие ....
2. STC, CLC; установить флаг переноса (CF) = 1, сбросить флаг переноса (CF) = 0.
3. CMC; инвертировать флаг пнреноса.
4. CLD; очистить флаг направления (DF) = 0, в этом случае операции над строками (цепочками байтов) будут производиться от младшего адреса к старшему.
5. STD; установить флаг направления (DF) = 1,обработка цепочек байтов производится от старшего адреса к младшему.
6. STI ; установить флаг прерываний (IF) = 1, разрешить прерывания от внешних устройств.
7.CLI; очистить флаг прерываний.
8. NOP; холостая операция.