Описание тега assembly

Вопросы программирования на ассемблере (asm). НЕОБХОДИМО ТАКЖЕ ОТМЕТИТЬ используемый процессор и / или набор инструкций, а также ассемблер. ПРЕДУПРЕЖДЕНИЕ. Для сборок.NET используйте вместо этого тег [.net-assembly]. Для Java ASM используйте вместо него тег [java-bytecode-asm].
0 ответов

Инструкция QEMU RDRAND не поддерживается

Я пытаюсь запустить собственное ядро ​​в qemu-system-x86_64, Это ядро ​​требует использования rdrand инструкция в начале цикла загрузки и не сможет загрузиться, если она не поддерживается процессором. Я прочитал в ответе на этот вопрос, что rdrand т…
12 фев '16 в 00:48
2 ответа

Понимание операндов x86 m* (FPU и других)

Я пытаюсь сделать простой дизассемблер x86 (пока 32-битный) для учебных целей. Таким образом, документы Intel идут: Но я нахожу это очень запутанным. Прежде всего, операнды m8-32, кажется, указывают либо ES:(E)DI или же DS:(E)SI,Но нельзя сказать, в…
11 апр '18 в 03:44
1 ответ

Найти минимальное целое число и его адрес в мипах

Я изучаю ассемблер и использую mips. Мой код работает нормально, но не останавливается, когда массив закончен Это мой код, можете ли вы сказать мне, что является правильным условием (в B:), чтобы остановить программу и перейти к существованию? .data…
27 окт '13 в 20:16
1 ответ

Запись непосредственно в видеопамять

Я слышал, что int 10h, ah = 0Ch довольно медленный, и чтобы получить разумную скорость, мне нужно было бы перейти в память и поместить значение в пиксел, который я хочу, я установил свой режим видео на 13h с int 10h, Призыв изменить режим видео: mov…
19 май '18 в 22:25
1 ответ

Почему циклы всегда компилируются в стиле "do...while" (прыжок с хвоста)?

При попытке понять сборку (с включенной оптимизацией компилятора) я вижу это поведение: Очень простой цикл, как это outside_loop; while (condition) { statements; } Часто компилируется в (псевдокод) ; outside_loop jmp loop_condition ; unconditional l…
2 ответа

Возможно ли выполнение сборки ARM в iPhone Simulator или Android Simulator?

Кто-нибудь может подсказать, можно ли в симуляторах запускать программы на языке ассемблера?
1 ответ

Быстрые волокна / сопрограммы под Windows x64

Так что у меня есть этот сопрограммный API, расширенный мной, на основе кода, который я нашел здесь: https://the8bitpimp.wordpress.com/2014/10/21/coroutines-x64-and-visual-studio/ struct mcontext { U64 regs[8]; U64 stack_pointer; U64 return_address;…
19 май '18 в 20:46
1 ответ

Изменение разрешения для скомпилированного приложения / игры через asembler?

Я хочу знать, есть ли способ заставить новое разрешение, например, 1920x1080 для скомпилированной игры / приложения, которое было скомпилировано несколько лет назад? Я думаю, что это можно сделать через ассемблер, но я не уверен. Кто-нибудь может ра…
10 дек '14 в 16:32
1 ответ

Как определить переменную, которая занимает пробелы нескольких других переменных?

Этот код написан в формате MS ARM. Мне нужно определить переменную с именем psxRegs который будет занимать именно пространства переменных из reg в intCycle так что я могу его экспортировать. Однако я не знаю, как этого добиться. Как это может быть с…
27 апр '16 в 07:29
1 ответ

TMR0 на языке ассемблера для рис 16f84A

Я пытаюсь использовать TMR0 в своем коде, чтобы заставить зуммер работать над ошибкой, но мне трудно его использовать, я уже потратил 4 часа, пытаясь разобраться с этим, так что теперь я здесь прошу помогите, было бы желательно, ошибка работает на 4…
05 фев '16 в 00:40
2 ответа

Зарегистрировать косвенную адресацию

Я хотел бы знать, если есть разница между: MOV [BX] + 20, AX а также MOV [BX + 20], AX Я рассуждаю так: для 1-го случая мы переносим значение AX + 20 в адрес BX И для 2-го случая мы перемещаем значение AX в адрес BX+ 20 Благодарю.
27 апр '11 в 09:19
1 ответ

Добавление значений в C с использованием встроенной сборки

Я пытаюсь понять основы встроенной сборки в C (сборка ATT), поэтому я тренируюсь, добавляя 2 переменные. Итак, это работает как задумано; переменная src копируется в переменную dst, а затем переменная dst добавляется на 5. Значения src и dst равны 1…
25 янв '15 в 11:53
2 ответа

Вывод мусора из программы на ассемблере x86

У меня проблема с небольшой программой на ассемблере. Эта программа принимает ввод и преобразует его в верхний или нижний регистр. Он правильно конвертируется, но выводит мусор, и я не знаю почему. .model small .stack 64 .data data1 Db 15 dup(?),'$'…
08 май '14 в 19:10
1 ответ

Сборка MIPS - строка инструкций для Hex

Я работаю над чем-то в сборке, где требуется строка для инструкции, например, add $t1, $t0, $t1 и распечатывает инструкцию в шестнадцатеричном виде. Я сканирую строку по частям, а добавление распознается первым. Добавить имеет код операции 001000 (6…
27 апр '12 в 21:39
1 ответ

Почему эта строка объявлена ​​таким образом в сборке?

Я не понимаю эту декларацию: cifre DB N+1,?,N+1 DUP('$') Где N объявлен как N EQU 10, БД содержит строку длиной до 10 символов (считывается с клавиатуры). Но почему N+1,?,N+1 DUP('$')?
05 фев '14 в 04:39
1 ответ

Как работает инструкция MIPS SYSCALL?

Мы хорошо понимаем, что существует три типа прерываний: Внутреннее прерывание Внешнее прерывание Программное прерывание Таким образом, системный вызов является программным прерыванием. Инструкция MIPS SYSCALL в двоичном виде: 00000000000000000000000…
12 сен '16 в 02:31
3 ответа

Вывод Hello World в MASM с использованием функций WIN32

содержание вступление Код Сборка и запуск Разнообразный Вопрос 1. Введение Это не вопрос как таковой (хотя он и есть внизу), а приложение HelloWorld, с которым люди в Stackru могут экспериментировать. Когда я впервые пытался программировать на MASM,…
31 дек '10 в 05:33
2 ответа

Напечатать половину пирамиды чисел в сборке

Я должен написать программу на ассемблере, которая читает число и печатает полупирамиду чисел. то есть: читать 4 Распечатать 1 1 2 1 2 3 1 2 3 4 Я понял, как читать числа, как использовать цикл для печати по одному символу на строку, но я должен исп…
15 янв '17 в 11:27
1 ответ

Подпись без деления в насм

Я пытался отладить небольшую программу сборки, где я запрашиваю дивиденд и делитель, и мне нужно вывести частное и остаток. Однако по некоторым причинам мои частное и остаток не выводятся на экран. Вот мой код: segment .data prompt db "Please enter …
20 окт '14 в 02:14
2 ответа

Странное поведение Clang ассемблера

Я попытался скомпилировать этот макрос обнаружения переполнения движка Zend: #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ long __tmpvar; \ __asm__( \ "mul %0, %2, %3\n" \ "smulh %1, %2, %3\n" \ "sub %1, %1, %0, asr #63\n" \ : …
21 апр '16 в 08:01