Учебник по NASM/YASM

Модератор: Модераторы разделов

BratSinot
Сообщения: 812
ОС: Slackware64

Учебник по NASM/YASM

Сообщение BratSinot »

Доброго времени суток!

Совершенно случайно наткнулся на такой замечательный учебник:
http://www.stolyarov.info/books/asm_unix

Все круто, но есть ли что-то подобное(на русском языке) для amd64 архитектур? Или хотяб "таблицу соотвествий", что мол:

Код: Выделить всё

32 битный регистр e?? -- 64 битный регистр r??

Просто, например, не могу найти как команда pusha, popa и т.д. будет выглядет на amd64.
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Учебник по NASM/YASM

Сообщение frp »

На русском, как всегда, нет (по IA-32 еще можно найти, а по AMD64 - совсем ничего). На английском всё очень хорошо и подробно описано в официальной документации производителей процессоров:
http://developer.amd.com/documentation/gui...lt.aspx#manuals
http://www.intel.com/products/processor/manuals/

Хотя теоретически если pusha/popa в amd64 есть, то они так и должны называться. Во всяком случае, другие инструкции не переименовывали.

PS. Почему-то ни разу не видел, чтобы практически где-то применялись pusha и popa. Не видел ни в асм-программах, ни в выхлопе компиляторов. Так, что они вполне могли его выпилить за ненадобностью.
Спасибо сказали:
BratSinot
Сообщения: 812
ОС: Slackware64

Re: Учебник по NASM/YASM

Сообщение BratSinot »

Хотя теоретически если pusha/popa в amd64 есть, то они так и должны называться. Во всяком случае, другие инструкции не переименовывали.

Это чисто x32. Вот например что будет при попытке:

Код: Выделить всё

test.asm:8: error: `popa' invalid in 64-bit mode

P.S. Название символичное =)

PS. Почему-то ни разу не видел, чтобы практически где-то применялись pusha и popa. Не видел ни в асм-программах, ни в выхлопе компиляторов. Так, что они вполне могли его выпилить за ненадобностью.

Используется оно в реальноти или нет, но у учебных пособиях применяется.
P.S.S. Хотя пока не дочитал до того момента, когда объясняются сакральный смысл этих команд.
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Учебник по NASM/YASM

Сообщение RasenHerz »

BratSinot писал(а):
06.06.2011 23:11
P.S.S. Хотя пока не дочитал до того момента, когда объясняются сакральный смысл этих команд.

Ну к примеру, pusha можно использовать как команду сохранения контекста выполнения, а popa соответственно как команду его восстановления.

P.S. на x86-64 попробуйте pushal и popal
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Учебник по NASM/YASM

Сообщение NickLion »

ЕМНИП, pusha/popa в x86-64 убрали как ненужное: 1) им и в 32 битах не особо пользовались, 2) в 64 битах добавили доп регистры - пихать всю эту ораву в стек - сильно накладно.
Спасибо сказали: