Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
ВнизКонсольное приложение Найти похожие ветки
← →
aimsyslv (2003-10-22 20:16) [0]
program AnsiAscii;
{$APPTYPE CONSOLE}
uses
SysUtils,
Common in "..\Modules\Common.pas";
var
s:ansistring;
begin
{ TODO -oUser -cConsole Main : Insert code here }
s:="??????$";
s:=rus(s);
asm
mov ah, 09h;
lea dx, s;
int 09h;
end;
readln;
end.
Господа! Не смейтесь, если вопрос тупой.
Почему сей кусок кода не выводит строку "привет"?
← →
aimsyslv (2003-10-22 20:52) [1]Либо вопрос слишком сложный, либо....
← →
default (2003-10-22 20:58) [2]почитай что-нибудь о прерываниях в защищённом режиме...
← →
Daniel (2003-10-22 21:07) [3]В ds забыл адрес сегмента данных загрузить :))))))))))
← →
default (2003-10-22 23:11) [4]Daniel (22.10.03 21:07) [3]
какая на... загрузка сегментного регистра в защищённом режиме
процессора на 3 уровне привилегий...
← →
aimsyslv (2003-10-23 12:53) [5]Позвольте, разве я не могу работать с консольным приложением, как с прогой в реальном режиме DOSa?
← →
Digitman (2003-10-23 12:57) [6]
> aimsyslv
не можешь.
консольное приложение - это Win-, а не DOS-приложение
← →
aimsyslv (2003-10-23 13:03) [7]Хм, то есть прерывания DOS там не работают?
← →
Digitman (2003-10-23 13:20) [8]
> aimsyslv
кое-какие работают.
но вызываются они иначе и не так просто, как тебе кажется
а зачем тебе весь этот геморрой ?)
напиши просто WriteLn("MyString") - и всех делов)
← →
Jel (2003-10-23 14:27) [9]
> int 09h;
>
а может лучше все-таки INT 21h ?
← →
aimsyslv (2003-10-23 20:48) [10]Проверил. Действительно в гольном DOSe консольное приложение не работает. Нет мне всё жё интересно чем консольное приложение отличается от обычного и как это связано с Dos-ом
← →
willys (2003-10-23 21:34) [11]консольное приложение - это самое обычное Win-32 приложение. разумеется, выполняется оно под виндами. так же разумеется, что досовских прерываний под виндами нет и быть не может (не рассматривая случай эмуляции доса). да и биосовских прерываний там нет...
← →
Dima_dvp (2003-10-24 00:49) [12]Да willys прав на все 99. Только вот прерывания ВСЕ и досовские и BIOS есть. И делают они тоже самое, только по другому. Кое-что конечно запрещают - поробуй вызвать int 26h(помоему это запись сектора на диск, если я не перепутал номер) - Для floppy запишет и не спросит. Для какого-нить диска F: тоже запишет, но спросит(окошко с предупреждением выдаст), ну а если системный раздел попробывать перезаписать, то будет беда - не разрешит ну никак.
Так, что есть-то они есть, но зачем они??? Чтобы DiskEdit запускать в учебных целях для ознокомления с файловой системой и то в ReadOnly.
Забыть пора эти прерывания, на носу новая эра - эра исключений:))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c