Вопросы по теме 'gnu-assembler'
Установка ассемблера GNU в OSX
Как бы я ни гуглил, я не могу найти (относительно) простую инструкцию по установке GNU Assembler на Mac.
Я знаю, что могу использовать gcc -c (Apple Clang на Mac) для сборки файлов .s / .S , но я хочу использовать настоящий GNU Binutils as .
8076 просмотров
schedule
22.04.2022
Помощь с домашним заданием - вопрос сортировки по выбору ассемблера GNU
Мне нужно создать программу на ассемблере, которая принимает пользовательский ввод как максимальный размер массива, а затем позволяет пользователю создать массив такого размера. Я должен буферизовать это значение максимум до 1000 элементов массива...
1112 просмотров
schedule
04.10.2022
Недопустимый суффикс инструкции для нажатия при сборке с газом
При сборке файла с помощью ассемблера GNU я получаю следующую ошибку:
hello.s:6: Ошибка: недопустимый суффикс инструкции для `push'
Вот файл, который я пытаюсь собрать:
.text
LC0:
.ascii "Hello, world!\12\0"
.globl...
33745 просмотров
schedule
02.10.2022
Является ли «.set noat» неподдерживаемым для сборки MIPS?
В настоящее время я изучаю GNU as и нахожу много полезной информации в "info as".
Я обнаружил, что «.set noat» используется в указанном коде MIPS, но при поиске этой директивы в «информации как» я нашел ее объяснение в узле «альфа-директива», но не...
3663 просмотров
schedule
20.11.2022
Как скомпилировать файл сборки в необработанный двоичный формат (например, DOS .com) с помощью ассемблера GNU (as)?
Я хочу скомпилировать этот исходный код в Windows (это просто пример):
start:
NOP
NOP
Когда я компилирую его с помощью NASM или FASM, длина выходного файла составляет 2 байта. Но когда я компилирую его с помощью ассемблера GNU (as), длина...
10566 просмотров
schedule
31.08.2022
Почему _exit(0) (выход по системному вызову) не позволяет мне получать содержимое stdout?
У меня есть программа сборки Linux x86-32 GAS, завершающаяся следующим образом:
movl $1, %eax
movl $0, %ebx # argument for _exit
int $0x80
Когда я выхожу таким образом, программа работает как обычно, но если я пытаюсь прочитать вывод stdout,...
1196 просмотров
schedule
13.02.2023
Ассемблер x86 Linux получает параметры программы из _start
Я пытаюсь создать программу, чтобы просто написать параметр на экране. Я создал несколько программ, чтобы получить параметр функции C, или я использовал C, чтобы отправить параметр в мою программу asm. Есть ли способ получить параметр программы,...
13495 просмотров
schedule
12.05.2023
Простой цикл while во встроенном ассемблере GCC
Я хочу написать следующий цикл, используя расширенный встроенный ASM GCC:
long* arr = new long[ARR_LEN]();
long* act_ptr = arr;
long* end_ptr = arr + ARR_LEN;
while (act_ptr < end_ptr)
{
*act_ptr = SOME_VALUE;
act_ptr += STEP_SIZE;
}...
6080 просмотров
schedule
05.06.2024
Синтаксис NASM в GAS с использованием intel2gas
У меня есть код, написанный в синтаксисе NASM, и он хорошо работает. Затем я использовал intel2gas для преобразования моего кода NASM в GAS. (используется -i , по умолчанию используется формат Intel в & t).
Я никогда раньше не использовал ГАЗ,...
2086 просмотров
schedule
15.11.2022
Программы на языке ассемблера в linux с использованием amd64
Нужно ли мне использовать синтаксис AT&T (GAS) или синтаксис Intel или что-то еще для написания программы на языке ассемблера в Linux с 64-битной архитектурой AMD с использованием NASM? Какой набор инструкций используется для запуска AMD64?...
1120 просмотров
schedule
25.05.2022
Как создать локальные переменные внутри основной функции?
Я знаю, как передавать параметры пользовательской функции и как создавать локальные переменные внутри такой функции. Но я хочу создать локальные переменные для основной функции.
Таким образом, функция main — это первое, что выполняется при запуске...
112 просмотров
schedule
08.02.2023
Добавляет ли GNU Assembler собственную точку входа?
Скажем, у меня есть следующий код сборки:
.section .text
.globl _start
_start:
Если бы я создал исполняемый файл, используя следующие команды:
as 1.s -o 1.o
ld 1.o -o 1
Добавит ли ассемблер GNU свою собственную точку входа в мой...
1085 просмотров
schedule
18.11.2022
Замена .SET в командной строке
У меня есть сборка (Microblaze), которую мне нужно собрать (с помощью кросс-ассемблера и компоновщика GCC) и выполнить много раз с (одними и теми же) константами, которые в настоящее время фиксируются с помощью
.SET
команды, меняющиеся каждый...
37 просмотров
schedule
14.03.2023
Несоответствие типа операнда GAS Assembler для cmovz
Пытаюсь написать простую программу сборки. По какой-то причине условные ходы, кажется, выдают мне эту ошибку. Если я заменю их обычной инструкцией mov, она сработает. Что не так со следующим кодом?
.section .data
supported:
.asciz "AVX...
544 просмотров
schedule
15.08.2022
Как создать минимальный загрузочный сектор BIOS hello world с помощью GCC, который работает с USB-накопителя на реальном оборудовании?
Мне удалось создать минимальный загрузочный сектор, который работает с QEMU 2.0.0 Ubuntu 14.04:
.code16
.global _start
_start:
cli
mov $msg, %si
mov $0x0e, %ah
loop:
lodsb
or %al, %al
jz halt
int $0x10
jmp loop...
3097 просмотров
schedule
05.03.2023
Написание сборки AT&T для работы с флагом четности и смещениями
У меня есть определенный набор инструкций для x64, которые в конечном итоге либо устанавливают флаг четности, либо сбрасывают его. Я хотел бы написать некоторую сборку, которая пропускает инструкцию установленного флага четности. Из того, что я...
158 просмотров
schedule
26.03.2023
Смешивание C и Сборка. `Hello World` в 64-битном Linux
Основываясь на этом руководстве , я пытаюсь записать Hello World в консоль на 64 битном Linux. Компиляция не вызывает ошибок, но и на консоли нет текста. Я не знаю, что не так.
write.s :
.data
SYSREAD = 0
SYSWRITE = 1
SYSEXIT...
356 просмотров
schedule
06.11.2022
Принтф с газовой сборкой
Я не знаю, почему я не могу ничего напечатать с printf в сборке GAS, если \n (LF - новая строка) отсутствует в конце строки. Если я помещаю символ новой строки \n , строка печатается, но если я удаляю \n , строка не печатается. Может...
1425 просмотров
schedule
11.05.2022
.seh_stackalloc и выравнивание стека
Я пишу сборку x64 для ассемблера GNU. Я пытался читать о директивах .seh_*, но не нашел о них много информации. В документах gas они вообще не упоминаются.
Но насколько я понимаю, если мой код может оказаться в стеке во время операции...
458 просмотров
schedule
22.03.2024
Какова цель инструкции TEST, которая имеет один и тот же регистр для обоих операндов?
testl %esi, %esi
jle .L7
Я имею в виду, что я понимаю, что test на самом деле объединяет операнды по И, но что он делает в этом случае?
133 просмотров
schedule
13.07.2022