Вопросы по теме 'x86'

Различия между моделями памяти x86 / x64 / ia64 в .NET
Я ищу справку о различиях между моделями памяти, используемыми .NET CLR / JIT на x86 / x64 / ia64. Я знаю, что между x86 и ia64 есть некоторые различия (переупорядочение инструкций, удаление инструкций и т. Д.), Но я не нашел справки о различиях...
2729 просмотров
schedule 23.09.2021

Использование C с проблемой начинающего встроенного ассемблера
Я просто тестирую и пытаюсь узнать, как ассемблер работает с C. Итак, я просмотрел несколько руководств и обнаружил следующее: __asm { mov ax,0B800h //startaddress for the screen memory (in textmode) mov es,ax //add...
1670 просмотров

Объяснение кода Asm
Следующий встроенный asm GCC взят из библиотеки coco LuaJit. Может ли кто-нибудь дать построчное объяснение того, что он делает? static inline void coco_switch(coco_ctx from, coco_ctx to) { __asm__ __volatile__ ( "movl $1f, (%0)\n\t"...
2085 просмотров
schedule 27.11.2021

Сборка x86, вводящая в заблуждение ошибка
Я пытаюсь изучить сборку и имею программу с синтаксисом AT&T для использования с GNU AS, которая, как я считаю, должна работать. Я получаю эту ошибку с GDB: Program received signal SIGSEGV, Segmentation fault. .PROGRAM () at concatenator.s:60 60...
2128 просмотров
schedule 06.10.2021

Есть ли способ заставить gcc выводить необработанный двоичный файл?
Есть ли набор параметров командной строки, которые убедят gcc создать плоский двоичный файл из автономного исходного файла? Например, предположим, что содержимое foo.c static int f(int x) { int y = x*x; return y+2; } Никаких внешних...
34182 просмотров
schedule 28.11.2021

фреймы стека x86 и x64
В чем разница, когда компилятор размещает переменные в стеке в архитектурах x86 и x64? Скажем, у меня есть функция foo(){ int i = 5; i += 4; } как это по-разному распределяется в стеке в этих двух архитектурах?
683 просмотров
schedule 29.10.2021

Я создал службу Windows как любой процессор. Почему он работает в 32-битном режиме на моей 64-битной машине?
Я создал службу Windows как «Любой процессор». Однако, когда я запускаю его на своем 64-битном компьютере, он работает в 32-битном режиме. Как я могу это исправить? Я использую .NET и C #, а моя операционная система - Windows 2008 R2. Если я...
28125 просмотров
schedule 23.10.2021

Реализация сборки x86 abs ()?
Мне нужно получить разницу в 2 целых числа со знаком. Есть ли в ассемблере x86 функция ABS (), чтобы я мог это сделать. Любая помощь будет принята с благодарностью.
34147 просмотров
schedule 15.11.2021

Как выключить компьютер из автономной среды?
Я делаю ОС с защищенным режимом на основе архитектуры Intel x86 и искал информацию о том, как выключить компьютер с помощью кода сборки или чего-то в этом роде. Не могли бы вы мне помочь с этой проблемой?
3411 просмотров

Разница в позиционно-независимом коде: x86 vs x86-64
Недавно я создавал некую разделяемую библиотеку (ELF), ориентированную на архитектуру x86-64, например: g++ -o binary.so -shared --no-undefined ... -lfoo -lbar Это не удалось со следующей ошибкой: перемещение R_X86_64_32 против...
7241 просмотров
schedule 10.10.2021

В чем смысл согласованности кеша?
Насколько это полезно с практической точки зрения на процессорах типа x86, которые обеспечивают согласованность кеша? Я понимаю, что идея состоит в том, чтобы сделать обновления памяти, сделанные на одном ядре, сразу же видимыми на всех других ядрах....
3644 просмотров

Перевести код C в сборку
Мне нужно перевести этот код C в код языка ассемблера #include <stdio.h> #include <stdlib.h> int main(void) { int answer, i; int right, wrong; right = 0; wrong = 0; for(i =1; i < 11; i = i+1){...
1827 просмотров
schedule 09.09.2021

изменить код, перевернув изображение 8bpp .bmp по горизонтали, чтобы перевернуть изображение 1bpp .bmp по горизонтали в x86
Здравствуйте, я разработал код для зеркального отображения / переворота изображения .BMP с разрешением 8 бит на пиксель по горизонтали. Правильная обработка любой ширины, а не только кратной 4. Теперь мне нужно преобразовать этот код, чтобы сделать...
900 просмотров
schedule 23.09.2021

Настройка Visual Studio для создания 32-битных и 64-битных конфигураций
В настоящее время я пытаюсь настроить Visual Studio для автоматической настройки соответствующих конфигураций для 32-разрядной и 64-разрядной компиляции. В идеале я бы хотел, чтобы Visual Studio автоматически отображала x64 как платформу в...
7792 просмотров
schedule 28.10.2021

Есть ли список устаревших инструкций x86?
Я беру класс программирования на ассемблере x86 и знаю, что определенные инструкции больше использовать не следует - потому что они медленны на современных процессорах; например, инструкция цикла. Мне не удалось найти ни одного списка инструкций,...
3117 просмотров
schedule 18.09.2021

Подсчет с линейным алгоритмом Брезенхэма в реальном режиме, сборка
Эй! Я хочу рисовать линии в сборке. Я написал алгоритм на C, теперь мне нужно собрать его в сборку. Я нахожусь в 16-битном реальном режиме; графический режим: 12h (640 * 480 16 цветов) Источник C: //x1/y1/x2/y2 = start x, start y, end x, end...
1622 просмотров
schedule 09.11.2021

Плавающая и двойная производительность в C # с учетом кеширования
Я проверил и нашел множество сообщений о производительности float vs double ( здесь - один, а вот еще один). В большинстве случаев говорят, что они имеют одинаковую производительность, потому что они конвертируются FPU в 10-байтовые...
1149 просмотров
schedule 26.10.2021

Расчет адреса инструкции JMP
Я пытаюсь перехватить функцию, заменив ее начало инструкцией JMP, которая должна привести к моей функции. Но проблема в том, что я не знаю, как рассчитать смещение JMP для нацеливания на адрес моей функции. Что ж, я знаю, как это сделать, если вы...
8774 просмотров
schedule 09.10.2021

Сборка Какие * ВСЕ * возможные арифметические возможности указаны в скобках?
Я делаю x86 asm to эмулятор кода C .. и для моего парсера я готов к синтаксическому анализу скобок QWORD PTR [ to ] DWORD PTR [ to ] WORD PTR [ to ] BYTE PTR [ to ] MOV X, [ to ] LEA X, [ to ] А пока я...
956 просмотров
schedule 20.11.2021

QWORD Хранение / реализация с использованием 32-битных REG.?
Учитывая, что переменная I определяется как Qword, уравнение I = 2 * I может быть реализовано с помощью следующих минимальных инструкций: решение : MOV EAX, DWORD PTR I ADD DWORD PTR I, EAX что я не понимаю ... MOV EAX, DWORD PTR I+4...
6727 просмотров
schedule 17.09.2021