Вопросы по теме 'nasm'
Вызов подпрограммы ассемблера в цели C
Я написал функцию nabs в файле сборки math.nasm следующим образом.
%ifdef USE_x86_ASM
SECTION .text
cglobal nABS
;*------------------------*
;* int nABS(int a) *
;* return value in eax *
;*------------------------*
ALIGN 16...
2062 просмотров
schedule
28.06.2022
Вызовы Windows API из сборки с минимизацией размера программы
Я пытаюсь написать программу на ассемблере и сделать полученный исполняемый файл как можно меньше . Для некоторых из того, что я делаю, требуются вызовы API Windows для таких функций, как WriteProcessMemory. У меня был некоторый успех с вызовом...
779 просмотров
schedule
08.09.2022
Отключить кеши L2/L1
Я пытаюсь отключить кеш внутренней и внешней памяти моего процессора, моя конфигурация указана выше: -DELL Precision WorkStation -Intel Core 2 Duo E6550 2,33 ГГц -Ubuntu 8.10
Я пытался отключить его через BIOS, но оказалось, что компьютеры DELL не...
4927 просмотров
schedule
07.05.2022
Проблема преобразования: __asm__ __volatile__
Некоторое время я имел дело с Nasm в среде Linux, и эта функция отлично работала ... но теперь я переключаюсь на среду Windows и хочу использовать Masm (с VS2008). Кажется, я не могу заставить это работать .. .
void outportb (unsigned short...
7930 просмотров
schedule
14.04.2022
Встроенная сборка Nasm с использованием GCC
В моем проекте мне нужно использовать встроенный ассемблер, но это должен быть Nasm, потому что я не очень хорошо знаком с GAS. Моя попытка:
void DateAndTime()
{
asm
(.l1: mov al,10 ;Get RTC register A
out RTCaddress,al...
4860 просмотров
schedule
01.07.2023
адресация на ассемблере
Есть что-то, что я не могу переварить. Я немного изучаю ассемблер и сейчас нахожусь на главе с адресацией. Я понимаю концепцию скобок для разыменования, но почему-то, когда я вижу ее использование, я просто не могу впитать в нее смысл. Чтобы быть...
3817 просмотров
schedule
01.04.2024
Возведение числа в квадрат в сборке NASM без умножения
Можно ли возвести в квадрат число, хранящееся в регистре (скажем, eax), без умножения (с помощью сдвигов и т. Д.)? Я буду возводить в квадрат 16-битное число в 32-битной сборке, поэтому переполнение не должно быть проблемой. Я использую сборку NASM...
2935 просмотров
schedule
18.02.2022
80x86 16-битный asm: lea cx, [cx*8+cx] вызывает ошибку на NASM (компиляция файла .com)
Ошибка, которую выдает NASM (несмотря на мою рабочую ОС), — «недопустимый эффективный адрес».
Теперь я видел много примеров того, как использовать LEA, и я думаю, что понял это правильно, но все же моему NASM это не нравится. Я попробовал lea cx,...
2299 просмотров
schedule
27.07.2022
Почему это недопустимый операнд?
У меня есть следующий файл ASM, созданный компилятором, который я пишу:
; This code has been generated by the 7Basic
; compiler <http://launchpad.net/7basic>
; Uninitialized data
SECTION .bss
v_0 resb 4
v_4 resb 4
v_8 resb 4
; Code...
3459 просмотров
schedule
09.12.2023
Оператор MUL против оператора IMUL в NASM
Есть ли причина, по которой оператор MUL имеет только один операнд? Оператор IMUL может быть в трех различных формах (с одним, двумя или тремя операндами), и это намного удобнее. С технической точки зрения я не вижу причин, по которым оператор MUL не...
7296 просмотров
schedule
18.01.2023
Требуется простой Hello-World, шелл-код без нулей для Windows
Я хотел бы протестировать переполнение буфера, написав «Hello World» на консоль (используя Windows XP 32-Bit). Шелл-код должен быть без нулей, чтобы "scanf" мог передать его программе, которую я хочу переполнить. Я нашел множество руководств по...
2635 просмотров
schedule
06.05.2024
Ссылка на прерывание NASM x86?
Кажется, я не могу найти хороший справочник по прерываниям NASM x86 в системе Linux. Например, что такое int 0x60 и чем оно отличается от int 0x80 ?
Есть ли где-нибудь руководство, в котором перечислены все номера прерываний, которые можно...
4641 просмотров
schedule
06.05.2023
вызвать эквивалент условий перехода
в ассемблере 80x86 есть ли эквивалентный способ использования «вызова», как мы делаем с «je», «jl», «jg», «jne»? я хочу «звонить», только если выполняется условие ..?
я хочу реализовать:
cmp eax, 1
je something
; and continuing from here...
716 просмотров
schedule
09.02.2023
сборка nasm вводит значения с плавающей запятой в массив
работая над вводом значений с плавающей запятой в массив, затем складывая их и получая сумму
пока у меня есть этот код для него, но мой флаг, который проверяет, равен ли ввод 0 для выхода из цикла для ввода чисел с плавающей запятой, продолжает...
2683 просмотров
schedule
21.03.2022
Ошибка сегментации при попытке записи цикла for в NASM в Linux
Я пытаюсь написать простую программу NASM для развлечения, но я не могу понять, как написать в ней цикл for. Со следующим кодом я получаю ошибку сегментации. Следующий код должен вывести «Hello world!» затем следуют все числа от 1 до 100....
1890 просмотров
schedule
26.08.2023
Хвостовая рекурсия в сборке
Я пытаюсь немного научиться ассемблеру. Я использую NASM вместо синтаксиса AT&T.
Это моя первая программа, она сравнивает два аргумента командной строки и выводит, какой из них наименьший (отдавая предпочтение первому, если они равны).
Я думаю,...
1726 просмотров
schedule
03.10.2023
Связывание загрузочного сектора pe-i386
Я сделал два объектных файла. Один делается с помощью nasm -f win32:
C:\home\os> objdump -d boot.obj
boot.obj: file format pe-i386
Disassembly of section .text:
00000000 <.text>:
0: 02 d0 add %al,%dl...
652 просмотров
schedule
03.11.2022
Почему этот код загрузчика не работает?
Я ожидаю, что он печатает строку, но ничего не распечатывается. Когда я укорачиваю строку, это иногда срабатывает, а когда я снова удлиняю их, это иногда срабатывает.
Я не знаю, почему это не работает.
Может ли кто-нибудь помочь мне? Спасибо....
684 просмотров
schedule
06.03.2022
вызов fscanf в сборке с помощью nasm
Я пытаюсь прочитать 3 значения из файла с форматом целого числа с пробелами. Например:
5, 3
В этом точном формате, то есть: без пробела после 5, пробела после запятой и без пробела после 3.
Я успешно вызвал fopen, чтобы открыть файл, и...
2497 просмотров
schedule
18.05.2023
Вызов символов equ'd в GAS
Вот небольшая программа NASM:
[BITS 64]
[ORG 0x0000000000200000]
b_print_newline equ 0x0000000000100040
start:
call b_print_newline
ret
Соберите это:
$ nasm -f bin pr-nl-a.asm -o pr-nl-a.app...
289 просмотров
schedule
21.05.2022