Comments 15
Сколько, простите, десятилетий? =)
Надеюсь, этого руководства было достаточно, чтобы вы сориентировались в общем принципе устройства архитектуры x86
Нда… Видимо, новое поколение гораздо умнее, статьи достаточно. Это мы изучали х86 по четырёхкнижию Григорьева " Микропроцессор i486. Архитектура и программирование".
ЗЫ: Не обижайтесь, просто улыбнуло, юность вспомнил. Григорьев настольной книгой был, аки Библия для верующего. И Абель, конечно же. Труд Григорьева до сих пор считаю лучшей книгой для понимания «как оно работает», и пофиг что 486 — многое актуально и сейчас
ЗЗЫ: А по-настоящему понял «как оно работает» когда на предвыпускном курсовике спроектировал на машкомплекте специализированный процик. И спасибо Пьявченко Алексею Олеговичу за полученные знания.
Дао Л.В. Программирование микропроцессора 8088.
P.S. И в статье указан синтаксис комманд ассемблера x86 в формате AT&T
Статью можно дополнить статьёй из викиучебника.
Ассемблер в Linux для программистов C
Робер Джордейна (Журден). "Справочник программиста на персональном компьютере фирмы IBM" совсем забыли, а там ассемблер на каждой странице;)
Если говорить про SIMD, стоит ещё MMX вспомнить - как первую подобную технологию в x86. Затем уже появились разные версии SSE, затем AVX.
В MMX несколько странноватое решение было реализовано - использовать те же самые восемь регистров, что и в FPU. В итоге нельзя было одновременно пользоваться командами FPU и MMX. А в SSE уже назависимые регистры сделали.
В универе наловчился считать сколько байт занимает та или иная команда и переходы делал не по меткам, а по смещению (относительные). Получился хороший обфускатор - даже преподы не могли ничего понять. Просили поправить пару мелочей и отставали.
Статья одновременно ни о чём и попытка рассказать обо всём. Но выбранный набор разделов странный.
Роберт Джордейн, Справочник программиста персональных компьютеров типа IBM PC, XT и AT
там все это есть.
А вот как дизасемблируется команда:
Знакомимся с программированием на ассемблере x86