0
ответов

Как перевести сборку в двоичный?

Например : .text .align 2 .global main .equ val, 0x4712 # 16-битный двоичный код для 0x4712: 0100 0111 0001 0010 # Программный код ...
вопрос задан: 15 October 2010 15:22
0
ответов

Куда указывает указатель кадра после установки?

Несмотря на то, что я смотрю учебники и пытаюсь понять это, у меня возникают проблемы. 0x08048b29 < func + 0>: push% ebp 0x08048b2a : mov% esp,% ebp 0x08048b2c : push ...
вопрос задан: 14 October 2010 21:47
0
ответов

Почему доступ к указателю медленнее, чем доступ к vector :: iterator? (генерация кода компилятора)

Хорошо, заголовок вопроса немного паршивый, но я действительно не знал, как это лучше сформулировать. У меня проблема в том, что с учетом std :: vector и T * + size_t мой компилятор (Visual Studio ...
вопрос задан: 14 October 2010 16:51
0
ответов

Сборка x86: инструкция INC и DEC и флаг переполнения

В сборке x86 флаг переполнения устанавливается при добавлении или подоперации на подписанном целочисленное переполнение, и флаг переноса устанавливается, когда операция с целым числом без знака переполняется. Однако, когда это ...
вопрос задан: 13 October 2010 16:41
0
ответов

Как реализован __RTC_CheckEsp?

__ RTC_CheckEsp - это вызов, который проверяет правильность esp, stack, регистр. Он вызывается, чтобы гарантировать, что значение esp было сохранено при вызове функции. Кто-нибудь знает, как это ...
вопрос задан: 12 October 2010 12:37
0
ответов

Как отключить отображение кодов сборки при отладке?

Я случайно включил этот режим и хочу вернуться к предыдущим настройкам. Как мне это сделать?
вопрос задан: 12 October 2010 08:46
0
ответов

Справочник по арифметике с плавающей запятой на синтаксическом ассемблере AT&T

На прошлой неделе я пытался найти достойный ресурс по арифметике с плавающей запятой для сборки x86 с использованием синтаксиса AT&T. В идеале, список кодов операций, что они делают и где находятся числа с плавающей запятой ...
вопрос задан: 10 October 2010 22:41
0
ответов

Как возвращаемое значение реализовано на уровне сборки?

int main ( void) {printf ("Hello World"); return 0;} Как 0 передается как возвращаемое значение на уровне сборки? Есть ли выделенный регистр ЦП для этого задания? ОБНОВЛЕНИЕ Вот две таблицы по передаче / возврату ...
вопрос задан: 10 October 2010 09:47
0
ответов

Ярлыки в GCC inline assembly

Продолжая экспериментировать с GCC inline assembly, я столкнулся с новой проблемой, касающейся ярлыков и встроенного кода. Рассмотрим следующий простой переход: __asm__ ("jmp out;" "out:;" : ...
вопрос задан: 10 October 2010 00:17
0
ответов

Вызывает ошибку переполнения деления (x86)

У меня есть несколько вопросов об ошибках переполнения деления в архитектуре x86 или x86_64. В последнее время я читал о целочисленных переполнениях. Обычно, когда результатом арифметической операции является целое число ...
вопрос задан: 8 October 2010 16:37
0
ответов

Какой регистр x86 обозначает расположение источника в инструкции movsb?

Какой регистр x86 обозначает расположение источника в инструкции movsb?
вопрос задан: 8 October 2010 03:55
0
ответов

GCC Inline Assembly Multiplication

Я пытаюсь изучить встроенную сборку GCC в Linux (x86), и моим первым экспериментом была попытка реализовать обнаружение целочисленного переполнения для умножения. Это кажется достаточно простым, но у него есть сторона ...
вопрос задан: 7 October 2010 17:04
0
ответов

Что именно делает инструкция imul с тремя операндами в сборке ia-32?

Я читаю инструкцию imul 0xffffffd4 (% ebp,% ebx, 4),% eax и I. Меня сбивает с толку, что именно он делает. Я понимаю, что imul умножается, но я не могу понять синтаксис.
вопрос задан: 4 October 2010 23:59
0
ответов

Как ассемблер используется в наши дни (например, с C / C ++)?

Я понимаю, как работает компьютер на основных принципах, например, программа может быть написанным на языке "высокого" уровня, таком как C #, C, а затем разбить его на объектный код, а затем на двоичный код для ...
вопрос задан: 4 October 2010 12:07
0
ответов

Как работали 16-битные компиляторы C?

Модель памяти C с использованием арифметики указателей и прочего, похоже, моделирует плоское адресное пространство. 16-битные компьютеры использовали сегментированный доступ к памяти. Как 16-битные компиляторы C справились с этой проблемой и ...
вопрос задан: 30 September 2010 03:42
0
ответов

Что означает «DS: [40207A]» в сборке?

0040103A CALL DWORD PTR DS: [40207A] USER32.MessageBoxA Что означает DS: означает?
вопрос задан: 29 September 2010 08:47
0
ответов

удаление повторяющихся записей из массива multi-d в python

У меня есть двумерный массив xx = [[a, 1], [b, 2], [c, 3]] Теперь я пытаюсь удалить из него повторяющиеся записи. Для простого одномерного массива подойдет простой код, например xx = list (set (xx)). Но пытаюсь установить двумерные элементы ...
вопрос задан: 29 September 2010 08:07
0
ответов

Будет ли передача переменной целочисленного типа функциям по ссылке более эффективной, чем по значению?

Я знаю, что это сказано при передаче переменной любого целочисленного типа, например int, double, long double и т. д. в функцию; это должно быть сделано по значению, но мне любопытно, что из точки сборки (производительность -...
вопрос задан: 27 September 2010 20:39
0
ответов

Странные MIPS поведение ассемблера с инструкцией перехода (и ссылки)

Итак, мы изучаем архитектуру MIPS в школе и реализуем архитектуру MIPS32. Я думал, что буду использовать GNU cross-binutils в качестве ассемблера, но получаю странный результат при работе с ...
вопрос задан: 27 September 2010 20:25
0
ответов

как отлаживать сборку x86

Я пишу VMM для архитектуры Intel x86. Большая часть кода содержит сборку для платформы x86 и код c. Может ли кто-нибудь помочь мне отладить код сборки, включая данные об оборудовании ...
вопрос задан: 27 September 2010 01:28
0
ответов

Есть ли хорошие современные онлайн-руководства по ручной оптимизации ассемблерного кода? [закрыто]

Я работаю над кодом, который содержит некоторые (сгенерированные компилятором) фрагменты ассемблерного кода, которые, как мы определили, являются узкими местами скорости. Я достаточно знаю о сборке, чтобы разобраться и найти ...
вопрос задан: 24 September 2010 20:51
0
ответов

Как инструкция сборки превращается в изменения напряжения на ЦП?

I ' Я работал с C и CPython последние 3-5 лет. Считайте, что это моя база знаний. Если бы я использовал инструкцию по сборке, такую ​​как MOV AL, 61h на процессор, который его поддерживает, ...
вопрос задан: 23 September 2010 08:10
0
ответов

Какие советы по оптимизации ассемблерного кода, сгенерированного компилятором?

В настоящее время я пишу компилятор, и я, кажется, столкнулся с некоторыми проблемами, заставляя его выводить код, который выполняется в приличные сроки. Краткий обзор компилятора: ...
вопрос задан: 22 September 2010 19:51
0
ответов

SP (Stack Pointer) Уловка для защиты от отладки - x86

Листинг 7.1. Декриптор каскадного вируса Leasi, Start; позиция для дешифрования (устанавливается динамически) mov sp, 0682; длина зашифрованного тела (1666 байт) Расшифровать: xor [си], си; ...
вопрос задан: 20 September 2010 11:14
0
ответов

Как полностью приостановить работу процессора?

Я пишу небольшой загрузчик для ПК на базе x86. Проблема в том, что процессор каким-то образом все еще активен после выполнения этих инструкций: sti hlt sti должен отключать прерывания для следующего ...
вопрос задан: 19 September 2010 23:07
0
ответов

Командная строка процесса в 64-битной Linux [дубликат]

У меня проблемы с доступом к командной строке процесса из 64-битной сборки Linux программа. Чтобы воспроизвести это с минимальным кодом, я сделал эту 32-битную программу, которая печатает первые 5 символов программы ...
вопрос задан: 16 September 2010 19:29
0
ответов

Где мне начать со сборки?

Эй, я могу программировать в C, немного в Python и Pascal, и я действительно хочу изучить сборку. Мне 18, и я заканчиваю среднюю школу, программирование - мое хобби, потому что школьная работа, конечно же, не является большой проблемой ....
вопрос задан: 16 September 2010 12:27
0
ответов

Определение байтов во встроенной сборке GCC в Dev-C ++ (. Ascii в синтаксисе AT&T в Windows)

Приведенный ниже код просто показывает окно сообщения на экране. Адреса жестко запрограммированы для облегчения работы: int main () {asm ("xorl% eax,% eax \ n" "xorl% ebx,% ebx \ n" "...
вопрос задан: 15 September 2010 13:51
0
ответов

add vs mul (IA32-Assembly)

Я знаю, что добавление выполняется быстрее по сравнению с функцией mul. Я хочу знать, как использовать add вместо mul в следующем коде, чтобы сделать его более эффективным. Пример кода: mov ...
вопрос задан: 15 September 2010 08:45
0
ответов

How to return a complex return value?

Currently I am writing some assembly language procedures. As some convention says, when I want to return some value to the caller, say an integer, I should return it in the EAX register. Now I am ...
вопрос задан: 13 September 2010 23:03