|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Результаты опроса: Хотите ли вы читать эту книгу? | |||
Хочу | 148 | 78.31% | |
Не хочу | 29 | 15.34% | |
уже прочитал | 12 | 6.35% | |
Голосовавшие: 189. Вы ещё не голосовали в этом опросе |
|
|
Опции темы | Поиск в этой теме |
21.04.2011, 12:48 | #1 | |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Программирование на ассемблере на платформе x86-64
В данной книге речь идет о работе процессора в двух его основных режимах: защищенном режиме и 64-битном, который также называют long mode ("длинный режим"). Также помимо изложения принципов и механизмов работы процессора в защищенном и 64-битном режимах, речь пойдет о программировании на ассемблере в операционных системах семейства Windows, как в 32-битных, так и 64-битных версиях. Рассматривается не только разработка обычных приложений для операционных систем Windows, но и разработка драйверов на ассемблере. При написании книги уделялось большое внимание именно практической составляющей, т.е. изложение материала идет только по делу и только то, что необходимо знать любому системному и низко-уровневому программисту. Последний раздел книги посвящен принципам работы многопроцессорных систем, а также работе с расширенным программируемым контроллером прерываний (APIC). Отрывок из введения книги Цитата:
Обсуждение книги все коментарии не касающиеся ассемблера писать в той теме. Просьба оставлять здесь коментарии только касающиеся тематики книги, недочётов, ошибок и "недоделок". Последний раз редактировалось rpy3uH; 14.08.2011 в 11:33. |
|
08.08.2011, 09:52 | #2 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
Программирование на ассемблере на платформе x86-64 - Неточности в книге
rpy3uH
Спасибо за книгу. Если интересно, вот обнаруженные неточности и опечатки, вдруг соберешься делать второе издание стр 25 "Разумеется в защищенном режиме вместе с командой MOC" имеется в виду команда MOV стр 29 "SAL - арифметический сдвиг влево. Команда полностью идентична команде SHL. Это одна и та же команда, только имена разные" код команды SAL -- D0Ex код команды SHL -- D0Fx просто некоторые трансляторы (MASM, TASM, FASM) по команде «SAL» генерируют код команды SHL, но это разные команды стр 30. Работа с флагами процессора пропущена команда CMC (0F5h) Работа со стеком "Операнд может иметь размер 2, 4, 8 байт в зависимости от режима; также он может быть сегментным регистром" следовало сказать о том, что команды POP CS в отличие от команд POP DS/ES/SS/FS/GS нет в природе и изменить текущий CS в программе можно только командами JMP FAR, RETF, IRET стр 37-38 таблица 1.5 команды условных переходов сказано, что "JE то же, что и JZ" но тоже самое можно было написать про JC=JNAE=JB и т.п. стр 38 "Иногда имеет смысл использовать команду TEST. Формат этой команды почти такой же, как и у команды CMP, но только в качестве второго операнда не может выступать значение памяти. Эта команда осуществляет операцию логического И" Стоило наверное написать, что CMP осуществляет операцию вычитания стр 42 таблица 1.6. примеры сложения разных чисел и результаты колонку "интерпретация для беззнаковых чисел и результаты" стоило делать на примере шестнадцатеричных чисел, тогда результат всегда выглядит верно Код:
флаг OF=1 только тогда, когда интерпретация для знаковых чисел выглядит "неверно" и чтобы не запутаться во флагах "переполнения" и "переноса" предлагается более простая формула: S1 xor S2 xor SR xor CF = OF где S1 и S2 значение знакового разряда операндов 1 и 2, а SR значение знакового разряда результата стр 48 опечатка "OUTS/W/D" вместо "OUTSB/W/D" стр 187 опечатка "LoadDriver: invoke, 0, 0, SC_MANAGER_ALL_ACCESS" пропущена OpenSCManager Последний раз редактировалось Mikl___; 09.08.2011 в 05:33. |
08.08.2011, 10:29 | #3 | ||||||
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
||||||
13.03.2012, 21:10 | #4 |
Регистрация: 13.03.2012
Сообщений: 4
|
Ранее, много лет назад, я несколько раз пробовал начать изучение с книги В.И. Юрова - не осилил...
Недавно купил указанную книгу Р.Аблязова. Начал читать, но пошла с большим скрежетом, точнее я бы сказал - совсем не пошла... (( Отложил, и взял Питера Абеля 5-е издание "Ассемблер и язык программирования для IBM PC" (купил вместе с Р.Аблязовым). Абель пошёл довольно таки легко... Форма изложения материала весьма понятна и доступна. После Абеля попробую снова Р. Аблязова, т.к. Абель к сожалению пишет только об x86, а я надеюсь разобраться и с x64. С уважением =RedCrystal= |
13.03.2012, 21:49 | #5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ну как бы прежде чем переходить в 64 битный код, нужно хоть основы подучить.
хотя я книгу не читал, не знаю как там с основами. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
21.04.2012, 19:58 | #6 |
http://www.asmcode
Пользователь
Регистрация: 16.11.2011
Сообщений: 15
|
Книжка супер, пример, где включается APIC и настраиваются прерывания в защищёнке таймера и клавы я перевел на загрузчик и всё работало. Но добавить к примеру включение мышки PS/2 как делал для PIC не получилось. Если подскажите почему буду рад.
|
03.05.2012, 06:54 | #7 |
http://www.asmcode
Пользователь
Регистрация: 16.11.2011
Сообщений: 15
|
Вопрос отпал, после чтения количества аппорантых прерываний(ножек) у контроллера LAPIC сделал цикл для настройки их на вектора, после чего заработало не только 12е но и все 24.
|
29.08.2012, 19:07 | #8 |
Пользователь
Регистрация: 26.02.2010
Сообщений: 22
|
Здравствуйте!
Нашел в вашей книге ошибку, решил сообщить вам об этом, поиски привели меня на этот форум. В листинге lmstructures.asm (sample 4.3) присутствует макрос Код:
Правильно должно быть так: Код:
P.S. книга понравилась, описаны работы режимов и их отличия, чего не встретишь в другой литературе, где дают сухое описание инструкций. И пожалуй это единственное вменяемое описание long mode на русском языке. Последний раз редактировалось Kastaneda; 29.08.2012 в 19:47. |
23.07.2013, 12:01 | #9 |
Регистрация: 23.07.2013
Сообщений: 4
|
Здравствуйте!
Данная книга мне показалась интересной! Годится ли она, в качестве первого путеводителя в программинг под Win32/64 ? п.с. основа (база) по асм'у (16 бит) имеется, т.е. не полный ноль |
25.07.2013, 09:50 | #10 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Годится .
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Руслан Аблязов - Программирование на ассемблере на платформе x86-64 (+ CD-ROM) | Alar | Свободное общение | 110 | 19.04.2017 01:49 |
Программирование на Ассемблере | Николай ПН | Помощь студентам | 3 | 23.03.2010 00:56 |
Программирование микроконтроллера 80С196КС на ассемблере | KOCT9IH | Фриланс | 3 | 07.11.2008 13:03 |