Lectures / 08
.pdfПример: инвертировать флаг
прерывания (бит 9 в EFLAGS)
|
|
pushf |
pushf |
|
|
pop ax |
|
mov bp, sp |
xor ax,0200h |
|
xor word ptr [bp],0200h |
push ax |
|
popf |
popf |
|
|
|
|
|
.386 pushf
xor dword ptr [esp], 00000200h popf
Функция DOS 01:
Ввод символа с эхо-печатью
Возвращает ASCII код символа в AL и отображает его на экране
mov ah,01h int 21h
AX
01
AH AL
Функция DOS 02:
Печать символа
Печатает символ из DL
|
DXAX |
AX |
|
|
|
02 |
|
|
|
‘A’ |
|
|
|
|
AH |
|
AL |
|
DH |
|
DL |
|
|
|
|
|
|
|
mov ah,02h mov dl,’A’ int 21h
Функция DOS 08:
Ввод символа без эхо-печати
Возвращает ASCII код символа в AL, не отображая его на экране
mov ah,08h int 21h
AX
08
AH AL
Функция DOS 09: Печать строки
ЭА строки в DX. Строка должна заканчиваться символом ‘$’
|
AX |
|
|
DX |
|
|
|
|
|
|
|
||
|
|
|
|
offset msg |
||
09 |
|
|||||
|
|
|
|
|
||
|
|
|
|
|
|
|
AH |
|
AL |
|
DH |
|
DL |
||
msg db |
“Hello”,13,10,’$’ |
|
|
|
|
|
||||
|
|
|
Смещение |
|
||||||
……………………………... |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
||||
mov |
ah,09h |
|
|
|
|
|
|
|
||
mov |
dx,offset msg |
|
|
|
|
|
|
|
||
int |
21h |
|
|
|
|
|
|
|
Функция DOS 40: Запись в файл или
устройство
ЭА строки в DX. Длина строки в CX.
mesg |
db ‘Любой текст’ |
|
……………………… |
|
|
mov |
AH, 40h |
; Номер функции |
mov |
CX, 10 |
; Число символов |
mov |
BX, 1 |
; Дескриптор (1 - экран) |
mov |
DX, offset mesg ; Адрес строки |
|
int 21h |
|
|