0
ответов

Как написать ядро ​​hello world?

Я пишу ядро, поэтому я запускаю с программой hello world в ядре. Я написал ядро ​​hello world на C ++, и оно успешно компилируется. Но когда я загружаю его, оно не отображается ...
вопрос задан: 15 September 2015 11:27
0
ответов

Как отладчики гарантируют корректность, когда используя программную точку останова INT 3 (0xCC), даже если инструкция была исправлена?

Я читал, что INT 3 (0xCC) используется для программных точек останова. Он устанавливается (например) отладчиком путем перезаписи фактического программного кода в памяти. Я также читал, что INT 3 - это "ловушка", а не "...
вопрос задан: 27 August 2015 07:38
0
ответов

Где научиться сборке х64? [закрыто]

Итак, я знаю C ++, C #, Java и некоторые другие языки, и я решил изучить ассемблер дальше, но я чувствую, что с самого начала натолкнулся на сплошную кирпичную стену. Мне просто нужно, чтобы кто-то указал мне на ...
вопрос задан: 26 August 2015 22:14
0
ответов

Ошибка Eclipse: нет исходного кода для «»

При использовании Eclipse Helios в Mac OS X Leopard и отладке кода C ++ с вызовом fsf gdb 7.1 отладка останавливается на первой строке основного файла. . Затем после первого шага я получаю сообщение "Нет доступных источников" Просмотр ...
вопрос задан: 24 August 2015 01:16
0
ответов

Как программируются бытовые машины?

Как программируются бытовые машины (не столько компьютеры и мобильные устройства, сколько бытовые приборы, цифровые часы и т. Д.)? Какой код входит в программирование торгового автомата Coca-Cola? Как ...
вопрос задан: 16 August 2015 00:14
0
ответов

Почему в сборке x86 команда leave выполняет «mov esp, ebp»?

Говорят, что инструкция выхода такая же, как: mov esp, ebp pop ebp Но для чего здесь mov esp, ebp? Мне это кажется неверным ...
вопрос задан: 12 August 2015 15:40
0
ответов

Компиляция «исходный код» с помощью LLVM [закрыто]

Мне нужно преобразовать исходный код сборки x86 в файл LLVM, читаемый человеком (он же язык ассемблера LLVM). Как я могу это сделать? Если нет прямого решения, можно ли его реализовать в ...
вопрос задан: 3 August 2015 16:14
0
ответов

Что такое r () и двойной процент %% в языке встроенной ассемблера GCC?

Пример: int main (void) {int x = 10, у; asm ("movl% 1, %% eax;" "movl %% eax,% 0;": "= r" (y) / * y - операнд вывода * /: "r" (x) / * x - ввод операнд * /: "...
вопрос задан: 29 July 2015 20:33
0
ответов

Ручная сборка против GCC

Отказ от ответственности: я только начинаю с сборки x86. Я немного изучил SPIM в университете, но это вряд ли стоит упоминать. Я думал, что начну с того, что, пожалуй, самая простая функция в ...
вопрос задан: 21 July 2015 13:01
0
ответов

128-битные сдвиги с использованием языка ассемблера?

Каков наиболее эффективный способ сдвига 128 бит на современном процессоре Intel (Core i7, Sandy Bridge). Похожий код находится в моем самом внутреннем цикле: u128 a [N]; void xor () {for (int i = 0; i
вопрос задан: 19 July 2015 02:49
0
ответов

GCC:Запретить использование некоторых регистров

Это странная просьба, но у меня такое ощущение, что это возможно. Я бы хотел вставить некоторые прагмы или директивы в области моего кода (написанного на C), чтобы регистр GCC ...
вопрос задан: 15 July 2015 14:35
0
ответов

Когда GAS ELF нужны директивы .type, .thumb, .size и .section?

Я работаю над программой сборки для ARM Cortex-M3 на базе микроконтроллер (набор инструкций Thumb 2), используя GNU как. В некоторых примерах кода я нахожу такие директивы, как .size, .section и .type, которые я ...
вопрос задан: 15 July 2015 12:27
0
ответов

Как получить размер функции C из программы C или с помощью встроенного ассемблера?

Предположим, у меня есть функция, как показано ниже:#cat 003.c int foo (int a, int b ){возврат а+б; } И компилируем вот так :gcc -S 003.c Получаем следующий результат сборки :.file "003.c"...
вопрос задан: 15 July 2015 11:22
0
ответов

IDE и Ассемблер для 8086/88

Я хочу научиться программировать на языке ассемблера для процессора 8086/88, но я не смог найти IDE и ассемблер для эта причина.
вопрос задан: 13 July 2015 20:08
0
ответов

Что означает XOR в сборке x86?

Я вхожу в сборку и продолжаю работать с xor, например: xor ax, ax Это просто очищает значение регистра?
вопрос задан: 8 July 2015 15:08
0
ответов

Как написать программу hello world на ассемблере для 64-битной Mac OS X с помощью printf?

Я пытаюсь научиться писать на ассемблере для 64-битной Mac OS. У меня нет проблем с 32-битной Mac OS и 32-битным и 64-битным Linux. Однако 64-битная Mac OS другая, и я не мог понять. ...
вопрос задан: 8 July 2015 14:25
0
ответов

Что делает инструкция MOVZBL в синтаксисе AT-T IA-32?

Что именно делает инструкция movzbl 0x01 (% eax,% ecx),% eax?
вопрос задан: 29 June 2015 12:04
0
ответов

Почему CMP ( compare) иногда устанавливает флаг переноса в сборке 8086?

Я читал повсюду, и в наборе инструкций 8086 говорится, что CMP (сравнение) может установить флаг переноса. Я понимаю, что сравнение вычитает два операнда, но мне было интересно, может ли кто-нибудь ...
вопрос задан: 26 June 2015 13:00
0
ответов

Флаги переполнения и переноса на Z80

Я дошел до реализации набора кодов операций ADD A, r на моем ядре Z80. У меня была небольшая путаница по поводу флагов переноса и переполнения, которые, как мне кажется, я прибил, но я хотел добавить их к ...
вопрос задан: 25 June 2015 22:32
0
ответов

Инструкция перехода в сборке MIPS

Вот код сборки MIPS, который я написал для проверки инструкции перехода: addi $ a0, $ 0, 1 j next next: {{1} } j skip1 добавить $ a0, $ a0, $ a0 skip1: j skip2: добавить $ a0, $ a0, $ a0 {{1} } add $ a0, $ a0, $ a0 skip2: j skip3 loop:
вопрос задан: 25 June 2015 11:15
0
ответов

Какой язык ассамблеи для изучения [закрыто]

Я заинтересован в учебной ассамблее, конкретно потому, что я нахожу полиморфный код довольно интересным, и я своего рода смущенным, насколько я должен учиться. Я слышал, что X86 является наиболее распространенным для изучения или ...
вопрос задан: 24 June 2015 22:59
0
ответов

если переход против функции переход [закрыто]

Я знаю, что скачок в памяти, если statment более быстрый, чем скачок вызова функции. Я хочу знать, сколько, если оператор перехода быстрее, чем функция перехода? Я ищу приблизительный ...
вопрос задан: 24 June 2015 07:32
0
ответов

Что означает звездочка * перед адресом в сборке x86-64 AT&T?

Что означает ли следующая строка: ... 401147: ff 24 c5 80 26 40 00 jmpq * 0x402680 (,% rax, 8) ... Что означает звездочка перед адресом памяти? Кроме того, что это означает, когда ...
вопрос задан: 18 June 2015 15:36
0
ответов

How to write self-modifying code in x86 assembly

I'm looking at writing a JIT compiler for a hobby virtual machine I've been working on recently. I know a bit of assembly, (I'm mainly a C programmer. I can read most assembly with reference for ...
вопрос задан: 13 June 2015 09:41
0
ответов

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

Я изучаю программирование на ассемблере в целом, поэтому я решил попробовать реализовать «виртуальный микропроцессор» в программном обеспечении, которое имеет регистры , флаги и ОЗУ для работы, реализованные с помощью переменных ...
вопрос задан: 11 June 2015 12:15
0
ответов

Реализация регистров в виртуальной машине C

Я написал виртуальную машину на C в качестве хобби-проекта. Эта виртуальная машина выполняет код, очень похожий на синтаксическую сборку Intel x86. Проблема в том, что регистры, которые использует эта виртуальная машина ...
вопрос задан: 11 June 2015 12:01
0
ответов

Язык/формат вывода для игрушечного компилятора

Я прошел курс компиляторов в университете, и это было очень информативно и очень весело, хотя и много работы. Поскольку нам дали спецификацию языка для реализации, одну вещь я не усвоил...
вопрос задан: 11 June 2015 07:26
0
ответов

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

0x0000000000400448
: push % rbp 0x0000000000400449
: mov% rsp,% rbp 0x000000000040044c
: mov $ 0x6,% eax 0x0000000000400451
: ...
вопрос задан: 10 June 2015 19:29
0
ответов

Как поставить паузу в инструкции, указанной адресом в gdb? [дубликат]

Как я могу поставить точку останова на этой инструкции. Когда я пишу либо: break 9048f23 break * 9048f23 Это не работает. Как я могу поставить точку останова на этой инструкции. 9048f23: 8a 51 e6 ...
вопрос задан: 10 June 2015 05:46
0
ответов

ВХОДИТЕ и ВЫЙТИ в Assembly?

Я читал «Искусство языка ассемблера» (Randall Hyde, ссылка на Amazon), и я опробовал консольное приложение из этой книги. Это была программа, которая создала для себя новую консоль с использованием Win32 API ...
вопрос задан: 11 May 2015 11:47