0
ответов

Чем архитектура ARM отличается от архитектуры x86? [закрыто]

Архитектура x86 специально разработана для работы с клавиатурой, а ARM ожидает мобильности? Каковы основные различия между ними?
вопрос задан: 2 October 2016 17:22
0
ответов

Как: pow (real, real) в x86

Ищу реализацию pow (real, real) в x86 Assembly. Также хотелось бы понять, как работает алгоритм.
вопрос задан: 18 September 2016 04:56
0
ответов

Использование инструкции WBINVD

Я пытаюсь использовать инструкцию WBINV в Linux для очистки кэша L1 процессора. Следующая программа компилируется, но при попытке ее запуска выдает ошибку сегментации. int main () {asm ("wbinvd"); ...
вопрос задан: 24 August 2016 14:10
0
ответов

AMD64 - инструкция по сборке nopw?

В этом выводе компилятора , Я пытаюсь понять, как работает машинное кодирование инструкции nopw: 00000000004004d0
: 4004d0: eb fe jmp 4004d0 <...
вопрос задан: 23 July 2016 02:24
0
ответов

Инструкции SSE: Byte+Short

У меня есть очень длинные массивы байтов, которые нужно добавить в целевой массив типа short (или int). Существует ли такая инструкция SSE? А может их набор?
вопрос задан: 29 June 2016 13:08
0
ответов

Почему GCC вычитает неправильное значение из указателя стека при выделении большого массива без последующих вызовов функций?

Действительно странная причуда gcc. Проверьте это: main () {int a [100]; а [0] = 1; } производит следующую сборку: 0: 55 push% rbp 1: 48 89 e5 mov% rsp,% rbp 4: ...
вопрос задан: 26 June 2016 22:11
0
ответов

Встроенная сборка, уничтожающая красную зону

Я пишу криптографическую программу, и пишется ядро ​​(процедура широкого умножения) в сборке x86-64, как для скорости, так и потому, что он широко использует инструкции, такие как adc, которые нелегко ...
вопрос задан: 26 June 2016 21:56
0
ответов

Странные результаты с MOVZWL,% AX и отрицательными значениями

Хорошо, поэтому я имею дело со следующим фрагментом кода: Push% EBP MOV% ESP,% EBP Push% EBX MOV 0x8 (% EBP),% EAX MOVZWL% AX,% EDX, так что это ведет себя как ожидалось, при работе с позитивными ...
вопрос задан: 16 June 2016 08:16
0
ответов

Что означает R в RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP?[дублировать]

Язык ассемблера x86 пришлось изменить, поскольку архитектура процессора x86 изменилась с 8-разрядной на 16-разрядную, 32-разрядную, а теперь и на 64-разрядную. Я знаю, что в 32-битном ассемблере регистрируют имена (EAX, EBX и т.д.), ...
вопрос задан: 12 June 2016 12:13
0
ответов

Сокращение суммы байтов без знака без переполнения с использованием SSE2 на Intel

Я пытаюсь найти сокращение суммы 32 элемента (каждый 1 байт данных) на процессоре Intel i3. Я сделал так: с=0; для (я=0; я<32; я++) { s = s + а[i]; } Однако это занимает больше времени, так как...
вопрос задан: 11 June 2016 01:06
0
ответов

Умножение SSE 16 x uint8_t

Я хочу умножить с помощью SSE4 объект __m128i на 16 8-битных целых чисел без знака, но я смог найти только внутреннюю функцию для умножения 16-битных целых чисел. Нет ничего такого, как _mm_mult_epi8?
вопрос задан: 31 January 2016 09:18
0
ответов

Сборка: Использование регистра сегмента данных (DS)

В настоящее время я изучаю сборку x86 для развлечения, мне нравится программирование микроконтроллеров, поэтому я знаком с сборкой. В настоящее время я все время искал ответ на этот вопрос ...
вопрос задан: 19 January 2016 23:13
0
ответов

SSE (SIMD): умножение вектора на скаляр

Обычная операция, которую я делаю в своей программе - это масштабирование векторов на скаляр (V*s, например, [1,2,3,4]*2 == [2,4,6,8]). Существует ли инструкция SSE (или AVX) для этого, кроме как сначала загружать скаляр в каждый ...
вопрос задан: 12 January 2016 23:24
0
ответов

Какова функция инструкций push / pop, используемых для регистров в сборке x86?

Читая об ассемблере, я часто сталкиваюсь с людьми, пишущими, что они нажимают определенный регистр процессора и затем снова вставьте его, чтобы восстановить предыдущее состояние. Как вы можете протолкнуть регистр? ...
вопрос задан: 24 November 2015 09:09
0
ответов

Почему Linux на x86 использует разные сегменты для пользовательских процессов и ядра?

Итак, Я знаю, что Linux использует четыре сегмента по умолчанию для процессора x86 (код ядра, данные ядра, код пользователя, данные пользователя), но все они имеют одинаковую базу и ограничение (0x00000000 и 0xfffff), то есть каждый ...
вопрос задан: 9 November 2015 16:49
0
ответов

Можно ли использовать 32-битные регистры / инструкции в реальном режиме?

Я не понимаю простая проблема сборки при изучении некоторого простого исходного кода операционной системы. На этом веб-сайте: http://wiki.osdev.org/Babystep7 следующий код предназначен для переключения из реального режима в защищенный ...
вопрос задан: 8 November 2015 09:04
0
ответов

Как вывести число на экран и и спать в течение одну секунду со сборкой DOS x86?

Я использую 16-битный NASM. Я пытаюсь сделать простой ассемблерный код, который печатает числа от 0 до 255 с интервалом в 1 секунду между каждым числом. Это то, что у меня есть до сих пор: [биты 16] mov ax,cs mov ...
вопрос задан: 7 November 2015 19:34
0
ответов

Что означает знак равенства g «= g» в встроенной сборке GCC?

Я не уверен, что делает эта встроенная сборка: asm ("mov %% esp,% 0": "= g" (esp)); особенно часть: "= g" (esp).
вопрос задан: 7 November 2015 11:32
0
ответов

Хорошая практика: инструкция Loop And If [closed]

(Я копирую / вставляю тот же вопрос, который я разместил на Codereview здесь: https://codereview.stackexchange.com/questions / 1747 / good-practice-loop-and-if-statement) Я хотел бы знать, что является наилучшей практикой: ...
вопрос задан: 5 November 2015 16:00
0
ответов

Как регистры fs / gs используются в Linux AMD64?

В архитектуре x86-64 два регистра имеют специальное назначение: FS и GS. В linux 2.6. * Регистр FS, похоже, используется для хранения локальной информации потока. Это верно? Что хранится в fs: 0? ...
вопрос задан: 30 October 2015 22:05
0
ответов

Почему iret из обработчика ошибок страницы генерирует прерывание 13 (общая ошибка защиты) и код ошибки 0x18?

Пишу ядро ​​сам, и после обработчика прерывания ошибки первой страницы при выполнении IRET вызывает прерывание 13(общая защита), код ошибки 0x18. Я не знаю, что такое...
вопрос задан: 28 October 2015 17:56
0
ответов

Как x86 запрашивает установку бита загрязнения страницы?

С точки зрения программного обеспечения, какова задержка между инструкцией, загрязняющей страницу памяти, и моментом, когда ядро ​​фактически помечает страницу как грязную в записи таблицы страниц (PTE)? Другими словами, если ...
вопрос задан: 27 October 2015 08:30
0
ответов

Есть ли opcode X86 для перемещения немедленного байта в расположение прямого памяти (без использования регистров)?

Есть ли способ «mov'e определенный номер немедленного байта в расположение прямого памяти? Я MOV 10H, FFFFH Чтобы написать значение 16 в адрес памяти 65535? Если да, то, какой операционный код заключается в том, что ...
вопрос задан: 25 October 2015 09:52
0
ответов

Как получить доступ к контрольному регистру CR0, CR2, CR3 из программы? Получение неисправности сегментации

Я написал программу, которая пытается прочитать из системы управления и запись в управление. Программа компилирует нормально, но когда встроенная сборка должна быть выполнена, она производит неисправность сегментации ....
вопрос задан: 19 October 2015 19:16
0
ответов

Returning result to eax (IA-32 Assembly language)

I'm slightly confused as to how to return a value from a method in assembly language. As far as I know, the eax register is used to hold the result that is to be returned. As an example, say my ...
вопрос задан: 14 October 2015 21:27
0
ответов

Инструкции SSE: какие процессоры могут выполнять атомарные операции с памятью 16B?

Рассмотрим один доступ к памяти (одно чтение или одна запись, но не чтение + write) Инструкция SSE на процессоре x86. Инструкция обращается к 16 байтам (128 битам) памяти и доступной памяти ...
вопрос задан: 10 October 2015 02:56
0
ответов

Как выполнить отладку кода x86 на уровне исходного кода с помощью GDB внутри QEMU?

Я написал программу сборки x86 для раздела MBR. Я компилирую ее следующим образом. : nasm hellombr.asm -f bin -o hellombr.img Затем я запускаю его в qemu: qemu -fda hellombr.img -boot a Вопрос в том, как я могу ...
вопрос задан: 6 October 2015 13:42
0
ответов

What is the 0x10 in the “leal 0x10(%ebx), %eax” x86 assembly instruction?

What the function is of the 0x10 in regards to this LEAL instruction? Is it a multiply or addition or is something else? leal 0x10(%ebx), %eax Can someone please clarify? This is x86 assembler on a ...
вопрос задан: 21 September 2015 21:03
0
ответов

Как выключить машину? Я собираю свою крошечную ОС [дубликат]

Может ли инструкция hlt в сборке выключить компьютер, так как останавливает процессор? Если это можно сделать, используя то, что я сказал, правильно ли это? Можно ли выключить машину? start: xor ...
вопрос задан: 21 September 2015 15:06
0
ответов

Как определить, является ли компьютер 32-разрядным или 64-разрядным?

Как определить, является ли компьютер, на котором вы находитесь, 32-разрядным или 64-разрядным ? Мне нужно, чтобы это было сделано в vba.
вопрос задан: 20 September 2015 03:15