Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по программированию в MS-Dos   Найти похожие ветки 

 
JFX   (2003-07-02 13:58) [0]

необходимо написать целевую процедуру своего прерывания, которая выводила бы на экран слово "ДОС" и при этом не использовала прерывания 21h или 10h... эт через видеоадаптер что ли?


 
jel   (2003-07-02 14:41) [1]

При такой постановке задачи - только прямая запись в видеопамять.
Ну с int 21h все понятно, дос может еще и не быть загружена, но почему нельзя использовать int 10h - это же обрабатывает БИОС?


 
Smithson   (2003-07-02 15:29) [2]

написано же - ...целевую процедуру своего прерывания...
Кто сказал, что как раз 10h не пытается подменить?


 
HolyGlory   (2003-07-02 15:48) [3]

.model tiny
.186
.code
org 100h
start:
mov ax, 0b800h
mov es, ax
mov cx,3 ;длинна строки
mov si, offset kstr
mov di,0 ;выводим в левый верхний угол - можешь изменить
cld
rep movsw ;копирование строки слов
ret ;выход из com программы
kstr db "D",0f0h,"O",0f0h,"S",0f0h,0,0 ;можешь продолжить - сперва символ, потом аттрибут
end start


 
Soft   (2003-07-02 15:59) [4]

А что такое Биос? Это что-то вроде Делфи или VB?


 
Polevi   (2003-07-02 16:08) [5]

это операционная система такая


 
HolyGlory   (2003-07-02 16:12) [6]


> Polevi © (02.07.03 16:08)
> это операционная система такая

Тогда BeOS.


 
JFX   (2003-07-03 08:02) [7]

если писать в видеобуфер, то смысл писать целевую процедуру своего прерывания, может необходимо перехватить какое-нибудь прерывание, например, от таймера или еще что-либо.. а там уже писать напрямую... или зарезервировать свободное прерывание типа с 60h и по .... ??



 
Digitman   (2003-07-03 08:52) [8]


> смысл писать целевую процедуру своего прерывания


в ДОС это фигурирует под термином TRAP ("ловушка"), а не INTERRUPT ("прерывание").


> может необходимо перехватить какое-нибудь прерывание, например,
> от таймера или еще что-либо


> или зарезервировать свободное прерывание типа с 60h


это еще зачем ?)




 
JFX   (2003-07-03 09:13) [9]

>в ДОС это фигурирует под термином TRAP ("ловушка"), а не >INTERRUPT ("прерывание").
как раз наоборот в Виндовозе ставятся ловушки, а под ДОС-ом прерывания

> или зарезервировать свободное прерывание типа с 60h
постановка задачи ведь требует:
"написать целевую процедуру своего прерывания"


 
HolyGlory   (2003-07-03 14:39) [10]


> JFX ©

Блин, ты русским языком объяснить можешь чего тебе надо? Перехватить какое-нить прерывание, при вызове которого (мб с параметрами?) оно печатало на экран строку? Или просто написать ф-цию которая выводит чего-нить на экран? Или программу? По-моему того, что я тебе выложил должно хватить. Или поставь вопрос конкретнее.


 
Digitman   (2003-07-03 15:00) [11]


> в Виндовозе ставятся ловушки, а под ДОС-ом прерывания


чушь.
в "виндовозе" тоже самое называется "шлюз".
в ДОС же термин "шлюз" никогда не существовал, а была "ловушка" - механизм программного прерывания, концептуально идентичный "шлюзу" и базирующийся на одной и той же маш.инструкции.

И когда ты ведешь речь о "прерываниях", будь любезен уточнять, имеется ли ввиду механизм аппаратных либо программных прерываний !

То что тебе требуется, как я понял, включает в себя
- поиск в таблице векторов прерываний (программных и аппаратных) свободного вектора;
- установка вектора на точку входа в обработчик ловушки;
- собственно создание подпрограммы-ловушки, которая будет тем или иным способом работать с видеопамятью в том или ином видеорежиме


 
HolyGlory   (2003-07-03 15:14) [12]

Удалено модератором


 
Digitman   (2003-07-03 15:34) [13]


> HolyGlory


детский сад)))


 
HolyGlory   (2003-07-03 15:38) [14]

Удалено модератором
Примечание: Теперь увидел


 
JFX   (2003-07-04 05:30) [15]

to>>>Digitman © (03.07.03 15:00)
чушь.
в "виндовозе" тоже самое называется "шлюз".
в ДОС же термин "шлюз" никогда не существовал, а была "ловушка" - механизм программного прерывания, концептуально идентичный "шлюзу" и базирующийся на одной и той же маш.инструкции.

>>> ты что то путаешь..

И когда ты ведешь речь о "прерываниях", будь любезен уточнять, имеется ли ввиду механизм аппаратных либо программных прерываний !
>>>Зачем мне аппаратные прерывания? я же не обрабатываю входящие >>>запросы от аппаратуры...

То что тебе требуется, как я понял, включает в себя
- поиск в таблице векторов прерываний (программных и аппаратных) свободного вектора;
- установка вектора на точку входа в обработчик ловушки;
- собственно создание подпрограммы-ловушки, которая будет тем или иным способом работать с видеопамятью в том или ином видеорежиме

да.. именно так и сделаю.


to>>>HolyGlory (03.07.03 14:39)
часть того что ты выложил это уже средство вывода на экран, т.е. составляющая часть... спасибо.

>>>а кто данным форумом модерит?



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.008 c
3-67680
Александр Ч_
2003-06-26 16:58
2003.07.21
Перебор записей в DataSet


14-67988
Balkon
2003-07-03 11:05
2003.07.21
Вопрос по локализации приложений...


3-67705
ses
2003-06-27 11:06
2003.07.21
что быстрее работает


1-67770
Roksolan
2003-07-07 21:49
2003.07.21
Компонента WordApplication и запуск Ворда


4-68126
sapsi
2003-05-21 10:19
2003.07.21
Отловить Handle дочернего окна





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский