В настоящее время я пишу компилятор, и я, кажется, столкнулся с некоторыми проблемами, заставляя его выводить код, который выполняется в приличные сроки. Краткий обзор компилятора: ...
Я пишу небольшой загрузчик для ПК на базе x86. Проблема в том, что процессор каким-то образом все еще активен после выполнения этих инструкций: sti
hlt sti должен отключать прерывания для следующего ...
Я знаю, что добавление выполняется быстрее по сравнению с функцией mul. Я хочу знать, как использовать add вместо mul в следующем коде, чтобы сделать его более эффективным. Пример кода: mov ...
Currently I am writing some assembly language procedures. As some convention says, when I want to return some value to the caller, say an integer, I should return it in the EAX register. Now I am ...
Я отлаживаю некоторый код из дизассемблера (исходный код недоступен), и там есть ряд инструкций для доступа к данным через сегмент ds register, например, что-то вроде этого: 66 3B 05 8A B1 43 ...
Я использовал стек в сборке, но у меня не было представления о push ebp и pop ebp. .intel_syntax noprefix .include "console.i" .text askl: .asciz "Введите длину:" askb: .asciz "Введите ширину:" ...
У меня есть исполняемый файл, который я открыл с помощью PE Explorer Disassembler. Теперь я вижу код asm, который выглядит следующим образом: push ebx push esi mov ebx, eax mov eax, [ebx + 38h] push ...
Я нашел эти несколько строк сборки в ollydbg: MOV ECX, DWORD PTR DS: [xxxxxxxx] ; ххххххх это адрес
MOV EDX, DWORD PTR DS: [ECX]
MOV EAX, DWORD PTR DS: [EDX + 116]
CALL EAX Может ли кто-нибудь сделать шаг ...
Я знаю, как атомарно записать значение в x86 ASM. Но как я читаю тот? Префикс БЛОКИРОВКИ не может использоваться с mov. Для увеличивания значения я делаю: заблокируйте inc dword ptr Счетчик, Как я читаю Счетчик...
Я знаю, как использовать БЛОКИРОВКУ для ориентированного на многопотоковое исполнение постепенного увеличения значения: заблокируйте inc [J]; Но как я читаю [J] (или какое-либо значение) ориентированным на многопотоковое исполнение способом? Префикс БЛОКИ
Я имею простое привет мир C программа и компилирую его с / FA. Как следствие компилятор также генерирует соответствующий протокол ассемблирования. Теперь я хочу использовать masm/link для сборки исполняемого файла...
Я полагаю, что тип архитектуры (x86 по сравнению с x64) абстрагирован далеко для Вас при создании программ .NET, но является там какими-либо другими соображениями, которые могут вызвать проблемы?