Вопросы и ответы
Как сделать ядро для моего загрузчика?
00
Вопрос или проблема Я пытаюсь создать свою собственную кастомную операционную систему и мне нужна помощь с моим кодом. Вот мой bootloader.asm: [ORG 0x7c00] start: cli xor ax, ax mov ds, ax mov ss, ax mov es, ax mov [BOOT_DRIVE], dl mov bp, 0x8000 mov
Вопросы и ответы
Почему кажется, что компилятор переиспользует Argc и Argv в моей функции?
00
Вопрос или проблема Код main.cpp: #include <iostream> int main() { std::cout << "Hello World!\n"; } Дизассемблирование в Ghidra: ************************************************************* * FUNCTION *************************************************************
Вопросы и ответы
Таинственное поведение с NtWaitForSingleObject в C++ – возвращает ошибку недопустимой ручки без std::cout
00
Вопрос или проблема Я столкнулся с странной проблемой в своей программе, которая использует NtWaitForSingleObject и NtDelayExecution в цикле. Проблема в том, что функция NtWaitForSingleObject иногда возвращает ошибку 0xC0000008 (STATUS_INVALID_HANDLE)
Вопросы и ответы
Проблема с отображением цитаты в окне памяти в ассемблере Visual Studio
00
Вопрос или проблема .386 .model flat .data quote byte "Машины действительно чувствуют",0 message byte SIZEOF quote DUP(0),0 .code start proc mov esi,0 mov ecx,SIZEOF quote LP: mov al, quote[esi] ;получить символ из quote mov message[esi],al ;
Вопросы и ответы
Простое сложение и вычитание в ассемблере и вывод в окно результата
00
Вопрос или проблема Почему выводится только результат сложения, а вычитание не отображается? section .data num1 dq 5 ; Первое число (64-битное целое) num2 dq 2 ; Второе число (64-битное целое) mathResult db 'Результат математики: %d', 0ah, 0 section .text global main ;
Вопросы и ответы
Почему инструкции x86, такие как BOUND или PUSHA, недоступны в 64-битном режиме?
00
Вопрос или проблема Есть причина, по которой некоторые устаревшие инструкции x86 (BOUND, PUSHA, AAA и т. д.) не могут использоваться в 64-битном режиме? Да, я знаю, что такие инструкции доступны только для обеспечения совместимости и не должны использоваться в современном коде.
Вопросы и ответы
Заставьте компиляторы не компилировать косвенные вызовы
00
Вопрос или проблема У меня есть следующий хэш-таблица: typedef uint32_t (*HashFuncPointer)(uint32_t key); typedef bool (*KeyComparisonFunc)(uint32_t key1, uint32_t key2); typedef struct Hashmap { void* items; uint64_t max_size;
Вопросы и ответы
Что именно делает инструкция lb?
00
Вопрос или проблема Что именно делает инструкция lb? У меня скоро экзамен, и одна из практических задач звучала так: Предположим, что $t0 содержит значение 0x12121212, а $t1 содержит адрес 0x1000000. Предположим, что данные в памяти, начиная с адреса
Вопросы и ответы
Путаница с регистрами CPSR для Aarch64: как их читать и кодировка “Режима процессора ARM”
00
Вопрос или проблема Путаница с регистрами CPSR для Aarch64: как их читать и кодировка “Режима процессора ARM” Я работаю с архитектурой Aarch64. Если я правильно понимаю, CPSR (или “Регистры состояния программы“
Вопросы и ответы
Почему регистры защищенного режима x86 32-бит не дают правильное значение?
00
Вопрос или проблема Почему регистры защищенного режима x86 32-бит не дают правильное значение? Я настроил 32-битный защищенный режим и пытаюсь загрузить глобальную таблицу дескрипторов (GDT) с помощью C и ассемблера и вывести значения различных регистров
Вопросы и ответы
Связыватель не может найти символ сборки
00
Вопрос или проблема Windows 10, Visual Studio 2022 Community. Модель x64. Вот файл сборки .code PUBLIC StubCode StubCode PROC mov rax, 4711 ret StubCode ENDP end Вот часть на C++: extern __int64 __cdecl StubCode(); int main() { __int64 n = StubCode();