27
голосов
1ответов
21220 просмотров

Значение (% eax) в синтаксисе AT&T?

Извините, я новичок в сборке x86 и сборке в целом. Мой вопрос: у меня что-то вроде: addl %edx,(%eax) % eax - это регистр, содержащий указатель на некоторое целое число.Назовем это xp Означает ли это, что там написано: *xp = *xp + %edx?(%edx - целое число) Я просто запуталась, где ...

6
голосов
4ответов
643 просмотров

Почему инструкция mov напрямую использует ax вместо двух сегментных регистров?

Я вижу такой код: mov ax, cs mov ds, ax mov es, ax Почему я не могу просто сжать это до: mov ds, cs mov es, cs Является ли первый способ быстрее, так как он использует регистр аккумулятора? Но это не кажется интуитивно понятным, поскольку cs и ds являются сегментными регистрами . ...

10
голосов
4ответов
9338 просмотров

Что означает инструкция x86 "call dword ptr ds: [00923030h]"?

Что делает следующая инструкция ассемблера x86? call dword ptr ds:[00923030h] Я подозреваю, что это косвенный вызов, но как именно он вычисляет адрес вызова?