Page 4 of 7

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 3:09 am
by Mario
SVN r. 1982
1) Сохранение списка устройств на диск
2) Выбор пути через OpenDialog

С учетом всех предыдущих ревизий присвоил программе версию 2.3

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 8:50 am
by yogev_ezra
Твоя версия стала падать при запуске в VMWare (последняя версия от CleverMouse не падала).

Скриншот падения на доске и скриншот из дебаггера:
Spoiler:
pcidev002.png
pcidev002.png (8.74 KiB)
Viewed 13645 times
pcidev001.png
pcidev001.png (42.94 KiB)
Viewed 13646 times
Скриншот как это было раньше:
Spoiler:
pcidev003.png
pcidev003.png (46.68 KiB)
Viewed 13643 times

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 2:36 pm
by Mario
Я предполагаю, что знаю в чем проблема. :)
Spoiler:

Code: Select all

prepare_text_area:
146		mov	edi,[store_text_area_start]
147	
148		push	edi
149		mov	ecx,4096/4 ; I hope this will be enough for store of data
150		mov	eax,dword '    '
151		cld
152		rep	stosd
153		pop	edi

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 2:41 pm
by yogev_ezra
Mario wrote:Я предполагаю, что знаю в чем проблема. :)
Экономные FASM программисты такие экономные :mrgreen:То есть, упало там, где ты написал в комментах, что может здесь упасть :D Ну так увеличь :wink:

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 2:43 pm
by Mario
Не, ну в Qemu все хоккей. ;-)
Кстати сам можешь проверить, увеличить, закоммитить и восстановить твое поражение в правах как программиста. :mrgreen:

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 3:09 pm
by DmitrySokolowsky
На eBox не упало, список сохраняет успешно.

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 8:16 pm
by yogev_ezra
Mario wrote:Не, ну в Qemu все хоккей. ;-) Кстати сам можешь проверить, увеличить, закоммитить и восстановить твое поражение в правах как программиста. :mrgreen:
Не проканало: поменял 4096/4 на 4096 - стало падать в другом месте :oops:
Spoiler:
pcidev004.png
pcidev004.png (39.38 KiB)
Viewed 13590 times

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 8:42 pm
by Mario
Кроме манипуляций с большим объемом памяти, эту память нужно еще и выделить перед использованием. Я когда был на работе мельком глянул в код через redimine и не все учел, когда давал совет - так что мой косяк.

SVN r. 1984 - память под список устройств увеличена до 16 Кб и я вновь надеюсь, что этого окажется достаточно.

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 9:23 pm
by yogev_ezra
Спасибо, теперь работает и в VMware! Файл PCIDEV.TXT получился 5211 байт, так что действительно, 4кб было мало.
А почему в одном месте 4кб, а в другом - 16кб? Если не сложно объяснить :wink:

Re: PCIDEV - определение PCI устройств

Posted: Sun Jun 26, 2011 11:19 pm
by Mario
Потому что:

Code: Select all

	rep	stosd
stosb - byte
stosw - word
stosd - dword

Re: PCIDEV - определение PCI устройств

Posted: Mon Jun 27, 2011 12:17 pm
by CleverMouse
Я считаю, что не нужно выводить в заголовок программы имена всех, кто когда-либо что-либо коммитил в папку с программой. В частности, я в заголовке точно лишняя.

Re: PCIDEV - определение PCI устройств

Posted: Mon Jun 27, 2011 12:22 pm
by Mario
Ну, в таком случае нужно убрать всех - чтобы без обид.

Re: PCIDEV - определение PCI устройств

Posted: Mon Jun 27, 2011 7:33 pm
by art_zh
я - за.

Re: PCIDEV - определение PCI устройств

Posted: Mon Jun 27, 2011 8:28 pm
by Mario
Сделал в SVN r. 1985.

Re: PCIDEV - определение PCI устройств

Posted: Thu Jun 30, 2011 6:55 pm
by yogev_ezra
Если IRQ не выдано, то вся строчка в файле PCIDEV.TXT сдвигается влево по отношению к другим строчкам, и становится неудобно читать файл. Хотелось бы в этом случае заменять невыданный IRQ пробелами (либо писать "NA" = Not Assigned - можно маленькими буквами, чтобы отличалось от самих IRQ), чтобы позиция других полей в этих строчках не сдвигалась влево.