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

Вниз

Адресация порта Longint ?? Как?   Найти похожие ветки 

 
M@X   (2004-04-21 13:08) [0]

Доброго время суток.

Подскажите, как адресовать порт 80000000 ?
Обычный Port[$2f8] модет тока до 65000


 
M@X   (2004-04-21 13:08) [0]

Доброго время суток.

Подскажите, как адресовать порт 80000000 ?
Обычный Port[$2f8] модет тока до 65000


 
Fay ©   (2004-04-21 13:10) [1]

Нет теких портов


 
Fay ©   (2004-04-21 13:10) [1]

Нет теких портов


 
M@X   (2004-04-21 13:13) [2]

В Сях это выглядит следующим образом:

outpd(0xCF8, 0x80000000l | devnum | addr)

Перевел на Паскаль:


Port[$CF8]:=devnum;
Port[Как_его_адресовать_фиг_знает]:=devnum;



Может я ошибся с переводом с японского ;-)


 
M@X   (2004-04-21 13:13) [2]

В Сях это выглядит следующим образом:

outpd(0xCF8, 0x80000000l | devnum | addr)

Перевел на Паскаль:


Port[$CF8]:=devnum;
Port[Как_его_адресовать_фиг_знает]:=devnum;



Может я ошибся с переводом с японского ;-)


 
Fay ©   (2004-04-21 13:16) [3]

Ты ошибся с переводом с русского. Нет таких портов.
$80000000 <> 80000000


 
Fay ©   (2004-04-21 13:16) [3]

Ты ошибся с переводом с русского. Нет таких портов.
$80000000 <> 80000000


 
M@X   (2004-04-21 13:20) [4]

Несомненно $80000000 > 8000000

А адресовать то его как ??? Суть вопроса то не меняется


 
M@X   (2004-04-21 13:20) [4]

Несомненно $80000000 > 8000000

А адресовать то его как ??? Суть вопроса то не меняется


 
Dimka Maslov ©   (2004-04-21 13:24) [5]

Точный перевод с ненашенского на нашенский;

Port[$CF8] := $80000001 or devnum or addr;


 
Dimka Maslov ©   (2004-04-21 13:24) [5]

Точный перевод с ненашенского на нашенский;

Port[$CF8] := $80000001 or devnum or addr;


 
Digitman ©   (2004-04-21 13:25) [6]


> M@X   (21.04.04 13:20) [4]


ты полез не в те дебри

речь, очевидно, ты ведешь о Memory Мapped I/O Port - технологии современных процессоров

для доступа к порту, отображенному на АП физ.памяти, необходимо иметь CPL=0 и пользоваться ассемблерными инструкциями MOV, AND, OR


 
Digitman ©   (2004-04-21 13:25) [6]


> M@X   (21.04.04 13:20) [4]


ты полез не в те дебри

речь, очевидно, ты ведешь о Memory Мapped I/O Port - технологии современных процессоров

для доступа к порту, отображенному на АП физ.памяти, необходимо иметь CPL=0 и пользоваться ассемблерными инструкциями MOV, AND, OR


 
M@X   (2004-04-21 13:42) [7]

Но при этом дирректива asm не позволяет ассемблерными функциями обращатся к портам ?


 
M@X   (2004-04-21 13:42) [7]

Но при этом дирректива asm не позволяет ассемблерными функциями обращатся к портам ?


 
M@X   (2004-04-21 16:31) [8]

Да, и еще нарыл в на-Си_льнике финт ушами:

rg.ecx=0x030000l

Я так понимаю, что нужно сделать:

mov cx, $030000

Но при этом - значение LongInteger !!!
Как это безобразие интерпретеровать ... HELP!!!


 
M@X   (2004-04-21 16:31) [8]

Да, и еще нарыл в на-Си_льнике финт ушами:

rg.ecx=0x030000l

Я так понимаю, что нужно сделать:

mov cx, $030000

Но при этом - значение LongInteger !!!
Как это безобразие интерпретеровать ... HELP!!!


 
M@X   (2004-04-21 16:33) [9]

Кто вообще Си придумал :-(


 
M@X   (2004-04-21 16:33) [9]

Кто вообще Си придумал :-(


 
M@X   (2004-04-21 16:39) [10]

Привожу кусок текста поиска PCI устройства:


rg.eax = FIND_PCI_CLASS_CODE; //Он же = 0xB103
rg.ecx = 0x030000l;
rg.esi = i; //По очереди опрашиваются устройства
_dx_real_int (0x1A, &rg);
num[i] = rg.ebx;


Я так понимаю:

function ReadFromDevice(i:Integer):Integer;
begin
asm
 mov ax,$b103;
 mov cx, $030000;
 mov si, i;
 int $1a;
 mov @Result, bx;
end
end;


 
M@X   (2004-04-21 16:39) [10]

Привожу кусок текста поиска PCI устройства:


rg.eax = FIND_PCI_CLASS_CODE; //Он же = 0xB103
rg.ecx = 0x030000l;
rg.esi = i; //По очереди опрашиваются устройства
_dx_real_int (0x1A, &rg);
num[i] = rg.ebx;


Я так понимаю:

function ReadFromDevice(i:Integer):Integer;
begin
asm
 mov ax,$b103;
 mov cx, $030000;
 mov si, i;
 int $1a;
 mov @Result, bx;
end
end;


 
Dimka Maslov ©   (2004-04-21 16:43) [11]

регистры cx и ecx различаешь? или ты на Тurbo-Pascale пишешь?


 
Dimka Maslov ©   (2004-04-21 16:43) [11]

регистры cx и ecx различаешь? или ты на Тurbo-Pascale пишешь?


 
M@X   (2004-04-21 16:48) [12]

На нем родном и пишу :-)
Прога Си_шная то под досей


 
M@X   (2004-04-21 16:48) [12]

На нем родном и пишу :-)
Прога Си_шная то под досей


 
Dimka Maslov ©   (2004-04-21 17:25) [13]

В Турбо-Паскале нет 32-битного ассемблера :(


 
Dimka Maslov ©   (2004-04-21 17:25) [13]

В Турбо-Паскале нет 32-битного ассемблера :(


 
Digitman ©   (2004-04-21 17:28) [14]


> M@X


бросай свой ТР
он не даст тебе возможности доступа ко ВСЕМ ресурсам 32-разр. ОС


 
Digitman ©   (2004-04-21 17:28) [14]


> M@X


бросай свой ТР
он не даст тебе возможности доступа ко ВСЕМ ресурсам 32-разр. ОС


 
M@X   (2004-04-21 17:41) [15]

Обидно, досадно, но уже поставил Дельфина ...


 
M@X   (2004-04-21 17:41) [15]

Обидно, досадно, но уже поставил Дельфина ...


 
Dimka Maslov ©   (2004-04-21 18:02) [16]

>M@X   (21.04.04 17:41) [15]
Всё равно не поможет


 
Dimka Maslov ©   (2004-04-21 18:02) [16]

>M@X   (21.04.04 17:41) [15]
Всё равно не поможет


 
Digitman ©   (2004-04-21 18:12) [17]


> M@X


Дельфин тебе напрямую может помочь только тем, что в ассемблерных вставках допускает инструкции MOV, OR, AND c операндами - 32-разрядными регистрами  ... не более того

а чтобы иметь доступ к физ.памяти (т.е. успешно выполнить, например, инструкцию MOV [$80000000], eax), в ШТАТНОМ случае необходимо иметь готовый либо разработать собственный ДРАЙВЕР РЕЖИМА ЯДРА, который позволит обращаться к физ.АП на уровне CPL=0


 
Digitman ©   (2004-04-21 18:12) [17]


> M@X


Дельфин тебе напрямую может помочь только тем, что в ассемблерных вставках допускает инструкции MOV, OR, AND c операндами - 32-разрядными регистрами  ... не более того

а чтобы иметь доступ к физ.памяти (т.е. успешно выполнить, например, инструкцию MOV [$80000000], eax), в ШТАТНОМ случае необходимо иметь готовый либо разработать собственный ДРАЙВЕР РЕЖИМА ЯДРА, который позволит обращаться к физ.АП на уровне CPL=0


 
M@X   (2004-04-21 18:47) [18]

Не помогает ... даже обходными путями ...
FreePascal кто нть пробовал? Он вроде 32 разрядный


 
M@X   (2004-04-21 18:47) [18]

Не помогает ... даже обходными путями ...
FreePascal кто нть пробовал? Он вроде 32 разрядный


 
Digitman ©   (2004-04-21 18:50) [19]


> M@X   (21.04.04 18:47) [18]


Что ? не помогает ?

ты про CPL=0 вник или не вник ?

обычное приложение (по барабану, Freepascal оно или ХрюPascal) выполняется с PL=3, так что без драйвера режима ядра - даже не дергайся !


 
Digitman ©   (2004-04-21 18:50) [19]


> M@X   (21.04.04 18:47) [18]


Что ? не помогает ?

ты про CPL=0 вник или не вник ?

обычное приложение (по барабану, Freepascal оно или ХрюPascal) выполняется с PL=3, так что без драйвера режима ядра - даже не дергайся !


 
M@X   (2004-04-21 18:58) [20]

Да вник я про CPL ...
Неужели нет какого нибудь ХрюПаскального компилятора. несущего избавление от драйвера ядра ...
или проще компоненту каку-нибудь готувую ..


 
M@X   (2004-04-21 18:58) [20]

Да вник я про CPL ...
Неужели нет какого нибудь ХрюПаскального компилятора. несущего избавление от драйвера ядра ...
или проще компоненту каку-нибудь готувую ..


 
M@X   (2004-04-21 19:26) [21]

TMT Pascal - есть панацея, все получилось лучшим образом ;-)))


 
M@X   (2004-04-21 19:26) [21]

TMT Pascal - есть панацея, все получилось лучшим образом ;-)))



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

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

Наверх





Память: 0.54 MB
Время: 0.034 c
14-1081972905
l_igor
2004-04-15 00:01
2004.05.09
Windows XP


1-1082540158
4aynik
2004-04-21 13:35
2004.05.09
Да как же открыть типиз-й файл для чтения? даже смешно :)


4-1079581149
StPu
2004-03-18 06:39
2004.05.09
Мастера подскажите как убрать кнопку "Развернуть"


1-1082614906
JT
2004-04-22 10:21
2004.05.09
HTML Help


3-1081431044
GIL
2004-04-08 17:30
2004.05.09
добавление записи с блобовыми полями через SQL





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