Все вопросы: [nasm]

29 вопросов

похожие теги:
0
голосов
3ответов
2623 просмотров

Сборка x86: какой главный пролог и эпилог?

Я следую этому руководству по сборке x86.В каждом примере до сих пор используется то, что автор называет программой «c-драйвер», скомпилированной с помощью модуля сборки, для некоторой «инициализации».Что-то вроде: int main(void) { int ret = asm_main(); return ret; } Затем функция a...

1
голосов
2ответов
415 просмотров

Сборка DOS Простая математика

У меня есть номер, хранящийся в dl, и мне нужно, чтобы он работал с числами до трех цифр? Вот рабочий код для цифр 0-9. WriteNumber: ;; print out number in dl push ax push dx add dl,"0" mov ah,02h ; printing one char int 21h pop dx pop ax ret Например, для двух цифр. Я мог бы взять дл / 1...

11
голосов
5ответов
6848 просмотров

How to load a kernel from disk with BIOS int 13h in NASM assembly?

I've been stuck with this for weeks now and have no idea where I'm going wrong because NASM hasn't given me any errors. The code is pretty self explanatory because of the comments. this is the code that is loaded from the BIOS ;-------------------------------------------- ; 'boot.asm' ; load...

6
голосов
4ответов
7387 просмотров

How can I access system time using NASM?

I am trying to seed my random number generator with current system time. How can I access the system time using NASM? (I am using linux)

0
голосов
3ответов
1798 просмотров

Inline Assembly Jump Error

Why does this fail, once Masm reaches jmp? struct gdt_entry { unsigned short limit_low; unsigned short base_low; unsigned char base_middle; unsigned char access; unsigned char granularity; unsigned char base_high; }; struct gdt_ptr { unsigned short limit; unsigne...

5
голосов
1ответов
7552 просмотров

Converting problem: __asm__ __volatile__

I have been dealing with Nasm on a linux environment for some time and this function worked great... but now I am switching to a windows environment and I want to use Masm (with VS2008) I cant seem to get this to work... void outportb (unsigned short _port, unsigned short _data) { __asm__ __vo...

0
голосов
2ответов
1959 просмотров

Using NASM as inline assembler compiler in Visual Studio 2008?

I managed to set NASM as compiler for separate .asm files, but I can't find a way to set NASM as compiler for inline assembler (__asm directive). For example, helloWorld db "Hello world !",0 won't compile (assembler syntax error, found "db"). Is there a way to do that ? Or am I bound to...

3
голосов
1ответов
1094 просмотров

Windows/DOS Assembly - Simple Math

I'm currently learning Windows/DOS assembly. I'm just making a small program that adds two base 10 integers, and outputs the solution to standard output. Here is my current code: org 100h MOV al,5 ADD al,3 mov dx,al mov ah,9 int 21h ret I'm confused as to why when that is compiled, I get ...

7
голосов
3ответов
3863 просмотров

Executing a flat binary file under Linux

Is there a way to execute a flat binary image in Linux, using a syntax something like: nasm -f bin -o foo.bin foo.asm runbinary foo.bin

11
голосов
6ответов
7541 просмотров

gas vs. nasm: which assembler produces the best code?

Both tools translate assembly instructions directly into machine code, but is it possible to determine which one produces the fastest and cleanest code?

1
голосов
2ответов
2793 просмотров

NASM printing out time - code doesn't output anything

I'm just getting started with ASM (NASM), and need some help with the following snippet. I get no errors/warnings, it just doesn't output anything. What I was expecting was for it to get the time (13), then print that out (4), then exit (1). Also, does anyone know of some good (preferably NASM...

5
голосов
8ответов
4799 просмотров

Отключить кеши L2 / L1

Я пытаюсь отключить кэш внутренней и внешней памяти своего процессора, моя конфигурация приведена выше: Рабочая станция Dell Precision -Intel Core 2 Duo E6550 2.33 ГГц -Ubuntu 8.10 Я попытался отключить его через BIOS, но оказалось, что компьютеры DELL не позволяют пользователям получать дост...

89
голосов
8ответов
158222 просмотров

Как написать hello world на ассемблере под Windows?

Я хотел написать что-нибудь базовое на сборке под Windows, использую NASM, но ничего не получается. Как написать и скомпилировать hello world без помощи функций C в Windows?

1
голосов
5ответов
771 просмотров

Вызовы Windows API из сборки с минимизацией размера программы

Я пытаюсь написать программу на ассемблере и сделать полученный исполняемый файл как можно меньше . Для некоторых из того, что я делаю, требуются вызовы API Windows для таких функций, как WriteProcessMemory. У меня были некоторые успехи с вызовом этих функций, но после компиляции и компоновки м...

6
голосов
4ответов
643 просмотров

Почему инструкция mov напрямую использует ax вместо двух сегментных регистров?

Я вижу такой код: mov ax, cs mov ds, ax mov es, ax Почему я не могу просто сжать это до: mov ds, cs mov es, cs Является ли первый способ быстрее, так как он использует регистр аккумулятора? Но это не кажется интуитивно понятным, поскольку cs и ds являются сегментными регистрами . ...

0
голосов
4ответов
2225 просмотров

как получить доступ к звуковой карте в Linux с помощью nasm

Здравствуйте, я хочу знать, как я могу получить доступ к звуковой карте из программы сборки nasm, используя int 0x80. а также какие значения я должен ввести в регистры при доступе к звуковой карте. есть ли какое-либо руководство или что-то, что содержит подробную информацию об аргументах, кот...

4
голосов
1ответов
4932 просмотров

Как загрузить ядро ​​в память с CD-ROM с помощью Assembly (NASM)

Я пишу для себя загрузочную программу и ядро, и загрузочная программа и ядро ​​будут записаны на CD-R и будут работать как CD-live. Это не Linux CD-Live или что-то еще, это полностью мой собственный загрузчик и ядро. Я не хочу использовать другие загрузчики (например, GRUB), поэтому, пожалуйста,...

37
голосов
7ответов
27642 просмотров

Базовое, но подробное руководство по сборке (Linux)?

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

4
голосов
5ответов
2078 просмотров

Как перейти из защищенного режима в реальный в Linux 2.6?

Как перейти из защищенного режима в реальный в Linux 2.6?

0
голосов
2ответов
2047 просмотров

Вызов процедуры сборки в объекте C

Я написал функцию nabs в файле сборки math.nasm следующим образом %ifdef USE_x86_ASM SECTION .text cglobal nABS ;*------------------------* ;* int nABS(int a) * ;* return value in eax * ;*------------------------* ALIGN 16 nABS: push ebx ...... ...

4
голосов
7ответов
1218 просмотров

Какие есть хорошие ресурсы на ассемблере x86?

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

5
голосов
2ответов
4162 просмотров

Как перевести "push byte" NASM в синтаксис GAS?

Я «портирую» исходный код NASM на GAS и обнаружил следующие строки кода: push byte 0 push byte 37 GAS не поддерживает "push byte" или "pushb". Как мне перевести приведенный выше код в синтаксис GAS? Спасибо

10
голосов
4ответов
6596 просмотров

Как мне компилировать программы DOS в Debian?

Для моего класса языка ассемблера мы пишем программы DOS с использованием DPMI. К сожалению, у меня нет постоянного доступа к 32-битной машине с Windows. У меня есть виртуальная машина Debian, установленная практически на каждом компьютере, который я использую. У меня установлены DOSBox и DOS...

2
голосов
2ответов
16501 просмотров

Как получить ввод пользователя с помощью NASM?

Программа должна принять простую строку от пользователя и отобразить ее обратно. Я получил программу для ввода данных от пользователя, но я не могу ее сохранить. Вот что у меня есть: BITS 32 global _main section .data prompt db "Enter a string: ", 13, 10, '$' input resd 1 ; something I can u...

3
голосов
6ответов
3919 просмотров

строки с завершающимися долларами

В моем классе языка ассемблера нашим первым заданием было написать программу для вывода простой строки, оканчивающейся долларом в DOS. Выглядело это примерно так: BITS 32 global _main section .data msg db "Hello, world!", 13, 10, ’$’ section .text _main: mov ah, 9 mov edx, msg int 2...

11
голосов
5ответов
5960 просмотров

Какой лучший ресурс для изучения (N) ASM?

Я уже давно хотел изучить ассемблер, и хотя я уже пробовал несколько раз раньше, мне не удалось пройти мимо «Hello, world». Есть ли какие-нибудь хорошие вводные руководства по сборке (желательно с использованием NASM, так как я использую Windows и Linux)? Я немного разбираюсь в C, но в основн...

2
голосов
3ответов
2058 просмотров

Почему этот код NASM печатает мои переменные среды?

Я как раз заканчиваю курс компьютерной архитектуры в этом семестре, где, помимо прочего, мы занимались сборкой MIPS и запускали ее в симуляторе MARS. Сегодня из любопытства я начал возиться с NASM на своем компьютере с Ubuntu, и в основном просто собирал все по кусочкам из руководств и почувство...

1
голосов
2ответов
365 просмотров

Невозможно запустить программу сборки

Я только начал читать Введение в язык ассемблера 80x86 и архитектуру компьютера. Я пытаюсь использовать NASM для запуска первого примера, показанного в главе 3, но безуспешно. Кто-нибудь читал книгу и запускал примеры?

5
голосов
4ответов
2964 просмотров

Смешивание 32-битного и 16-битного кода с nasm

Это системный вопрос низкого уровня. Мне нужно смешивать 32-битный и 16-битный код, потому что я пытаюсь вернуться в реальный режим из защищенного режима. В качестве небольшой справочной информации, мой код делает это сразу после загрузки GRUB, поэтому у меня нет какой-либо надоедливой операц...