Вопросы по теме 'nasm'

Какие есть хорошие ресурсы на языке ассемблера x86?
Какие есть хорошие онлайн-ресурсы (справочники, книги, учебные пособия, документация и т. Д.) Для обучения и программирования на языке ассемблера (в частности, nasm)? Кажется, что некоторые из языков ассемблера довольно загадочны, и у меня иногда...
1293 просмотров
schedule 01.07.2022

Как я могу получить доступ к системному времени с помощью NASM?
Как я могу получить доступ к системному времени с помощью NASM в Linux? (Примечание редактора: принятый ответ для 16-битной DOS с прямым доступом к оборудованию; он будет работать внутри DOSBox. Другие ответы на самом деле предназначены для Linux.)
7866 просмотров
schedule 24.12.2022

GCC выводит ошибку неопределенной ссылки на `printf' при использовании оператора extern NASM для доступа к printf
Я изучаю NASM и пытаюсь скомпилировать этот код (который я нашел здесь ). Он собирается с помощью этой команды NASM: nasm -f coff -l printf.lst printf1.asm на printf.o , но эта команда связывания gcc: gcc -o printf1 printf1.o не...
7419 просмотров
schedule 09.02.2024

Генерация моно ASM
Я хочу попробовать написать простое ядро ​​​​на С#, например, космо, просто для обучения. Можно ли сгенерировать ASM x86 или x86-64 из сборки Mono? потому что mono --full-aot генерирует исполняемый файл... После генерации ASM мне нужно...
283 просмотров
schedule 02.09.2022

Язык ассемблера тоже специфичен для ассемблера? Какой ассемблер лучше?
Я изучаю язык ассемблера. Я начал с PC Assembly Language Пола А. Картера, который использует NASM (сетевой ассемблер). Затем в середине я переключился и начал читать Introduction to 80×86 Assembly Language and Computer Architecture , который...
1208 просмотров
schedule 09.11.2022

Как читать / пользоваться мышью из загрузчика?
Я хочу использовать мышь из загрузчика, но int33h не работает (прерывание DOS и загрузка DOS отсутствует), так что вы можете мне помочь, как я могу прочитать положение мыши, статус и т. Д. Без использования int33h? Спасибо
1226 просмотров
schedule 24.08.2023

ядро Linux загружается с моего загрузчика
Я хочу загрузить Linux, используя свой собственный загрузчик. Предварительные исследования и Google сказали мне, что мне придется использовать функцию start_kerne(). Я хочу спросить, как я могу вызвать start_kernel() из сборки. Я уже отформатировал...
790 просмотров
schedule 30.01.2023

Я пишу ассемблер или NASM?
Мне это надоело. Некоторое время я пытался разобраться в ассемблере, но мне кажется, что я кодирую свой компилятор, а не язык. Я использую это руководство , и пока это меня ужасно . Я использую NASM, что может быть проблемой, но я решил, что он...
2688 просмотров
schedule 18.06.2023

Загрузчик ОС не работает
Я делаю пользовательскую операционную систему. У меня есть два файла nasm: загрузочный.asm: [BITS 16] ;tell the assembler that its a 16 bit code [ORG 0x7C00] ;Origin, tell the assembler that where the code will ;be in memory after it is...
1076 просмотров
schedule 09.12.2022

Как отлаживать собранную программу?
У меня есть программа, написанная на ассемблере, которая вылетает из-за ошибки сегментации. (Код не имеет значения, но находится здесь .) Мой вопрос: как отлаживать программу на ассемблере с помощью GDB? Когда я пытаюсь запустить его в GDB и...
3061 просмотров
schedule 27.04.2023

Как вызвать fgets в сборке x86?
Согласно документации для fgets() , функция принимает три параметра: char * — строка, которая будет содержать ввод int  — целое число, представляющее максимальное количество символов для чтения. ФАЙЛ *  – FILE * для потока, из...
5423 просмотров
schedule 30.10.2022

Более эффективный способ вывода целого числа в чистой сборке
Я хочу вывести целое число, используя чистую сборку. Я использую nasm на 64-битной машине Linux. На данный момент я ищу способ вывода целых чисел для отладки компилятора, но я хочу использовать тот же код для написания ОС, что также является...
904 просмотров

NASM и GDB: потеря первой инструкции
Я изучаю ассемблер и обнаружил следующее удивительное. По сути, я скопировал какой-то код hello world откуда-то из Интернета. section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80...
553 просмотров
schedule 14.08.2022

Поиск подстроки в сборке
Мне интересно, есть ли более эффективный метод поиска подстроки в сборке, чем то, что я сейчас планирую делать. Я знаю, что строковая инструкция "scansb/scasw/scads" может сравнивать значение в EAX со значением, адресуемым EDI. Однако, насколько я...
2883 просмотров
schedule 28.11.2022

стрлен в сборе
Я сделал свою собственную реализацию strlen на ассемблере, но она не возвращает правильное значение. Возвращает длину строки + 4. Следовательно. Не понимаю, почему... и надеюсь, что кто-нибудь из вас понимает... Источник сборки: section .text...
19574 просмотров
schedule 10.10.2022

Проблема с ошибкой сегментации NASM
Приветствую, пишу на NASM под linux, и у меня следующая проблема: Мне нужно написать простенькую программу, в которой пользователь должен ввести строку, передать ее функции, которая возвращает ее размер: Код: %include "macros.inc"...
841 просмотров
schedule 14.07.2022

Использование памяти, возвращаемой вызовом malloc в NASM
Я использую компилятор nasm для компиляции своего кода в объектный файл, а затем вызываю компоновщик gcc, чтобы связать этот объектный файл для создания окончательного исполняемого файла. Это означает, что у меня есть доступ к библиотекам времени...
9339 просмотров
schedule 06.09.2022

Как связать сборку ELF32 и файлы C?
Я написал простую программу на ассемблере (nasm) и простое приложение на C. Мой код на C вызывает функцию из кода на ассемблере, но я не знаю, как скомпилировать код на C, не получая при этом ошибки «неопределенная ссылка» 'внешняя сумма int();'...
7277 просмотров
schedule 06.01.2024

Как можно создавать файлы .dll с помощью NASM?
Можно ли собрать код сборки в файлы .dll с помощью ассемблера NASM? Мне это нужно, потому что я хочу связать файл .dll, содержащий код сборки, и файл .dll, содержащий код C++, и загрузить этот .dll с помощью JNI (собственный интерфейс Java), который...
1813 просмотров
schedule 29.07.2022

Печать символа из регистра
Я использую ассемблер NASM. Значение, возвращаемое в регистр eax, должно быть символом, когда я пытаюсь напечатать целочисленное представление, это значение выглядит как адрес памяти. Я ожидал десятичного представления буквы. Например, если...
569 просмотров
schedule 12.05.2023