Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Assm - Assembler - aktualni vopros

Ответить
Настройки темы
Assm - Assembler - aktualni vopros

Аватара для Guest

Guest



Профиль | Цитировать


Zdravstvuite!

Moi vopros otnositsa k "real mode". Izvestno, chto bolshinstvo processov bejit v tak nazivaemom "protected mode".  Izmenit "Machine Status Word" mojno, no tolko na real mode chtobi pereiti na protected mode. A esli ya hochu pereiti s protected mode na real mode?


Spasibo

Отправлено: 22:12, 17-07-2004

 
mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


я правильно поняла ? Вы хотите вернуть машину в режим совместимости с процессором 8088 (ХТ) (real mode) - то есть иметь доступ только 640 Кбайт памяти ?
слева от окошка ввода ссобщения находится ссылка Латиница -> Кирилица - это не для режима ядра, а против транслита

Отправлено: 22:28, 17-07-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Guest

Guest


Профиль | Цитировать


Похоже, да
Правда, если программа работает в Windows, то винда обидится и ее выгрузит...

Отправлено: 05:20, 18-07-2004 | #3


Аватара для Guest

Guest


Профиль | Цитировать


За латиницу - спасибо.
Насчёт реал моде:
Реал моде мне нужен- например, чтобы можно было писатъ напрямик на хард диск - по моему, в защищенной моде ето нелъзя.
Насчёт 640 Кб. Не уверен насчёт етого. По моему,реал мод просто дает доступ к некоторим интерраптам (например, директ диск аксесс), но даже если доступ ограничен только 640 Кб,  то можно наверное поменять обратно на протектед мод.
Насчёт Винды: ну вот я как раз и не хочу чтобы выгружала

Отправлено: 10:51, 18-07-2004 | #4



Сообщения: 196
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Guest
Цитата:
Насчёт реал моде:
Реал моде мне нужен- например, чтобы можно было писатъ напрямик на хард диск - по моему, в защищенной моде ето нелъзя.
Что за бред. Если виндовс не дает прямого доступа к винту, то причем здесь защищенный режим. Ведь когда мы запускаем дос-приложение в винде, то просто идет эмуляция всей платформы мс-дос.
Цитата:
По моему,реал мод просто дает доступ к некоторим интерраптам (например, директ диск аксесс)
Впервые слышу про такие сервисы, хотя все может быть (ведь есть регистры типа TR6, TR7 для контроля постраничной с-мы распределения памяти, как раз для защ. режима)
Цитата:
доступ ограничен только 640 Кб
Это если com-приложение, пишите exe и все путем (хехе только прийдется попариться с сегментно-оффсетной адресацией).

Короче пишите win32 приложение и не парьтесь!!!

Отправлено: 16:41, 18-07-2004 | #5

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Kuper
не горячимся, все хорошо По-моему (может быть из-за русского-английского) произошла подмена понятий реального и защищенного режима и колец защищенности (от ядра до пользовательских приложений).
Guest,
Давайте сначала все-таки уточним:
Понятие различных режимов работы процессоров Intel x86 появилось, начиная с процессора 80286. Для совместимости с предыдущими версиями семейства (от 8086/88) 286 -ом было реализовано два режима:
1) режим эмуляции 8086 (режим реального адреса) и
2) защищенный режим. Именно в нем реализуются все *возможности процессора.
В следующих поколениях именно защищенный режим становится основным режимом работы.

Цитата:
Для тех, кто ещё не знаком с защищённым режимом работы, скажем, что этот режим является основным и естественным режимом работы процессоров i80286, i80386 и i80486. Только в защищённом режиме полностью реализуются все возможности, заложенные в архитектуру процессоров. Защищённый режим работы используется во многих программных продуктах, таких как операционные системы UNIX, XENIX, OS/2, PC-MOS, QNX, Desk View, сетевых операционных системах NOVELL, в операционной системе Microsoft WINDOWS, в драйверах расширенной памяти EMM386 и QEMM, в СУБД ORACLE. Хорошо известная система разработки программного обеспечения Borland C также может работать в защищённом режиме, при этом её производительность заметно возрастает. Перспективная операционная система Microsoft WINDOWS NT также использует защищённый режим работы процессора. Новая версия 6.0 операционной системы MS-DOS будет активно использовать защищённый режим работы процессора.
Это цитата из книги Александр Фролов, Григорий Фролов
Том 6, М.: Диалог-МИФИ, 1993, Защищенный режим процессоров Intel 80286/80386/80486 (кстати оочень рекомендую ) По поводу адресации памяти в этих режимах, чтобы не было непоняток - можно почитать в этой же книге
Становится понятно, почему все переходят в защищенный режим, а не наоборот, правда ?
Если же Вам нужен прямой доступ к памяти и устройствам, то Ваш путь идет к написанию драйверов и, (если пишете под винды), соответственно, к штудированию DDK

Отправлено: 20:24, 18-07-2004 | #6


Аватара для Dimon

Ветеран


Сообщения: 551
Благодарности: 13

Профиль | Отправить PM | Цитировать


Guest
Цитата:
Реал моде мне нужен- например, чтобы можно было писатъ напрямик на хард диск - по моему, в защищенной моде ето нелъзя.
А причем здесь режимы процессора?
Для начала уточним: писать на винт, например, через int 13h? Если да, тогда риал/протектед моуд здесь моуд не причем - это стандартное BIOS-прерывание. Здесь важнее то, под какой ОСью писать: DOS/Win9x - позволят, WinNT - нет (только через АПИшку).
Или я что-то не понимаю?

-------
Патроны кончаются... Санитары близко... Всем пока


Отправлено: 21:01, 18-07-2004 | #7


Аватара для Guest

Guest


Профиль | Цитировать


Цитата:
Что за бред. Если виндовс не дает прямого доступа к винту, то причем здесь защищенный режим. Ведь когда мы запускаем дос-приложение в винде, то просто идет эмуляция всей платформы мс-дос.
Nu vot dlia etogo mne on i nujen. Windows, kak ti i sam zametil, ne daet priamogo dostupa k vintu. A v real mode, po moemu, vse eto mojno oboiti.

Цитата:
Впервые слышу про такие сервисы, хотя все может быть (ведь есть регистры типа TR6, TR7 для контроля постраничной с-мы распределения памяти, как раз для защ. режима)
Nu vot ya proboval sdelat direct disk access s pomoshiu interruptov, a Windows 2000 ne dal. Naskolko ya polagaiu, v real mode eto vozmojno.

Dimon
Цитата:
Здесь важнее то, под какой ОСью писать: DOS/Win9x - позволят, WinNT - нет (только через АПИшку).
Nu vot ya i hochu sdelat tak, chtobi mojno bilo pisat nezavisimo ot OSi.

Цитата:
не горячимся, все хорошо *По-моему (может быть из-за русского-английского) произошла подмена понятий реального и защищенного режима и колец защищенности (от ядра до пользовательских приложений).
Nu ne znaiu....po moemu kolza (rings) - eto zavisit ot OS, t.e. OS reshaet kakoi programme kakoe kolzo (ot nulia do trex). Bolshinstvo program bejit v tretiem kolze. A real mode - eto uje *zavisit ot processora a ne ot OS. Tak vrode? Sobstvenno, dlia direct disk access mojno ispolzovat i kolza - toje interesni sposob, no eto uje drugaya tema.

mar
Za knigu bolshoe spasibo. Nachal chitat, vrode tolkovo vse. Chtenie prodolju.

Цитата:
Если же Вам нужен прямой доступ к памяти и устройствам, то Ваш путь идет к написанию драйверов и, (если пишете под винды), соответственно, к штудированию DDK
Nu vot, naprimer k driveram. Chestno govoria, ya sam eshe ne znaiu, dlia chego mne eto. Poka chto tolko dlia lubopitstva; ya voobhse daje ne professionalni programmist. Kak govoril Lenin: uchitsa, uchitsa, i uchitsa.

Offtopic: izvinite, ya pomnu o ssilke na kirillitzu, no kak to namnogo privichnee tak pisat. Nadeius ne obidites.

Отправлено: 03:36, 19-07-2004 | #8


Пользователь


Сообщения: 65
Благодарности: 1

Профиль | Отправить PM | Цитировать


1)прямой доступ к железу возможен как в реальном, так и в защищенном режиме работы (иначе как бы драйвера в винде работали?)
2) как уже было сказано, dos/win9x дают прямой доступ к железу, winnt/2000 - нет. Это значит, что в dos/9x можно получить доступ к винту 3 способами: напрямую(через порты), через BIOS (прерывание 13h) и через API самой операционной системы ( для DOS это INT 21h). В NT/2000 первые два варианта для обычных приложений недоступны - прямой доступ к железу есть _только_ у драйверов (ну, и у ядра системы, ессесно).
3)защищенный режим он на то и защищенный, что из него нельзя перейти в реальный, если ОС этого не позволяет сделать.
А иначе какой смысл во всей этой защите, если любая программка может ее всю завалить?
Поэтому переход в реальный режим работы доступен _только_ ядру системы, даже драйвера этого не могут.

Из вышесказанного вывод:
либо штудируй DDK, как тебе советует mar - тогда сможешь из винтукея к винту обращаться,
либо ставь себе DOS или Win9x и юзай 13h

Если пишешь что-нибудь серьезное - лучше первый вариант, а если "попробовать как оно работает" - то второй, причем лучше даже DOS, а не Win9x - тут тебе и настоящий real mode и винт угробить шансов меньше имхо.

-------
Если долго мучиться - что-нибудь заглючиться.
Если долго глючиться - ну... а винду пераставлять не пробовали? :)


Отправлено: 17:56, 19-07-2004 | #9


Аватара для bgg0408

Модер Железа


Сообщения: 1557
Благодарности: 3

Профиль | Сайт | Отправить PM | Цитировать


Dread Knight
Цитата:
даже драйвера этого не могут.
В винде могут Только лучше этого не делать... Драйвера винды выполняются в нулевом кольце защиты
Цитата:
Если пишешь что-нибудь серьезное - лучше первый вариант, а если "попробовать как оно работает" - то второй, причем лучше даже DOS, а не Win9x - тут тебе и настоящий real mode и винт угробить шансов меньше имхо.
А еще лучше поставить VMware Workstation или Virtual PC, туда ОСь и свою кривую программу и не портить никакого железа.
Guest
Цитата:
A v real mode, po moemu, vse eto mojno oboiti.
Вообще-то это можно в любом режиме обойти при наличии соотвествующих знаний об устройстве операционки.
Цитата:
chtobi mojno bilo pisat nezavisimo ot OS
А вот этого не получится Можно сделать следующее: придумать какой-то свой АПИ и реализовать его на каждой оси по своему. Тогда программа будет универсальной, но реализация АПИ будет зависеть от оси.
Цитата:
ispolzovat i kolza
Не путайте мягкое и теплое (с) Гоблин

-------
FreeBSD - forever


Отправлено: 19:41, 19-07-2004 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Assm - Assembler - aktualni vopros

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Assm - Assembler mikl Программирование и базы данных 1 13-04-2004 18:33
Assm - Помощь в Assembler'e Rish Программирование и базы данных 3 08-02-2004 19:21
Assm - Assembler BRAT2 Программирование и базы данных 39 15-01-2004 04:18
Assm - Assembler Jeka Ch Программирование и базы данных 2 19-09-2003 19:57
Assm - Assembler Guest Программирование и базы данных 2 18-07-2003 16:39




 
Переход