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

Чтение из памяти в реальном режиме 8086 при использовании «ORG 0x0000»
Я возился со сборкой x86-16 и запускал ее с VirtualBox. По какой-то причине, когда я читаю по памяти и пытаюсь напечатать его как символ, я получаю совершенно другие результаты, чем ожидал. Однако, когда я жестко кодирую символ как часть инструкции,...
1789 просмотров
schedule 02.08.2022

Сборка x86: проблема с инструкцией movsd
Это моя проблема: я пытаюсь использовать scanf (в msvcrt.dll ) для ввода одного значения с плавающей запятой в flat assembler , затем я пишу простую "программу сканирования", подобную этой (в C ): #include <stdio.h> int main() {...
7249 просмотров
schedule 15.08.2022

Как получить двойное возвращаемое значение функции atof() (из msvcrt.dll) в сборке?
Я хочу преобразовать строку, представляющую число с плавающей запятой, в двойную (64-битную ieee754) и сохранить результат преобразования в регистре RAX из сборки (используя FASM). Прежде всего, я включил библиотеку в свой main.asm: atof: jmp...
519 просмотров
schedule 07.09.2022

Почему программа не отображает результат?
Я хочу написать программу, которая переводит углы в радианы. format ELF executable 3 entry start segment readable executable deg2rad: mov ax, [val] mov bx, 180 ; rad = deg*pi/180 mul [pi] ;rad = deg*pi/180 div ebx start:...
51 просмотров
schedule 30.09.2022

ассемблер (fasm) - прочитать символ
функция прерывания биоса 21h (ah = 1h) должна считывать символ со стандартного ввода и повторять его. Моя функция чтения: mov ah, 1h int 21h Итак, если я нажму клавишу, он это поймет, но не будет повторять символ. Поскольку я...
1941 просмотров
schedule 25.07.2023

Как изменить таблицу импорта ассемблерной программы, скомпилированной flatassembler
Я тестирую программу сборки, скомпилированную flatassembler, и ей нужно изменить таблицу импорта, поэтому, когда я запускаю objdump , я вижу, какие внешние функции пытается вызвать программа. Итак, я начинаю с: format PE GUI section '.flat'...
1159 просмотров

сборка 2 программы меняют друг друга
Интересно, почему, когда вы выполняете 2 программы сборки одновременно или они используют потоки, это будет выглядеть так. //program1 mov eax,1 add eax,50 program 2 xor eax,eax add eax,eax Доступ к регистрам, в отличие от оперативной памяти,...
153 просмотров
schedule 09.04.2023

Зачем программисту на ассемблере вычитать из ebp в этом месте вместо esp?
У меня небольшое замешательство по поводу использования ebp и esp в отношении настройки кадра стека на языке ассемблера x86. В следующем коде: section '.code' code readable executable ; define the code section of the file main:...
574 просмотров
schedule 09.10.2022

Сравнение 80-битных чисел с плавающей запятой в FASM с заданной точностью
Я пишу программу, которая вычисляет число Пи, используя серию Нилаканта в цикле с точностью не менее 0,05%. Условием выхода из этого цикла должно быть, когда текущее вычисленное значение res и ранее вычисленное значение prev соответствуют |res -...
72 просмотров
schedule 16.12.2022

Код Option Rom не может напечатать предполагаемую строку с помощью эмуляции Qemu
Пытался протестировать простую программу ISA Option Rom, скомпилированную с помощью FASM или NASM, которая просто распечатывает простое сообщение «Hello World». Проблема в том, что вместо печатаемой строки я получаю пару неожиданных символов при...
455 просмотров
schedule 15.10.2023

Функция GetVersionEx для Windows 8.1 и выше (fasm)
Пишу приложение в fasm и у меня проблема с определением Windows версии 8.1 и выше. Функции GetVersionEx и Version Helper дают мне Windows 8. Как говорит MSDN, я должен настроить свое приложение, изменив файл манифеста в Visual Studio, но я не...
124 просмотров
schedule 04.11.2023

64-битный PE-файл без таблицы поиска импорта
У меня есть 64-битное приложение Hello World для Windows. Он был создан с использованием плоского ассемблера (fasm). У меня больше нет исходного кода, но это очень простой пример, который вызывает: MessageBoxA() ВыходПроцесс() Я открыл...
542 просмотров
schedule 23.12.2023

Как использовать fs:bx в инструкции вызова в Flat Assembler?
Я создаю ядро, и мне нужна помощь с инструкцией вызова. Я использую Flat Assembler для сборки ядра. call fs:bx Возможно ли это? Потому что плоский ассемблер выдает ошибку "неверный размер операнда". я знаю, что могу сделать call...
244 просмотров
schedule 26.04.2024