1
ответ

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

Необходимо будет извинить меня, я являюсь совершенно новым к x86 блоку и блоку в целом. Таким образом, мой вопрос, у меня есть что-то как: addl %edx, (%eax) %eax является регистром, который содержит указатель на некоторое целое число....
вопрос задан: 18 September 2017 05:24
1
ответ

Что означает .comm?

Я просто перевел эту программу, #include <stdio.h> международная дамба [1000] [1000]; международное основное (интервал argc, символ константы * argv []) {//вводят код здесь... printf ("Привет, Мир! \n"); возвратитесь 0;}...
вопрос задан: 7 September 2017 17:08
1
ответ

Определите архитектуру на 32/64 бита в блоке

Я перечитывал по этому вопросу и задался вопросом, мог ли принятый ответ также быть способом определить архитектуру. Например, в asm мог я продвигать WORD на стек и затем проверять SP...
вопрос задан: 23 May 2017 11:47
1
ответ

транспонируйте для 8 регистров 16-разрядных элементов на SSE2/SSSE3

(Я - новичок к SSE/asm, извинения, если это очевидно или избыточно) там лучший способ транспонировать 8 регистров SSE, содержащих 16-разрядные значения, чем выполнение 24 unpck [люфтганза] PS и 8/16 + перестановки и...
вопрос задан: 10 February 2017 15:08
1
ответ

Невозможно ввести из 16 бит в режим 32 бит [дубликат]

Я пытаюсь создать простой загрузчик, который загружает мое ядро ​​в режиме 32 бит. Я прочитал много статей и форумов и напишу bootsector 512 байт, а затем stage2 загрузчика. На втором этапе я могу загрузить gdt, ...
вопрос задан: 23 December 2016 19:05
1
ответ

Почему GCC использует xor для очистки регистра? [Дубликат]

Компиляция следующей программы C с GCC 6.4.1 с использованием -O0 и -O2 дает следующие результаты для функции main (). int main (int argc, char * argv []) {if (argc == 2) {printf ("Проверка ...
вопрос задан: 6 June 2016 16:58
1
ответ

x86 с использованием петель, чтобы минимизировать код (подкладка) [дублировать]

Как бы я сделал цикл из этого кода, мне сложно сделать цикл этого кода, и я стараюсь сделать его как можно короче, используя циклы, но я застреваю в бесконечном цикле. Это ...
вопрос задан: 15 May 2016 21:20
1
ответ

Невозможно связать 32-разрядный файл .asm в режиме 64 бит в Kali linux [duplicate]

Я использую Assembly в Kali linux. Команда -> nasm -felf64 -g test.asm Компилирует .asm fine, и я могу связать его с помощью -> ld -g test.o И он отлично работает с -> ./a.out Однако я ...
вопрос задан: 27 April 2016 22:08
1
ответ

Перемещение числа в переменную стека не работает [duplicate]

У меня проблемы с работой стеков. Скажем, например, я в стеке, и я уже использовал movl% esp,% ebp. Если я делаю 2 локальных переменных размера слова (subl $ 4, esp), всякий раз, когда я перехожу на movw $ 1, -2 (% ebp), он .. ,
вопрос задан: 27 April 2016 22:08
1
ответ

Ошибка сегментации (сброс ядра) в коде сборки [дубликат]

Я просто изучил код сборки вызовов в коде C, как показано ниже: caller.c: #include & lt; stdio.h & gt; #include & lt; string.h & gt; void main (void) {char buf [50]; int a, b, res; char * mystr = "...
вопрос задан: 27 April 2016 22:08
1
ответ

Что 'h' снабжает суффиксом средний?

В x86 блоке, что h снабжает суффиксом на числах, представляют? Например: sub CX, 13-й
вопрос задан: 12 April 2016 17:47
1
ответ

Код сборки не выполняется из терминала после компиляции. Он отображается в одной папке? [Дубликат]

Вот что я написал в терминале Ayeshas-MacBook-Pro: CMPE 102 Ayesha $ nasm -f macho32 -O0 eatsyscall.asm Ayeshas-MacBook-Pro: CMPE 102 Ayesha $ ld eatsyscall.o -o eatsyscall Ayeshas-MacBook-Pro: CMPE ...
вопрос задан: 19 March 2016 19:39
1
ответ

Что предотвращает inlining sqrt при компиляции без -ffast-math [duplicate]

Я наткнулся на эту проблему здесь в stackoverflow: когда не скомпилирован с -ffast-math, функция sqrt не была встроена и, следовательно, libm был необходим во время ссылки. Однако я не понимаю, что такое ...
вопрос задан: 5 March 2016 20:39
1
ответ

Почему добавление 3 BYTE не выполняется, но DWORDs успешно [дублирует]

Я только начинаю с ASM, так что этот вопрос может показать мое отсутствие понимания. Я пытался добавить 3 числа друг к другу, код ниже с DWORD работает в соответствии с назначением: .data val1 DWORD 25 val2 ...
вопрос задан: 7 January 2016 09:25
1
ответ

Отладка демонтированных библиотек с gdb

в Linux и Mac OS X я могу использовать stepi и nexti для отладки приложения без отладочной информации. На Mac OS X gdb показывает функции, которые вызваны в библиотеке, хотя иногда...
вопрос задан: 1 October 2015 10:39
1
ответ

Что является функцией “mov eax, cr3; mov cr3, eax” в x86 ассемблерном коде?

Я демонтирую немного кода, и я столкнулся: mov eax, cr3 mov cr3, eax, Какова функция тех строк? Это - x86 низкий уровень (загрузчик BIOS/встроенного микропрограммного обеспечения/прежде чем) код инициализации. Мы...
вопрос задан: 20 September 2015 19:18
1
ответ

Как выполнить IO низкого уровня с картой флэш-памяти с интерфейсом USB под BIOS (по сравнению с дискетой)?

Я недавно изучал некоторый код начальной загрузки, который был предназначен для использования с дисководом для гибких дисков. Моя цель состоит в том, чтобы изменить программу так, чтобы она использовала мою карту флэш-памяти с интерфейсом USB. Теперь я ви
вопрос задан: 27 July 2015 12:25
1
ответ

Как сделать атомарный инкремент и выборку в C?

Я ищу способ атомарно увеличить короткое, и затем возвратить то значение. Я должен сделать это и в привилегированном режиме и в непривилегированном режиме, таким образом, это находится в C, в соответствии с Linux, на архитектуре Intel 32bit...
вопрос задан: 16 June 2015 21:27
1
ответ

Самый быстрый способ проверить, не имеет ли какой-либо элемент в __m256 [duplicate]

У меня есть результат сравнения двух векторов __m256. __m256 result = _mm256_cmp_ps (a, b, _CMP_GT_OQ); В какой момент у меня есть векторный результат с 8 значениями. И каждое из этих значений ...
вопрос задан: 8 March 2015 11:57
1
ответ

как перемещать данные с одного адреса в памяти на другой адрес в памяти (сборка) [дубликат]

как перенести данные с одного адреса в память на другой адрес в памяти (сборке)? это то, что я написал, и я не знаю, правильно ли это. может кто-то помочь? mov ax, 2000h mov bx, 3000h mov cx, [...
вопрос задан: 31 December 2014 08:09
1
ответ

Как я храню значение регистра в ячейку памяти, на которую указывает указатель?

У меня есть следующий код: освободите * устройство хранения данных = malloc (4); __ asm {//предполагают, что целое число 1 хранится в eax mov eax, устройство хранения данных//, я попробовал *устройство хранения данных также, но по-видимому это - недопусти
вопрос задан: 17 June 2014 11:25
1
ответ

Микросхемы x86/x64 все еще используют микропрограммирование?

Если я понимаю эти две статьи, архитектуру Intel, в он - самый низкий уровень, перешел к использованию инструкций RISC, вместо традиционная система команд CISC, что Intel известен...
вопрос задан: 7 April 2014 18:39
1
ответ

Истощить конвейер инструкции Intel Core 2 Duo?

Я пишу некоторый код микросравнительного тестирования для некоторых очень коротких операций в C. Например, одна вещь, которую я измеряю, состоит в том, скольких циклы необходимы для вызывания пустой функции в зависимости от количества...
вопрос задан: 31 March 2014 20:44
1
ответ

Сборка mov из памяти в память с помощью push [duplicate]

У меня есть слово в разделе данных, которое называется pos. Если я выполню push dword [pos], он сохранит значение pos в стеке. Но если я заменил его sub esp, 4; mov [esp], dword [pos] это не будет ...
вопрос задан: 24 January 2013 22:40
1
ответ

x86-64 и дальние вызовы / переходы

Быстрая сводка: в x86-64 режиме являются столь же медленными далекие переходы как в x86-32 режиме? На x86 процессоре переходы попадают в три типа: короткий, со смещенным ПК из +/-127 байты (2 байтовых команды) рядом, с +/...
вопрос задан: 15 January 2013 08:31
1
ответ

Сборка - Segfault при изменении памяти [дубликат]

Я экспериментирую с моими первыми шеллкодами, я пытаюсь прочитать из .pass-файла, а затем распечатать его в stdout с помощью открытых, прочитанных и написанных системных вызовов. Таким образом, я написал этот код: [SECTION .text] global _start ...
вопрос задан: 8 December 2012 15:33
1
ответ

Ошибка сегментации в коде сборки для вызова root [duplicate]

Я пытаюсь сделать ассемблерный код, чтобы вызвать roothell из моего терминала, который я могу использовать в атаке инъекции переполнения буфера, но прямо сейчас я застрял на попытке заставить мой код сборки работать прямо сейчас ...
вопрос задан: 8 December 2012 15:33
1
ответ

Я создал службу Windows как “Любой ЦП”. Почему это работает в 32-разрядном режиме на моей машине на 64 бита? [дубликат]

Я создал службу Windows как "Любой ЦП". Однако, когда я выполняю его на своей машине на 64 бита, это работает в 32 битах. Как я могу зафиксировать его? Я использую.NET и C#, и моя операционная система является Windows 2008 R2. Если я...
вопрос задан: 23 October 2012 11:01
1
ответ

C# COM DLL: я использую Regasm или Regsvr32?

Я создаю ActiveX C# DLL... я использую REGASM или REGSVR32 для регистрации его? Как я регистрирую 64-разрядный интерфейс по сравнению с 32-разрядным интерфейсом?
вопрос задан: 22 October 2012 13:31
1
ответ

Как читать из stdin в сборке [duplicate]

Это мой код: #open mov $ 5,% eax mov $ file,% ebx mov $ 0,% ecx int $ 0x80 mov% eax, fd #read mov $ 3,% eax mov fd,% ebx mov $ buff,% ecx mov $ 8,% edx int $ 0x80 это работает, но я должен прочитать имя ...
вопрос задан: 5 October 2012 20:49