Описание тега gas
Соответствующие темы включают макросы Gnu Assembler (GAS), машинно-зависимый синтаксис, проблемы с форматированием и связью. Используйте для общих вопросов ассемблера; теги процессора предназначены для этого.
1
ответ
Попытка преобразовать этот ассемблерный код в C-код
# x at %ebp+8, n at %ebp+12 movl 8(%ebp), %esi movl 12(%ebp), %ebx movl $-1, %edi movl $1, %edx .L2: movl %edx, %eax andl %esi, %eax xorl %eax, %edi movl %ebx, %ecx sall %cl, %edx testl %edx, %edx jne .L2 movl %edi, %eax Я преобразовал приведенный в…
24 апр '16 в 00:02
2
ответа
Необходимо преобразовать старый 32-битный код GAS в текущий ассемблер GAS (pushfl/popl)
Я пытаюсь скомпилировать старый проект на моей современной машине. Я знаю, что этот старый проект использовал старую (2.x) версию GCC/GAS, поэтому мне нужно очистить его, чтобы я мог скомпилировать его с текущей версией. Код в вопросе: __get_flags: …
26 июл '11 в 15:27
1
ответ
Процедуры из C в сборке
Я должен написать короткую программу на ассемблере, но моя версия не работает. Он должен напечатать ASCII char, затем заменить его на целочисленное значение с помощью функции atoi и распечатать это значение. Для этого важно использовать процедуры из…
15 дек '14 в 14:42
1
ответ
Я не понимаю, что не так с тем, как я делаю сравнение (cmpl)
Честно говоря, я не понимаю, что не так с моей программой. Это печатает -5 как самое большое значение в массиве. Конечно, это совершенно неправильно. Это должно быть 34. Я думаю, что проблема определенно лежит где-то здесь: cmpl %ebx, %eax # Compare…
11 июл '16 в 15:27
1
ответ
Как я могу распознать глобальную переменную в GDB из GAS-источника?
Извините за мой плохой английский. Мой рабочий процесс: Я пишу простую программу для gnu asm (GAS) test_c.s: .intel_syntax noprefix .globl my_string .data my_string: .ascii "Hello, world!\0" .text .globl main main: push rbp mov rbp, rsp sub rsp, 32 …
21 фев '14 в 12:06
1
ответ
Конвертировать 32-битную программу в 16-битную
Ошибка ассемблера для моего 16-битного кода movzbw (%ax), %ax Ошибка: `(%ax)'не является допустимым выражением базы / индекса Но приведенная ниже инструкция действительна для генерации 32-битного кода. movzbl (%eax), %eax Среда: Процессор: Intel(x86…
14 апр '13 в 08:29
2
ответа
ASM вызов Printf
movl %ebx, %esi movl $.LC1, %edi movl $0, %eax call printf Я использую следующий ассемблерный код для печати того, что находится в регистре EBX. Когда я использую movl $1,%eax int 0x80 и echo $? Я получаю правильный ответ, но ошибка сегментации в пе…
05 янв '13 в 06:00
1
ответ
Сборка ГАЗ Конвертер шестнадцатеричный для двоичного
Привет мне нужно разработать преобразователь шестнадцатеричного числа в двоичное число в сборке ГАЗ. Теперь у меня есть это: .align 32 SYSEXIT = 1 SYSREAD = 3 SYSWRITE = 4 STDOUT = 1 EXIT_SUCCESS = 0 Input_SIZE = 10 .bss .lcomm Input, Input_SIZE .da…
07 ноя '16 в 22:21
1
ответ
Сборка x86 с 3 или 4 параметрами в синтаксисе AT&T
Простой вопрос Я сомневаюсь, что этому будет уделено много внимания, но как мне выполнить 3 или 4 параметра в сборке x86-64 с синтаксисом AT&T; (gAS)? Любому программисту x86, использующему gAS, известно, что аргументы переключаются, например: xor e…
17 дек '12 в 17:18
1
ответ
GNU AS эквивалент ORG в NASM
Какой будет эквивалентная директива в GAS для директивы ORG (origin) в NASM? РЕДАКТИРОВАТЬ: предупреждение для всех: .org это не директива origin, кажется, вместо этого она дополняет собранный файл 00 до указанного адреса.
17 ноя '12 в 03:38
3
ответа
Сборка x86, вводящая в заблуждение ошибка
Я пытаюсь изучить ассемблер, и у меня есть программа с синтаксисом AT&T; для использования с GNU AS, которая, по моему мнению, должна работать. Я получаю эту ошибку с GDB: Program received signal SIGSEGV, Segmentation fault. .PROGRAM () at concatena…
13 сен '09 в 15:50
1
ответ
Написание сборки AT&T для работы с флагом четности и смещениями
У меня есть определенный набор инструкций на x64, которые в конечном итоге либо устанавливают флаг четности, либо сбрасывают его. Я хотел бы написать некоторую сборку, которая пропускает инструкцию установленного флага четности. Из того, что я прочи…
08 окт '15 в 15:06
2
ответа
Вызов метода с использованием встроенного ассемблера в gcc
Итак, как я уже сказал, я пытаюсь вызвать метод с использованием встроенного ассемблера с помощью gcc. Итак, я искал, как работает x86 и каковы соглашения о вызовах, затем я попробовал несколько простых вызовов, которые отлично работали. Затем я поп…
04 окт '12 в 17:22
2
ответа
SIGSEGV При доступе к элементу массива с использованием сборки
Фон: Я новичок в сборке. Когда я изучал программирование, я создал программу, которая реализует таблицы умножения до 1000 * 1000. Таблицы отформатированы так, чтобы каждый ответ был в строке factor1 << 10 | factor2 (Я знаю, я знаю, это не кра…
13 мар '13 в 14:34
1
ответ
Как я могу получить значение int 0x16?
У меня есть этот встроенный ассемблер в моем коде C: asm volatile ("mov %ah, 01\n" "int $0x16\n"); Этот код является версией ассемблера getch() Это работает, но теперь я хочу получить значение, которое вернул этот встроенный ассемблер (в частности, …
19 окт '18 в 23:28
2
ответа
Как библиотечная функция (C) вызывает язык ассемблера gnu?
Я компилирую код. .data ssttrr: .string "%d\n" .text .globl main main: mov $213, %rdx push %rdx push $ssttrr call _printf add $8, %rsp или это .global main .text main: push %rax # caller-save register push %rcx # caller-save register mov $format, %r…
15 апр '13 в 10:14
1
ответ
x86-64 Синтаксис Intel для немедленного операнда rel8?
Первая форма JMP в x86-64: Opcode Instruction Description EB cb JMP rel8 Jump short, RIP = RIP + 8-bit displacement sign Так например JMP rel8=-2 является eb fe, fe является однобайтовым 2-комплиментом со знаком -2. Как мне выразить это rel8 немедле…
03 ноя '13 в 09:56
1
ответ
Создание и вызов функции в сборке x86 (синтаксис AT&T)
Пожалуйста, дайте мне очень простой пример создания функции и вызова ее в сборке x86 (синтаксис AT&T;). На самом деле я пытаюсь создать функцию, которая вычисляет factorial из числа. Вот что я все сделал: #include<syscall.h> #include<asm/un…
03 сен '12 в 14:32
2
ответа
Перемещение усечено до соответствия: R_386_8 против.rodata
Я получил эту ошибку при попытке скомпилировать простую строковую функцию замены регистра в сборке x86 AT&T.; Я пытался посмотреть на другие вопросы с этой ошибкой, но ни один не был достаточно похож, чтобы помочь в моем случае. Большинство имели де…
19 дек '15 в 11:56
2
ответа
Каков формат выходного объектного файла ассемблера GNU?
Я проверил параметры ассемблера GNU-ассемблера, так как не нашел возможности указать формат выходного файла объекта. Если я использую следующую команду as -o foobar.o foobar.s Какой формат файла объекта я получу? В руководстве as сказано, что "GNU a…
18 апр '10 в 10:37