Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-8473
Станислав
2003-10-23 15:16
2003.11.03
Установить курсор в требуемую позицию в TEdit


4-8727
Maxim
2003-08-28 21:32
2003.11.03
Как определить, запущено ли приложение


14-8600
skunk
2003-10-15 12:46
2003.11.03
SDK


8-8550
dozer
2003-06-29 01:05
2003.11.03
ShockwaveFlash в Delphi


1-8523
Igit
2003-10-23 17:04
2003.11.03
LPVOID в Дельфи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский