0
ответов

Автоматически генерировать имя регистра xmm в макросе газа?

Я хотел бы написать макрос газа для генерации кода, содержащего различные инструкции movdqu для регистра xmm в зависимости от параметра n. .macro xxmov n, p1 .if (\ n == 1) ...
вопрос задан: 13 November 2017 02:38
0
ответов

Неверный суффикс инструкции для push при сборке с газом

При сборке файла с помощью ассемблера GNU я получаю следующую ошибку: hello.s: 6: Ошибка: недопустимый суффикс инструкции для `push ' Вот файл, который я пытаюсь собрать: .text LC0: ...
вопрос задан: 23 May 2017 12:17
0
ответов

Почему _exit(0) (выход по системному вызову) не позволяет мне получать содержимое stdout?

У меня есть программа сборки Linux x86-32 GAS, завершающаяся следующим образом: movl $1, %eax movl $0, %ebx # аргумент для _exit int $0x80 Когда я выхожу таким образом, программа работает как обычно, но если я попытаюсь...
вопрос задан: 23 May 2017 10:28
0
ответов

Как вызывать функции C из ARM Assembly?

Я пишу код, ориентированный на ARM Cortex-A на устройствах Android (используя ассемблер и компилятор GNU), и пытаюсь взаимодействовать между Ассемблером и C. В частности, меня интересует вызов функций ...
вопрос задан: 14 October 2016 12:01
0
ответов

Ошибка «нет такой инструкции» при сборке проекта в Mac OS X

Я использовал homebrew для установки GCC 4.7.0, и мой проект не работает. во время сборки -. Я могу успешно взять код из.c ->.s, но.s ->.o не работает. Чтобы просмотреть формулу brew, используемую для установки GCC,...
вопрос задан: 16 June 2016 10:21
0
ответов

Як стварыць звычайныя бінарныя файлы, такія як nasm -f bin, з дапамогай ассамблера GNU GAS?

У мяне ёсць некаторыя Файлы NASM, якія звычайна маюць структуру: [BITS 64] [ORG 0x0000000000200000] start: ... ret Я збіраю іх так: nasm -f bin abc.asm я ...
вопрос задан: 22 October 2015 07:19
0
ответов

Есть ли символ, представляющий текущий адрес в сборке GNU GAS?

Мне любопытно узнать, есть ли какой-либо специальный синтаксис GAS для достижения того же, что и в примере NASM: SECTION .data msg: db "Hello World" , 10,0; строка с завершающим нулем. len: equ $ -...
вопрос задан: 16 October 2015 08:07
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
ответов

вызов функций сборки из c

Я пытаюсь использовать функцию в сборке, вызванную из проекта C. Эта функция должна вызывать функцию libc, скажем, printf (), но я продолжаю получать ошибку сегментации. В файле .c я ...
вопрос задан: 1 July 2014 01:48
0
ответов

Создание кода сборки из кода C #?

Есть ли способ сгенерировать код сборки из кода C #? Я знаю, что это возможно с кодом C с GAS, но знает ли кто-нибудь, возможно ли это с C #?
вопрос задан: 14 October 2013 06:21
0
ответов

Адресация памяти с помощью GNU Assember Intel Syntax

Я читал эту страницу, содержащую хороший список различий между синтаксисом Intel и AT&T для GAS, но она не охватывает случай указания адреса с помощью только смещение. Здесь я собрал...
вопрос задан: 18 April 2012 17:48
0
ответов

внутреннее перемещение не исправлено

Недавно я начал программировать на ассемблере ядра рук. Мои первые небольшие демонстрации, только с разделом.text, запускались без проблем. В качестве логического расширения я хотел структурировать код на ассемблере...
вопрос задан: 11 April 2012 14:31
0
ответов

Как связать объектный файл C с языком ассемблера объектный файл?

У меня возникли проблемы с связыванием 2 объектных файлов, один из которых был сгенерирован из исходного файла языка ассемблера, а другой - из исходного файла C. Исходный код на C: //main2.c extern int ...
вопрос задан: 31 December 2011 23:57
0
ответов

x86_64 Сборка системного вызова Linux путаница

В настоящее время я изучаю язык ассемблера в Linux.Я использовал книгу «Программирование с нуля», и все примеры 32-битные. Моя ОС 64-битная, и я пытался делать все ...
вопрос задан: 14 December 2011 19:26
0
ответов

Понимание базового указателя и указателей стека: In Context with gcc Output

У меня есть следующая программа на C: int main() { int c[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2}; return c[0]; } и при компиляции с помощью директивы -S в gcc я получаю следующую сборку: ....
вопрос задан: 12 December 2011 18:13
0
ответов

GAS: Объяснение .cfi_def_cfa_offset

Я хотел бы пояснить значения, используемые с директивами .cfi_def_cfa_offset в сборке, созданной GCC. Я смутно знаю, что директивы .cfi задействованы в кадрах вызовов и стеке ...
вопрос задан: 28 October 2011 10:22
0
ответов

помогает понять этот код сниппет

Это код сниппета из файла header.S в коде кернела. Я не смог понять, что делает инструкция lretw. Я проверил столько онлайн-источников этой инструкции. # We'll have entered ...
вопрос задан: 8 September 2011 03:37
0
ответов

Подробная информация о жалобе на доступ к памяти GDB

У меня есть объектный файл, скомпилированный с использованием as (из кода ассемблера). Если я свяжу его с помощью ld, при попытке stepi (или nexti) gdb пожалуется на доступ к памяти по адресу 0x0. Если я свяжу его с помощью gcc, все будет ...
вопрос задан: 22 June 2011 19:54
0
ответов

Macro substituting a constant number in GAS

What't wrong with that macro on X86 GNU Assembly? It says the symbol S is undefined during linking. .macro S size=40 \size .endm I'm using it like mov %eax, S
вопрос задан: 5 May 2011 14:29
0
ответов

документация директив ассемблера гну

Я пытаюсь изучить блок миллиона операций в секунду в данный момент. С этой целью я записал очень простой c программе... международное основное () {}... и скомпилировал его на машине миллиона операций в секунду с-S опцией к gcc для генерации ассемблерного
вопрос задан: 8 April 2009 15:42