MOV AL,00
MOV BH,07
MOV CX,0000
MOV DX,184F
INT 10
выполняется в Паскале, если его поместить в ASM {...} END;
Теперь если перевед это в машинный код, получаем:
Цитата
-U
10A1:0100 B000 MOV AL,00
10A1:0102 B707 MOV BH,07
10A1:0104 B90000 MOV CX,0000
10A1:0107 BA4F18 MOV DX,184F
10A1:010A CD10 INT 10
10A1:0100 B000 MOV AL,00
10A1:0102 B707 MOV BH,07
10A1:0104 B90000 MOV CX,0000
10A1:0107 BA4F18 MOV DX,184F
10A1:010A CD10 INT 10
(это я скопировал из окна DEBUG)
Напишем программу на паскале:
BEGINПоявляется сообщение об ошибке:
WRITELN('DFDFDF');
READLN;
INLINE($B000/$B707/$B90000/$BA4F18/$CD10);
READLN;
END.
Цитата
Runtime error 104 at 0000:0059.
А если в концеприписать выход из прерывания:
INLINE($B000/$B707/$B90000/$BA4F18/$CD10/$CE);
То сообщение об ошибке:
Цитата
Runtime error 104 at 0000:005A.
- Почему возникает ошибка?
- Почему ошибки разные?
- Как сделать, чтобы очистка экрана работала нормально?