Вопросы по теме 'assembly'
Почему выполнение большего количества инструкций по сборке Pentium занимает меньше времени?
Ниже приведен отрывок из списка двух последовательностей сборки Pentium. У нас есть внешний цикл, который пытается синхронизировать наши последовательности и выполняет сквозную таблицу, чтобы добраться до этих подпрограмм. Таким образом, внешний...
07.11.2023
понимание ассемблерного кода в windbg
Я отлаживал код в Windbg и не могу понять некоторые ассемблерные коды.
78151113 ff1230401e78 call dword ptr [Somefunction (781e9950)] ds:0023:781e9950=028d1170
Может кто-нибудь объяснить, что означает это утверждение. Я знаю, что это...
04.01.2024
Встроенный ассемблер в C: команда INT и переменные C
Я пытаюсь использовать сборку в коде C, используя переменные C. Мой код выглядит так:
__asm { INT interruptValue };
Где «interruptValue» — это переменная, которую я получаю от пользователя (например, 15 или 15 часов). Когда я пытаюсь...
20.12.2023
Почему НАЖАТЬ переменную через регистр, а не НАЖАТЬ переменную непосредственно на языке ассемблера?
Я наткнулся на кейлоггер на ассемблере на форуме. Я думал, что могу сам создать кейлоггер. Когда я читал код, чтобы увидеть, что на самом деле происходит в этой программе, я наткнулся на несколько интересных вещей.
1.Программа почти никогда не...
22.12.2023
Учебники по загрузчику у меня не работают
Я пытался использовать некоторые учебные пособия по сборке в Интернете, и большинство из них не работают для меня. Я использую NASM и VirtualBox (также не удалось заставить Bochs работать), и такие вещи работают:
[BITS 16]
[ORG 0x7C00]
push...
19.12.2023
Как правильно завершить сборку?
У меня проблема с правильным завершением 16-битной программы DOS, написанной на ассемблере. Вот часть кода:
.386P
.model flat
stack_s segment stack 'stack'
db 256 dup(0)
stack_s ends
data segment use16
data ends
code segment 'code'...
31.12.2023
Адреса в ассемблерном коде и ле
Если я скажу:
lea (%eax,%eax,2), %edx
Меня учили, что это, по сути, означает:
edx = eax + eax * 2
Как формат к этому работает?
И я думаю, это подводит нас ко второму вопросу. Если у меня что-то вроде этого:
add -0x4(%esi,...
31.12.2023
gdb не может получить доступ к памяти из строкового адреса
Я скомпилировал программу сборки со следующими переменными:
.data
x: .long 1337
str: .string "Hallo Welt\n"
В gdb я хотел использовать команду экзамена с адресом str.
(gdb) x str
0x6c6c6148: Cannot access memory at address 0x6c6c6148...
22.11.2023
Объяснение сборки, сгенерированной NASM для dd
Я экспериментировал со сборкой в Linux с помощью NASM, чтобы понять скрипт loader.s на OSDev .
Одна вещь, которая показалась мне интересной, это сборка, созданная при объявлении переменной с помощью dd. Я провел несколько тестов и привел...
29.12.2023
режим адресации x86
Я очень смущен режимом косвенной адресации для этой инструкции:
and $0x0000FF00, 4(%esp)
Если это текущая вершина стека:
0xBF8DB0B8: 0xDEADBEEF <--- ESP + 4
0xBF8DB0B4: 0xDEADBEEF <--- ESP
а это содержимое памяти на 0xDEADBEEF...
24.01.2024
Использование gdb для сравнения трассировок сборки
У меня есть общий объектный файл, для которого у меня нет источника. Меня интересует, что происходит при входе в конкретную функцию. При входе в эту функцию в определенной ситуации (при наличии Wi-Fi соединения) программа реагирует определенным...
04.11.2023
пытаясь понять, как работает адресация x86
Я пытаюсь понять, что происходит в этих двух строках:
mov %esp,%edi
lea 0x10(%edi),%esi
Сначала я сохраняю текущий указатель стека в регистр %edi. это ясно. Но теперь... Я перескакиваю 16 байт обратно в область стека из предыдущей процедуры...
02.11.2023
Умножение IMUL OllyDbg
У меня проблема с пониманием одной из инструкций на языке ассемблера -> IMUL
Насколько я знаю, Имул ->
imul dest, source1, source2
Проблема, которая у меня есть сейчас, результат умножения Imul в ollyDBG и мой не совпадает!
Вот IMUL на...
22.11.2023
Встроенная сборка AVR: регистрирует переменные?
В настоящее время я пытаюсь написать некоторый код, который проверяет значение SRAM по определенному адресу, а затем выполняет некоторый код C, если он совпадает. Это работает на чипе atmega32u4 AVR. Вот что у меня есть до сих пор:
volatile char...
19.01.2024
WinDBG не останавливается в точке входа процесса
Я пытаюсь использовать WinDBG и написал простой hello world на ASM (работает в Windows XP).
Теперь я был немного удивлен, когда я запускаю его, WinDBG всегда останавливается в ntdll, когда я загружаю процесс:
ntdll!DbgBreakPoint:
7c90120e cc...
13.01.2024
Перевод сборки MIPS на C
add $s0, $s0, $s1
add $s0, $s0, $s2
add $s0, $s0, $s3
add $s0, $s0, $s4
Никаких других инструкций не дано, поэтому я просто предположил, что $s0=a, $s1=b, $s2=c, $s4=d. Это то, что у меня есть для переведенного кода C, но я не уверен, что это...
30.12.2023
Ассемблер: Не могу понять, куда идти отсюда
Итак, я сейчас работаю над заданием для класса. Мне не нужна работа, сделанная за меня, хотя это всегда полезно, если к этому есть объяснение. Я действительно просто хочу толчок в правильном направлении. Мое задание:
Напишите программу на...
28.10.2023
Синтаксис ASM at&t
поэтому у меня проблема с этим кодом. Это программа для преобразования двоичных чисел в десятичные.
#include <cstdlib>
#include <iostream>
#include <cstdio>
char s[100];
int length;
int a;
int main(int argc, char...
17.01.2024
Что означает цифра 66 в 66:PUSH 08?
Тестовая платформа - Windows 32bit.
Я использую IDA pro для дизассемблирования PE-файла, выполнения очень утомительной работы по преобразованию и повторной сборки в новый PE-файл.
Но есть некоторая разница в пересобранном PE-файле и исходном,...
03.11.2023
Преобразование в верхний регистр с использованием языка ассемблера (если проблема с оператором)
Я новичок в языке ассемблера, и у меня возникли проблемы с некоторыми проблемами для начинающих. Я пытаюсь написать функцию, которая преобразует char* из нижнего регистра в верхний. В моем коде я написал оператор if, чтобы проверить, находится ли...
27.11.2023
Новые материалы
Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..
Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально
Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..
Частный метод Python: улучшение инкапсуляции и безопасности
Введение
Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..
Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования
Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..
Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv)
Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..
Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..
Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..