· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Попытка проверки наличия PCI BIOS

Посл.отвђт Сообщенiе


Дата: Дек 17, 2003 21:56:21

Програмка вызывает процедуру содержания

pci_present proc far

push edx


mov ah, 0B1h
mov al, 001h
int 1Ah

mov ax,00h
cmp edx, " ICP"
jnz next
mov ax,0001h
next:

pop edx

ret
pci_present endp

и проверяет, если вернуло 1 то PCI есть.
но программа в дос виснет
в 98 выдает сообщение о нарушении безопасности
про 2000 молчу

когда линковал, ругнулось что использую 32 битные регистры
но добавил ключ /3 и оно замолчало.

В чем тут может быть дело ?

Очень надеюсь на вашу помошь.
С уважением. Ворон.

836702539__USB.asm


Дата: Дек 17, 2003 22:21:35

так совсем непонятно...
в тд нод дос и 98
call pci_present выглядит как call [0000:0000] это неясно...
кроме того условный переход после сmp меняесться на какую то билеберду :(

само прерывание 1А работает и возвращает что должно.

Похоже я не правильно слинковал файл.
Где и в чом я ошибся? Ворон.


Дата: Дек 18, 2003 15:27:57 · Поправил: MoKC0DeR

Raven
0000:0000 - так ка pci_present в другом сегменте (ЗАЧЕМ ???)
use32 - зачем ????? В досе без расширителя.
Чем компилируешь (MASM/TASM/FASM...)?
TASM50 - результаты отменные(после маленьких испарвлений)
Компилил
tasm32 usb /m2
tlink usb /3


Дата: Дек 18, 2003 21:04:15

pci_present в другом сегменте (ЗАЧЕМ ???) - так как процедур очень много и удобно (вообщем то) хранить их в отдельном сегменте.

Компилирую и работаю с TASM

Убрал use32 и все заработало и сall в том числе... 80)


Спасибо ОГРОМНОЕ. Ворон.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.062