Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2011, 09:55   #1
sad101010
 
Регистрация: 14.01.2010
Сообщений: 8
Лампочка Все без DOS!? Реально ли?

У меня такой вопрос:
Как на чистом асме без int всяких без дос, хотябы считать символ?
Т.е. как реализовать на чистом асме что-то типа:
КОД:
mov ah,01h
int 21h
Конец кода, а помечаю так потому, что не работает эта пометка кода!
Я слышал что Windows XP,NT написаны без использования Дос вообще.
Так как реализовываются эти стандартные Досовские прерывания?
sad101010 вне форума Ответить с цитированием
Старый 15.03.2011, 10:22   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

sad101010
Можно использовать чтение буфера клавиатуры по адресам
0040:001Ah указатель на логическое начало буфера
0040:001Ch указатель на логический конец буфера
0040:001Eh память для хранения ASCII/скан-кодов начало
0040:003Eh конец буфера
0040:0080h указатель на физическое начало буфера
0040:0082h указатель на физический конец буфера
Для вывода на экран можно обращаться напрямую в память видео-адаптера
Очень многое можно сделать через порты ввода/вывода
Вопрос -- только зачем тебе этот геморрой?
И не путай теплое и мягкое ДОС и Виндовс это разные операционные системы, поэтому
Цитата:
Сообщение от sad101010
Windows XP,NT написаны без использования Дос вообще
Давно уже замечено, что в различных программах приходится выполнять одни и те же действия, например, выводить символы на экран или вводить их с клавиатуры, причем реализация этих действий требует детального знания тех или иных устройств компьютера. Чтобы избавить авторов программ от знания этих деталей и необходимости выписывать эти действия в каждой программе заново, такие часто повторяющиеся действия описывают один раз в виде соответствующих процедур и включают их в состав ОС, чтобы все программы могли ими пользоваться. Поэтому повторяю свой вопрос -- Для чего понадобилось отказываться от функций ДОС или БИОС?

Последний раз редактировалось Mikl___; 15.03.2011 в 10:36.
Mikl___ вне форума Ответить с цитированием
Старый 15.03.2011, 14:08   #3
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Да работают в НТ дос программы, только почти никакие и считай что никогда. Там же эмуляция доса-виртуальная машина, делающая вид, что она имеет реальные железяки и прочее. То есть никакие эти ваши инты на процессоре под НТ не выполняются. Другое дело системы на основе доса всякие эти 95е и прочие 98е окна, они-надстройка над досом. Вообщем читайте книжки и все вы поймете почему сейчас совсем не то, что 10 лет назад
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Старый 15.03.2011, 21:25   #4
sad101010
 
Регистрация: 14.01.2010
Сообщений: 8
По умолчанию

Про чистый асм я в книге прочитал. А без дос хочу написать прогу, чтобы мозги загудели и им как дельфи после паскаль по маслу шёл...
sad101010 вне форума Ответить с цитированием
Старый 16.03.2011, 08:34   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
А без дос хочу написать прогу, чтобы мозги загудели
и
Цитата:
им как дельфи после паскаль по маслу шёл...
Не связано и даже в какой-то мере вредно. А по теме: пишите свой загрузчик, реализуете свою работу с видео, функции наподобие принтф и выводите...

П.С, если уж так хочтся можно посмотреть осдев форумы
p51x на форуме Ответить с цитированием
Старый 16.03.2011, 08:46   #6
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Помню на каком-то форуме кто-то рассказывал что он сделал курсовик по ассемблеру. Прога переводила процессор в защищённый режим и что-то ещё делала (это уже не важно). Так вот его проподаватель всё время утверждал что такая программа никогда не заработает, мол там есть несуществующие команды и регистры (аля ldgt, mov cr0, ххх) и вообще используемая в программе модель памяти просто-напросто абсурдна. Какое было изумление этого "профессора" когда он увидел что программа работает.

Вывод: выкидывайте свои книжки 80-90х годов. Больше всего удивляет когда такие "профессоры" и студенты начитавшиеся таких книжек парят про оптимизацию программ - типа если мы применим вот эту инструкцию вместо этой мы выиграем два такта процессора. Они даже не знают что некоторые приёмы на современных процессорах просто-напросто бестолковые, они не знают что например, за счёт спаривания инструкций, некоторые команды выполняются одновременно.

Последний раз редактировалось rpy3uH; 16.03.2011 в 08:53.
rpy3uH вне форума Ответить с цитированием
Старый 16.03.2011, 09:05   #7
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

rpy3uH
Беда не в том, что студенты читают книжки 80-90х годов. Беда в том, что они вообще ничего не читают, а только требуют готовые решения Как пример топик redwhite деление чисел или топик Renat21 Сложение двух чисел вводимых с клавиатуры

Последний раз редактировалось Mikl___; 16.03.2011 в 09:14.
Mikl___ вне форума Ответить с цитированием
Старый 16.03.2011, 09:34   #8
Studik
Пользователь
 
Аватар для Studik
 
Регистрация: 07.05.2010
Сообщений: 34
По умолчанию

Грузин. Ты говоришь что некоторые команды выполняются одновременно:
Цитата:
Они даже не знают что некоторые приёмы на современных процессорах просто-напросто бестолковые, они не знают что например, за счёт спаривания инструкций, некоторые команды выполняются одновременно.
А можно ссылочку на подобные приемы))) очень уж заинтреговала эта возможность в ассемблере))))
Если бы все люди были идеальны, то любого человека можно было бы заменить любым другим...
Studik вне форума Ответить с цитированием
Старый 16.03.2011, 09:39   #9
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

http://www.enlight.ru/faq3d/articles/61.htm самый первый пункт

Основной приём это правильно располагать команды в программе.
rpy3uH вне форума Ответить с цитированием
Старый 17.03.2011, 05:04   #10
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

rpy3uH
Спасибо за ссылку!
Mikl___ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как скопировать все данные с листа без формул? PashaNastya Microsoft Office Excel 4 21.08.2010 14:00
Регулярные выражения. Выбрать все начиная с 1 и заканчивая 2, но без 3 vvzone PHP 9 02.04.2010 16:21
OC без СД, и все сложно... oLeo Операционные системы общие вопросы 8 26.12.2009 19:44
Процедуры без Bios и без Dos,бывают? codeok Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 31.10.2008 03:17