Результаты поиска по запросу "gas"
, Форма с 2 операндами быстрее и записывает только один регистр.)
у меня есть функция сборки, которая вызывается на C. Она компилируется и не выдает мне никаких предупреждений, но когда я пытаюсь ее запустить, она вызывает ошибку сегментации. Я думаю, это потому, что я не могу переместить константу в регистр, ...
(не PIC, статические адреса умещаются в 32 бита)
Мало того, что этот код .SECTION .data msg: .string "AAAA" .SECTION .text .globl _start _start: mov $1, %rax mov $1, %rdi mov msg, %rsi mov $4, %rdx syscallне segfault, он также ничего не выводит.Согласно тому, что я прочитал, программа должна ...
Газовый макрос altmacro со знаком процента в параметре по умолчанию завершается неудачно с «оператором% необходимо абсолютное выражение»
Я хочу создать макрос, как показано ниже: .altmacro .macro assert_eq a, b=%eax LOCAL ok #... .endmДля использования в качестве: assert_eq $1 assert_eq $1, %eaxя хочу.altmacro заLOCAL (Я вижу другую возможность использования\@, но я ...
) []) ap) вход. Обратите внимание, что привязка ввода к выходу - это способ установки инициализированного временного регистра, модифицированного оператором asm. Вход, не связанный с выходом, предполагается, что GCC не изменяется, например, "b" (16) ниже устанавливает% 11-16, и GCC может использовать этот регистр в следующем коде, если значение 16 оказалось необходимым. Вы можете даже использовать нормальный вывод asm для нуля, если все входы, которые могут совместно использовать один и тот же регистр, используются до того, как будут использоваться нуля. Регистры VSX, перекрытые оператором asm, могли бы использовать этот метод, за исключением ограничения GCC на количество параметров asm.
транная просьба, но у меня есть ощущение, что это возможно. Я хотел бы вставить некоторые прагмы или директивы в области моего кода (написанные на C), чтобы распределитель регистров GCCне используй их. Я понимаю, что могу сделать что-то ...
а затем позиционные. Особенно актуально при использовании
я есть несколько файлов NASM, которые обычно имеют структуру: [BITS 64] [ORG 0x0000000000200000] start: ... retЯ собираю их так: nasm -f bin abc.asmЯ хотел бы написать некоторые из них, используя вместо этого ГАЗ. Два вопроса: Какие директивы ...
отлично! Большое спасибо!
асть проекта компилятора я должен написать код ассемблера GNU для x86, чтобы сравнить значения с плавающей запятой. Я попытался найти ресурсы о том, как сделать это онлайн, и насколько я понимаю, это работает так: Если предположить, что значения ...
Замена обработчика прерываний от таймера в DOS с GNU (GCC и GAS)
Как следует из названия, я пытаюсь заменить существующий обработчик прерывания от Таймера в DOS своим собственным. После поиска повсюду различных решений я нашел некоторый код на ассемблере, который делает именно это, и мне даже удалось его ...
Независимая адресация в ассемблере GNU с синтаксисом Intel
На x86-64, как мне загрузить адрес из раздела .data позиционно-независимым способом (PIC и PIE-совместимый) при использовании ассемблера GNU ссинтаксис Intel. Например, используя синтаксис AT & T, вы можете сделать это: leaq mystring(%rip), ...
GAS: объяснение .cfi_def_cfa_offset
Я хотел бы объяснить значения, используемые с директивами .cfi_def_cfa_offset в сборке, сгенерированной GCC. Я смутно знаю, что директивы .cfi участвуют в фреймах вызова и раскручивании стека, но мне хотелось бы более подробное объяснение того, ...
Как скомпилировать файл ассемблера в необработанный двоичный (например, DOS .com) формат с помощью ассемблера GNU (as)?
Я хочу скомпилировать этот исходный код в Windows (это просто пример): start: NOP NOPКогда я компилирую его с помощью NASM или FASM, длина выходного файла составляет 2 байта. Но когда я компилирую его с помощью ассемблера GNU (as), длина ...