Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Использование системных приреваний

1.7K
05 марта 2008 года
Denis_R
63 / / 15.02.2004
Как заставить работать прерывание
__asm{
int 13h
}
а то в MFC приложении при его выполнении вылетает ошибка, слышал что можно както отдельно асемблировать код и obj файл прекрипить к проекту.
Может кто знает и подскажет?
9.3K
06 марта 2008 года
iridum
175 / / 26.08.2007
Цитата:

Как заставить работать прерывание
__asm{
int 13h
}
а то в MFC приложении при его выполнении вылетает ошибка...


Насколько я знаю под современной виндой это у тебя не получится, надо использовать ф-и WinApi.

1.6K
06 марта 2008 года
Tdr
154 / / 13.11.2003
Виндовс тебя к прерываниям не пустит и правильно сделает.

Denis_R, тебе для чего это надо?
1.7K
06 марта 2008 года
Denis_R
63 / / 15.02.2004
Я сто процентно знаю что если написать на асме програму работающию с прерываниями биос то все будет работать. И знаю както один раз ктото говорил что отдельно писал на асме код а потом объктный файл прикрепрял к программе и все работало, только не помню использовал ли он прерывания. И если есть Api функции работы с дисководом мне надо большая часть функций 13 прерывания биоса.
3
06 марта 2008 года
Green
4.8K / / 20.01.2000
Цитата: Denis_R
Я сто процентно знаю что если написать на асме програму работающию с прерываниями биос то все будет работать.


Под Windows линейки NT (т.е. и XP и Vista) 13h прерывание ты вызвать (из ring 3) не можешь. Тебе же уже сказали.

Цитата: Denis_R

И знаю както один раз ктото говорил что отдельно писал на асме код а потом объктный файл прикрепрял к программе и все работало, только не помню использовал ли он прерывания.


... и было ли это под Windows... и на PC ли... :D

Цитата: Denis_R

И если есть Api функции работы с дисководом мне надо большая часть функций 13 прерывания биоса.


CreateFile позволяет обращение к логическим и физическим дискам.

1.7K
07 марта 2008 года
Denis_R
63 / / 15.02.2004
А ты возъми напиши на асме маленькую програмку с использованиям 13 прерывания и убидишся что я был прав, а работае потаму что в винде есть такая вещь как имуляция дос, а вот если попытаешся к винту доступ толучить то всякая лобуда будет в буфере при чтении.
3
07 марта 2008 года
Green
4.8K / / 20.01.2000
Цитата: Denis_R
А ты возъми напиши на асме маленькую програмку с использованиям 13 прерывания и убидишся что я был прав, а работае потаму что в винде есть такая вещь как имуляция дос, а вот если попытаешся к винту доступ толучить то всякая лобуда будет в буфере при чтении.


А какая разница на чем писать, на асм или на С или С++? :)
"Эмуляция дос" (VDM) не предоставляет доступ к диску через int 13h.

Wikipedia:

Цитата:

Newer protected mode operating systems such as Microsoft Windows NT derivatives (e.g. NT4, 2000 XP and 2003 Server) or Linux with dosemu, will intercept the call and pass it to the operating system's native disk I/O mechanism.

1.6K
07 марта 2008 года
Tdr
154 / / 13.11.2003
Цитата: Denis_R
А ты возъми напиши на асме маленькую програмку с использованиям 13 прерывания и убидишся что я был прав, а работае потаму что в винде есть такая вещь как имуляция дос, а вот если попытаешся к винту доступ толучить то всякая лобуда будет в буфере при чтении.



Чувак. Тебе русским языком сказано. НЕЛЬЗЯ!
Эмуляция ДОС работает в программах написаных для ДОС. При этом доступ к прерываниям программам не дается ни в каком виде. Это ЭМУЛЯЦИЯ

1.7K
07 марта 2008 года
Denis_R
63 / / 15.02.2004
Tdr а какая разница получу я достук к сектру на дискете на примую или через Эмуляцию. А вобще почитай луцши защищенный режим процессора 386, там про это написано. И еще раз спрошиваю кто нибуть знает как средствами Windows получить доступ на примую к сектору на дискете.
3
07 марта 2008 года
Green
4.8K / / 20.01.2000
Цитата: Denis_R
Tdr а какая разница получу я достук к сектру на дискете на примую или через Эмуляцию. А вобще почитай луцши защищенный режим процессора 386, там про это написано. И еще раз спрошиваю кто нибуть знает как средствами Windows получить доступ на примую к сектору на дискете.


Тебе же уже сказали: CreateFile позволяет обращение к логическим и физическим дискам. А с помощью int 13 - никак, запрещает ОС доступ к диску через это прерывание.

1.6K
10 марта 2008 года
Tdr
154 / / 13.11.2003
Цитата: Denis_R
Tdr а какая разница получу я достук к сектру на дискете на примую или через Эмуляцию.


Через эмуляцию ты никуда доступ не получишь. ЭТО ЭМУЛЯЦИЯ! Создается видимость доступа. Почитай, что такое эмулятор.

Цитата: Denis_R
А вобще почитай луцши защищенный режим процессора 386, там про это написано.


о_0 Есть мозг у человека? Ты еще про 8086 вспомни. Или ты под 386 пишешь? Архитектура процессора и архитектура ОС несколько разные вещи.

Цитата: Denis_R
И еще раз спрошиваю кто нибуть знает как средствами Windows получить доступ на примую к сектору на дискете.


Учи первоисточник
File Systems Technologies
http://technet2.microsoft.com/windowsserver/en/library/58bb0cab-2cb8-4d1d-97f9-c94e305140891033.mspx?mfr=true

NTFS Technical Reference
http://technet2.microsoft.com/windowsserver/en/library/81cc8a8a-bd32-4786-a849-03245d68d8e41033.mspx?mfr=true

FAT Technical Reference
http://technet2.microsoft.com/windowsserver/en/library/810c3217-77bb-4553-b6ce-3ff10dbdbac91033.mspx?mfr=true

1.6K
10 марта 2008 года
Vov4ick
476 / / 01.02.2007
Цитата: Tdr
о_0 Есть мозг у человека? Ты еще про 8086 вспомни. Или ты под 386 пишешь?


Да будет известно, что современные машины отличаются от 80386 в основном только дополнительными инструкциями. (SSE, MMX и прочая)

1.6K
10 марта 2008 года
Tdr
154 / / 13.11.2003
Цитата: Vov4ick
Да будет известно, что современные машины отличаются от 80386 в основном только дополнительными инструкциями. (SSE, MMX и прочая)



Первоисточник (http://download.intel.com/design/processor/manuals/253665.pdf):
The dual-core Intel Xeon processor LV is based on the same microarchitecture as Intel Core Duo processor, and supports IA-32 architecture.

Ключевое слово - supports. Они не работают в этом режиме, а поддерживают его.

Вот подробнее:
Compatibility mode (sub-mode of IA-32e mode) — Compatibility mode permits most legacy 16-bit and 32-bit applications to run without re-compilation under a 64-bit operating system. For brevity, the compatibility sub-mode is referred to as compatibility mode in IA-32 architecture. The execution environment of compatibility mode is the same as described in Section 3.2. Compatibility mode also supports all of the privilege levels that are supported in 64-bit and protected modes. Legacy applications that run in Virtual 8086 mode or use hardware task management will not work in this mode. Compatibility mode is enabled by the operating system (OS) on a code segment basis. This means that a single 64-bit OS can support 64-bit applications running in 64-bit mode and support legacy 32-bit applications (not recompiled for 64-bits) running in compatibility mode. Compatibility mode is similar to 32-bit protected mode. Applications access only the first 4 GByte of linear-address space. Compatibility mode uses 16-bit and 32-bit address and operand sizes. Like protected mode, this mode allows applications to access physical memory greater than 4 GByte using PAE (Physical Address Extensions).

Короче, не стоит сравнивать телегу и самолет, только на том основании, что и там и тут есть колеса. ;)
Современные микроконтроллеры имеют больше возможностей чем упомянутые 386 (мир их праху).

1.6K
10 марта 2008 года
Vov4ick
476 / / 01.02.2007
Ещё бы они не были совместимыми. Это и называется одинаковой архитектурой. Микроархитектура процессоров естественно разная.
240
10 марта 2008 года
aks
2.5K / / 14.07.2006
Ну во первых одинакова архитектура не с современными машинами, а только с машинами на базе архитектуры x86. А во вторых в который раз обрати внимание на уже неаднократно акцентируемое. Архитектура ОС - это не архитектура железа. ОС запрещает такое. При чем тут возможности железа??? Ты пишешь сфот который выполняется под управлением ОС.
1.7K
11 марта 2008 года
Denis_R
63 / / 15.02.2004
Почитайте лучше по подробней про защищенный режим и поймете что ОС не чего не запрещает сама это былбы тотже DOS, а запрет на использование ресурсов и памяти появляется при входе в защищенный режим.
3
11 марта 2008 года
Green
4.8K / / 20.01.2000
Ты сам то читал?

http://courses.ece.uiuc.edu/ece390/books/labmanual/realprot-diff-interrupts.html
Цитата:

in protected mode, the Interrupt Descriptor Table can be anywhere in memory and is protected by the processor and the OS.



http://www.microsoft.com/technet/archive/winntas/training/ntarchitectoview/ntarc_8.mspx?mfr=true

Цитата:

The kernel treats interrupts on all machines in a similar way by virtualizing the interrupt processing mechanism. The hardware abstraction layer (HAL) is responsible for providing a virtual interrupt mechanism to the kernel.



http://book.itzero.com/read/microsoft/0507/Microsoft.Press.Microsoft.Windows.Internals.Fourth.Edition.Dec.2004.internal.Fixed.eBook-DDU_html/0735619174/ch03lev1sec1.html

Цитата:

At system boot time, Windows fills in the IDT with pointers to the kernel routines that handle each interrupt and exception.



P.S. Прошу модератора закрыть тему в виду невменяемости автора.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог