Вопросы по теме '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 просмотров

Является ли «.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 просмотров

Ассемблер 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 просмотров

Какова цель инструкции TEST, которая имеет один и тот же регистр для обоих операндов?
testl %esi, %esi jle .L7 Я имею в виду, что я понимаю, что test на самом деле объединяет операнды по И, но что он делает в этом случае?
133 просмотров
schedule 13.07.2022