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