Цитата
MOV AL, 20H ; ???????????
OUT 20H, AL ; ???????????
Я вот тоже этого не понял. Какое это ты тут аппаратное прерывание завершаешь?
Цитата
@lo2: mov cx,200
А это к чему?
Цитата
MOV AX, 4C00H
INT 21H ----------- Тут выполнение заканчивается. Вообще.
MOV AL, 20H ; ?????? ----------- До этого бреда дело уже не доходит.
OUT 20H, AL ; ??????
А тут твоя основная ошибка:
Цитата
mov flag, 0000h
Эта команда интерпретируется как "MOD [DS:flag],0", не грех кстати размер указать, а вот DS к этому моменту может оказаться иным.
И не аппаратное прерывание 05h - не надо его завершать таким образом. Или ты просто решил наторкать эти строки повсеместно, так на всякий случай???
И ещё 1 вопрос: ты уверен, что INT 05h вызывается из INT 09h при нажатии на Shift+PrtSc? Я попробывал - у меня не получилось....