Вопросы по теме 'cpu-registers'
Генерация кода разработки компилятора для выражений с несколькими операндами
Я нахожусь в процессе написания компилятора для C-подобного языка.
Я прошел проверку синтаксиса и семантики и начинаю фазу генерации кода.
Окончательный код, который я должен сгенерировать, должен иметь 3-х адресную архитектуру...
2392 просмотров
schedule
30.11.2023
Почему Intel не сделала доступной старшую часть регистров своих процессоров?
При программировании на ассемблере и выполнении каких-либо манипуляций со строками я использую al , ah , а иногда и другие для хранения символов, потому что это позволяет мне хранить больше данных в моих регистрах. Я думаю, что это очень удобная...
645 просмотров
schedule
17.04.2024
Оптимизация используемых регистров при использовании встроенной сборки ARM в GCC
Я хочу написать некоторую встроенную сборку ARM в моем коде C. Для этого кода мне нужно использовать регистр или два больше, чем только те, которые объявлены как входы и выходы функции. Я знаю, как использовать список clobber, чтобы сообщить GCC,...
1547 просмотров
schedule
30.11.2023
Смущает знак % и прочее в дизассемблере
я разобрал этот код
int main{
vector<string> temp;
}
Результат такой
LEA ECX, %16I64X DWORD PTR[EBP + temp]
CALL std::vector<std::basic_string<char, std::char_traits<char>, std::
Мои вопросы:
Что здесь...
120 просмотров
schedule
15.12.2023
Регистры операционной системы ядра Linux
Доступны ли регистры (например, eax, ebx, ecx, edx, esp, ebp и т. Д.) В процессоре или они являются ячейками виртуальной памяти с точки зрения программирования?
1633 просмотров
schedule
05.12.2023
Как заставить компилятор С++ использовать регистры?
У меня есть цикл for в моем коде (c++ .Net Win32 Console), который должен работать как можно быстрее. Поэтому мне нужно, чтобы компилятор использовал регистр , а не сохранял его в ОЗУ .
MSDN говорит:
Ключевое слово register указывает,...
3999 просмотров
schedule
04.03.2024
Как интерпретировать столбцы панели разборки окна ЦП?
Есть инструмент, называемый окном ЦП, который я нажимаю Ctrl + Alt + C , который показывает дизассемблирование моего кода.
Зеленая стрелка слева от адреса памяти указывает местоположение текущей точки выполнения, затем идут адреса памяти, но...
449 просмотров
schedule
13.12.2023
GameBoy ISA (написание эмулятора)
Я работаю над эмулятором GameBoy на C. Прямо сейчас я работаю над файлом CPU.c, и я немного запутался в некоторых инструкциях, которые я вижу здесь:
http://realboyemulator.files.wordpress.com/2013/01/gbcpuman.pdf
Если вы обратитесь к странице...
2694 просмотров
schedule
09.03.2024
Коммутативность регистров процессора
[ebp+eax]=[eax+ebp]?
Мне задали этот вопрос в классе, и профессор попросил нас найти ответ, но я не могу найти ни одного ресурса в сети.
57 просмотров
schedule
19.04.2024
Могу ли я использовать rsp в качестве регистра общего назначения?
Мне сказали, что если я использую rsp в качестве регистра общего назначения, операционная система может сбрасывать регистры туда, куда он указывает в случае прерывания, вызывая проблемное поведение.
Верно ли это, и если нет, то, если мне не нужен...
283 просмотров
schedule
24.02.2024
Получение 32-битных регистров из 64-битного кода NASM
Я изучаю 64-битный nasm, я собираю файл .nasm, который содержит ТОЛЬКО 64-битные регистры, выполнив следующие действия.
nasm -f elf64 HelloWorld.nasm -o HelloWorld.o
и свяжите его, выполнив следующие действия
ld HelloWorld.o -o...
1006 просмотров
schedule
03.05.2024
Verilog Reg / путаница с проводами
Я делаю многоцикловый процессор в Verilog, который состоит из Datapath и Control. Выходы элемента управления (конечный автомат) являются регистрами, а соединения между каналом данных - проводами. Если предполагается, что проводной сигнал будет (в...
579 просмотров
schedule
29.01.2024
преобразовать выражение в операцию общего регистра Модели
Я хотел бы получить некоторую помощь, чтобы преобразовать это выражение в команды из 4 методов:
z=3*(x+2)-2*y
вот методы с моими попытками:
по стеку:
push 2
push -1
mult
push y
mult
push x
push 2
add
push 3
mult
add
pop z
по...
39 просмотров
schedule
24.01.2024
Как я могу сохранить 16-байтовое число в памяти в сборке?
section .bss
length equ 16
number: resb length
Это работает только с 64 битами:
mov qword[number], 43271
Это представлено только 8 байтами (64 бита). Мне нужно хранить значения в памяти в 128-битном формате, но я понятия не имею,...
1156 просмотров
schedule
26.12.2023
Почему архитектура ЦП разработана как 32-битная и 64-битная
На данный момент мы используем 32-битные и 64-битные типы ЦП. Я знаю концепцию этих архитектур. Но почему он рассчитан как 16,32 или 64 соответственно. Почему мы не можем разработать архитектуру типа 10, 20, 30 или любых других кратных чисел. С...
50 просмотров
schedule
13.11.2023
Доступ к значениям независимых от процесса регистров в c
Многие регистры, такие как регистры данных, содержат значения, соответствующие текущему выполняемому процессу. Но есть некоторые регистры, которые являются общими для всех процессов.
Я хочу получить доступ для чтения к некоторым регистрам, которые...
665 просмотров
schedule
01.01.2024
Сборка ARM - параметр доступа и возвращаемое значение?
У меня есть прототип функции int Palindrome(const char *c_style_string);
В сборке ARM v8 я считаю, что параметр хранится в регистре w0. Однако разве это не тот регистр, значение которого ret выводит?
Если да, то что мне нужно сделать, чтобы...
875 просмотров
schedule
26.11.2022
Почему параметры системного вызова Assembly x86_64 не в алфавитном порядке, как i386
Есть один вопрос, который меня беспокоит.
Итак... Почему в x86_32 параметры передаются в регистры, которые, как мне кажется, расположены в алфавитном порядке ( eax , ecx , edx , esi ) и рейтинг ( esi , edi , ebp )...
1730 просмотров
schedule
23.03.2024
Сдвиг 2 регистров вместе как один
У меня есть eax и edx , и я хотел бы рассматривать их как 1 регистр и сдвигать их оба без потери битов.
например, если у меня есть 0 в edx и 0110 1111 0100 1111 0110 1111 0100 1111 в eax, и я бы сделал shl eax , 23 , это дало бы мне 0000...
76 просмотров
schedule
24.11.2023
Использование регистра GS на уровне пользователя в X64 Linux
Я пытаюсь использовать регистр% gs, чтобы сохранить временное значение в моей программе. Я использую проход LLVM для вставки кода сборки, который записывает и читает регистры. Когда использую% fs, все работает. Но% fs используется несколькими...
384 просмотров
schedule
27.09.2022