Форум: "Основная";
Текущий архив: 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.048 c