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 (8.74 KiB)
Viewed 13645 times

-
pcidev001.png (42.94 KiB)
Viewed 13646 times
Скриншот как это было раньше:
Spoiler:

-
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 программисты такие экономные 
То есть, упало там, где ты написал в комментах, что может здесь упасть

Ну так увеличь

Re: PCIDEV - определение PCI устройств
Posted: Sun Jun 26, 2011 2:43 pm
by Mario
Не, ну в Qemu все хоккей.

Кстати сам можешь проверить, увеличить, закоммитить и восстановить твое поражение в правах как программиста.

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 все хоккей.

Кстати сам можешь проверить, увеличить, закоммитить и восстановить твое поражение в правах как программиста.

Не проканало: поменял
4096/4 на
4096 - стало падать в другом месте
Spoiler:

-
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кб? Если не сложно объяснить

Re: PCIDEV - определение PCI устройств
Posted: Sun Jun 26, 2011 11:19 pm
by Mario
Потому что:
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), чтобы позиция других полей в этих строчках не сдвигалась влево.