"Программирование аппаратных средств в Windows" Данную книгу за приблизительно 330р./880стр. считаю совершенно бесполезной покупкой. Книга перенасыщена кодом, причем с просто нереальными и глупыми ошибками, ошибок в коде настолько много, что я вобще не рекомендую данного автора (Несвижский В.). Самый смешной кусок кода (который встречается просто повсюду): xor ax,ax mov ax,smth Ошибки допущенные при программировании видеоадаптера, внушают очень большое недоверие как книге, так и к автору. Для увеличения прибыли от книги, он влупил в конце главу которая вобще ни каким макаром не относится к апаратуре. Короче - полное гавно. Так что смотрите не ошибитесь в выборе.
Хорошие книжки быстро не пишутся. Пока трудолюбивый и добросовестный автор несколько лет собирает материал и вылизывает текст, щелкоперы успевают издать по нескольку книжек в год. Потом, плохие, но плодовитые авторы считаются в издательствах "раскрученными", и тиражи у них от книжки к книжке растут: 1000, 2000, 5000 и т.д. И наконец, хорошие книжки быстро раскупаются, а плохие остаются на полках. В результате приходишь в магазин и видишь, например, 5 полок, битком забитых дристопоносным (по качеству бумаги и качеству содержимого) "творчеством" какого-нибудь господина Максима Левина. Вот взял бы Four-F, дополнил бы свой цикл обработкой аппаратных прерываний и обзором основного железа на PC, и издал бы книжку "про драйвера", я с радостью купил бы. Кстати, дешевле получится, потому что объем заведомо меньше будет, чем 880 страниц.
spn_dd И в чём же тут ошибка? Может, автор выставляет таким образом флаг Z или выравнивает что-то для максимального быстродействия. Покажите конкретные ошибки, а то Ваш первый топик слишком субьективен.
Quantum Выставляет и выравнивает? Такого не ожидал. Думаю, что не стоит рассказывать мне о "флажках" и выравнивании. Это не ко мне. Скорее всего это к Несвижскому, думаю он бы удивился если бы узнал о существовании регистра флагов МП, и о том, что динамическая память вобще существует. Ладно, позже я выложу кусок кода для убеждения всех(книги под рукой не имею). И вобще, насчет того, что касается оптимизации, я думаю, что это не к Севе Несвижскому. Мы с одногрупником просто для проверки транслировали почти весь код главы о видеоадаптерах и убедились в том, что Сева просто нереальный Оптимизатор(даже с большой буквы). Настолько он все оптимизировал, что нихрена не работает. К сожалению он на столько же силен в сис. программировании, как и в архитектуре МПС. К его характеристике также можно отнести неумение работать с документацией(ведь в документации ясно написано, что для программирования регистров одного из контроллеров необходимо предварительно запретить к ним доступ из других контроллеров адаптера(а как он описывает работу с синхронизацией - просто обалдеть), но видать Севе на это [beep], и он повсюду [beep] по-своему). Ошибки были допущены принципиальные. Вобщем, этот "друг" продает "слепым детям мертвых птиц". <font color="red]первое предупреждение за маты</font><!--color-->
Quantum А вот пример кода из книги(страница 178, Программирование контроллера атрибутов). Установка графического режима Код (Text): xor al,al mov al,10h mov dx,03C0h out dx,al mov dx,03C0h in bl,dx xor bl,bl and bl,01b mov al,10h mov dx,03C0h out dx,al mov al,bl out dx,al
1 и 2 строки 7 и 8 строки заставляют задуматься, а не смешно ли это? ну и конечно верх идиотизма это 3 и 4 строки! достаточно немного почитать документацию чтобы понять, что 5 бит адреса порта отвечает за использование внутренней палитры и записав туда 0 мы тем самым сбрасываем их, и вся робота даром. Сбрасывать внутреннюю палитру можно только по окончании программирования контроллера, хоть в этом месте и все правильно, код содержит грубейшую ошибку. Ну я так же глянул программирование контроллера прерываний 8259. Такого убогого описания работы устройства я не ожидал. Вобщем ПОЛЬЗУЙТЕСЬ ЛУЧШЕ ДОКУМЕНТАЦИЕЙ и не попадайтесь на кючок таких халтурщиков. Ну и напоследок, автор[не буду больше выражаться], что стоит добавить вкнигу еще немножечко(чуть-чуть) говна. Часть 2. Общие методы программирования в Windows(ст.573-873). - Хех вот те и книга по программированию апаратуры. Но и это еще не все, последняя глава "Трюки и Секреты", где Севка делится с нами самым(наверное) для него сокровенным, вобще дорогого стоит. Эта глава тронула мое ледяное сердце. Короче лучше 1 раз увидеть.
spn_dd Принимается. Вот этого было бы вполне достаточно в данном топике. Код (Text): mov dx,03C0h out dx,al А что тут идиотского? Адрес 0x3C0 не влезает в 8 бит. Приходится передавать его через dx. Дальше опять субьективные наезды. Кстати, раз уж ты так шорошо теперь разбираешся в аппаратуре, книга тебе всё-таки помогла, наверное.