Вопросы по теме 'cpu-registers'

Отличаются ли регистры ЦП и кэш-память ЦП?
Отличаются ли регистры ЦП и кэш-память ЦП?
33135 просмотров
schedule 06.09.2022

Как узнать, представляет ли двоичное целое число отрицательное число?
Я читаю текст на C. В сеансе «Отрицательные и положительные значения» автор упомянул несколько способов представления отрицательного числа в двоичной форме. Я все понял, и мне было интересно, можем ли мы с заданным двоичным числом определить,...
32055 просмотров
schedule 04.11.2023

Gvim, Использование регистров в команде
Я хочу использовать значение регистров в командной строке и в функции в GVIM. В частности, моя цель — упростить выделение файла журнала на лету. Я хочу иметь возможность выделить с помощью простой команды выбранную строку, например * touch do....
92 просмотров
schedule 12.03.2024

Различные имена регистров gdb
Я изучаю Ассемблер, и это моя проблема. Когда я использую gdb, я вижу регистры со следующими именами: Dump of assembler code for function return_input: 0x000000000040053d <+0>: push %rbp 0x000000000040053e <+1>: mov...
304 просмотров
schedule 21.08.2022

Неизвестное имя регистра 'q0' в ассемблере
Я пытаюсь собрать проект ios для архитектуры $(ARCHS_STANDARD_32_BIT) - armv7 для последней версии iOS (iOS 7.0), и у меня возникает следующая ошибка: Unknown register name 'q0' in asm в функции static void...
12659 просмотров
schedule 14.01.2024

«Новые» зарегистрированные имена в nasm
Согласно этому ресурсу ( http://www.sandpile.org/x86/gpr.htm ), кажется, что с расширением до 64-битного процессора существующие регистры (rax - rdi) получили альтернативные имена (R0 - R7), чтобы они соответствовали именам новых регистров (R8 - R15)....
629 просмотров
schedule 06.11.2023

Jump if zero (jz) быстрее?
Я читал эту статью , и я заметил инструкцию jz . Это заставило меня задуматься: Будет ли сборка этого кода for (int i=max;i!=0;--i){ //Some operation } превзойдет сборку этого кода? for (int i=0;i<max;++i){ //Some...
1069 просмотров

Разве R3 не должен хранить адрес x3307?
Я отвечаю на пробный вопрос из Вопрос 7 Разве адрес, который я выделил, не должен быть x3307, а не x3308? Я обосновал это так: (ПК до 2-й инструкции) = (ПК после 1-й инструкции). ПК после 1-й инструкции x3301. Поэтому при выполнении второй...
29 просмотров

Можно ли на языке ассемблера IA-32 изменить или «загрузить» IDTR, GDTR или LDTR без инструкций LIDT, LGDT и LLDT?
Можно ли на языке ассемблера IA-32 изменить/загрузить IDTR, GDTR или LDTR без инструкций LIDT, LGDT и LLDT? Кроме того, есть ли полный список инструкций, которые можно использовать для изменения других регистров? Мне нужно знать, какие инструкции...
1369 просмотров
schedule 13.11.2023

Сборка x86_64 %rsp против %esp
Недавно я игрался с ассемблером и наткнулся на странную ошибку в своей программе. Я обнаружил, что если я изменяю %rsp , выполняя 64-битные вычисления, то все работает нормально, но если я изменяю %esp на ту же величину, за исключением 32-битных...
8178 просмотров
schedule 14.04.2024

Сборка простого проекта, ошибка сегментации
Я пытаюсь выполнить задание для своего класса сборки, и в примере учителя есть строка movl (%eax),%ebx В моем коде используется точно такая же строка, но всякий раз, когда gdb достигает ее, у меня возникает ошибка seg. Я не понимаю, почему....
72 просмотров

Реализация инструкции MUL в сборке
Мне нужно умножить на числа, но без использования инструкции MUL в сборке 8086. Например: mov bx, 2 bx -> bx * 41; code instead this line Любая помощь?
1854 просмотров

Странное поведение в указателе инструкций AMD64
Я читал «Взлом: искусство эксплуатации» Джона Эриксона и следовал примеру из книги в своей системе Kali Linux (64-разрядная версия). Я написал простую программу на C: #include<stdio.h> int main() { int i; for(i=0;i<10;i++)...
214 просмотров
schedule 07.01.2024

Что произойдет, если я изменю значение управляющего регистра cr0?
Я читаю о ядре Linux и узнал об управляющем регистре cr0 , в котором хранятся флаги пейджинга , защищенного режима и т. д. Мне было интересно, если это вообще возможно, что произойдет, если мне каким-то образом удастся изменить значение cr0...
357 просмотров

Всегда ли память вне каждого ядра концептуально плоская / однородная / синхронная в многопроцессорной системе?
Многопроцессорные системы выполняют «настоящие» операции с памятью (те, которые влияют на окончательное выполнение, а не только на спекулятивное выполнение) не по порядку и асинхронно, так как ожидание глобальной синхронизации глобального состояния...
190 просмотров

Как хранить и использовать 32-битные значения в 16-битном режиме
Можно ли использовать регистры E*X в 16-битном режиме? Если нет, то как я должен хранить и использовать 32- и 64-битные значения (DWORDS и QWORDS). Я знаю об использовании ax и dx вместе для хранения 32-битного значения, но как мне адресовать память...
773 просмотров

Побитовый оператор в регистрах на MSP430 без разыменования
Я использую MSP430G2553, и у TI есть вспомогательный код, определенный в заголовках, которые я использую (msp430g2553.h). Так, например, если я хочу установить направление контакта 0 GPIO порта 1, я могу написать P1DIR |= BIT0; Из любопытства...
114 просмотров
schedule 28.04.2024

Доступ к вызывающим пользовательским регистрам (и данным) из ядра
Как получить доступ к регистрам вызывающего пользовательского процесса из пространства ядра? Например, если я хочу получить доступ к указателю стека или r8 или чему-то еще? Если бы у меня был указатель стека на пользовательский стек, как бы я...
28 просмотров