0
ответов

Возможна «собственная внутренняя» функция для x64 вместо встроенной сборки?

В настоящее время я экспериментирую с созданием высокооптимизированных многоразовых функций для моей библиотеки. Например, я пишу функцию "степень двойки" следующим образом: template
вопрос задан: 18 February 2015 15:47
0
ответов

Что __asm__ __volatile__ делает в C?

Я заглянул в некоторый C-код из http://www.mcs.anl.gov/~kazutomo/rdtsc.html Они используют такие вещи, как «inline», «asm» и т. Д., Например: code1: static __inline__ tick gettick (void) {без знака ...
вопрос задан: 19 October 2014 23:33
0
ответов

Могу ли я использовать синтаксис Intel сборки x86 с GCC?

Я хочу написать небольшую программу низкого уровня. Для некоторых его частей мне нужно будет использовать язык ассемблера, но остальная часть кода будет написана на C / C ++. Итак, если я буду использовать GCC для смешивания C / C ++ с ...
вопрос задан: 23 April 2013 19:42
0
ответов

GCC Inline-Assembly:вызовите dword ptr

Если у меня есть следующий код в Windows VC ++: DWORD somevar = 0x12345678; _asm call dword ptr [somevar] Как я могу сделать то же самое в GCC inline-сборке, с синтаксисом AT & T? __asm__ ...
вопрос задан: 19 December 2012 01:52
0
ответов

Использование встроенного ассемблера GCC с инструкциями, принимающими немедленные значения

Проблема. Я работаю над пользовательской ОС для процессора ARM Cortex -M3. Для взаимодействия с моим ядром пользовательские потоки должны генерировать команду SuperVisor Call (SVC )(, ранее известную как SWI, для...
вопрос задан: 7 July 2012 18:17
0
ответов

Как создать программу на C, которая может запускать шестнадцатеричные коды x86

У меня есть массив шестнадцатеричных кодов, которые переводятся в инструкции по сборке, и я хочу создать программу на C, которая может их выполнять. unsigned char rawData[5356] = { 0x4C, 0x01, 0x0A, 0x00, 0x00, 0x00,...
вопрос задан: 28 June 2012 20:52
0
ответов

Требует ли этот ассемблер в стиле gcc с inputs=outputs раннее уничтожение?

Ограничения раннего удаления встроенного ассемблера Gcc описаны здесь, в документации gcc: http://gcc.gnu.org/onlinedocs/gcc/Modifiers.html#Modifiers У нас есть реализация amd64 для 128-битного добавления: #define . ..
вопрос задан: 19 June 2012 18:48
0
ответов

Может ли приложение Metro Windows 8 C++ содержать встроенный ассемблер?

Может ли приложение Metro для Windows 8 содержать встроенный ассемблер? Также является Metro C++ Native или управляемым, или вы можете смешивать их оба, как C++/CLI?
вопрос задан: 15 June 2012 20:13
0
ответов

Преобразование C/C++ int в короткий и встроенный ассемблер (для ARM)

Это нетривиальный вопрос. ПРИМЕЧАНИЕ. Мне не нужны мнения или советы, чтобы использовать чистый ассемблер. На самом деле мне нужно сделать то, о чем я говорю: получить встроенный ассемблер без этого кода расширения со знаком/нулем, когда...
вопрос задан: 3 June 2012 15:00
0
ответов

Создать экземпляр класса с помощью встроенного ассемблера Delphi

Что я хотел бы сделать, так это с помощью ассемблера создать экземпляр класса, вызвать один из его методов и затем освободить экземпляр Я знаю, что упускаю что-то очень важное и, возможно, очень простое, но я...
вопрос задан: 17 May 2012 12:23
0
ответов

Флаг переполнения чтения Delphi

Если я сделаю это var a, b, c: cardinal; begin a: = 80000000 долларов США; b: = 80000000 долларов США; с: = а + b; конец; c будет равно 0, поскольку сложение переполнилось. Как лучше всего поймать это переполненное логическое значение? (а + Ь <а)
вопрос задан: 17 May 2012 12:03
0
ответов

Почему встроенный ассемблер GCC требует затирания информации, а MSVC не требует #39;t

Я не понимаю, как это должно работать. Встроенный ассемблер GCC сложно понять правильно, но он очень специфичен в отношении маркировки затирающей информации, чтобы компилятор знал, что вы делаете....
вопрос задан: 8 May 2012 19:23
0
ответов

Может ли линейный блок (__asm )препятствовать оптимизации функций?

При использовании Microsoft Visual C++ (не CLI, а только стандартного родного C++ )приводит ли встроенная сборка к отключению оптимизации для функции? Когда я проверил с помощью IDA, код некоторых функций...
вопрос задан: 30 April 2012 18:02
0
ответов

Visual C++ x64 add with carry

Поскольку для ADC, похоже, не существует intrinsic, и я не могу использовать inline assembler для архитектуры x64 с Visual C++, что мне делать, если я хочу написать функцию, использующую add with carry, но ...
вопрос задан: 11 February 2012 16:02
0
ответов

Используйте встроенные функции SSE2 и встроенный ассемблер gcc

Я попытался совместить встроенные функции SSE2 и встроенный ассемблер в gcc. Но если я укажу переменную как xmm0 / register в качестве входных данных, в некоторых случаях я получаю ошибку компилятора. Пример: #include ...
вопрос задан: 27 January 2012 21:33
0
ответов

Как использовать глобальную переменную во встроенной сборке gcc

Я пытаюсь использовать встроенную сборку, подобную этой, для глобальной переменной, но компилятор выдает ошибку, говоря undefined ссылку на saved_sp. __asm__ __volatile__ ("movq saved_sp,% rsp \ n \ t" ...
вопрос задан: 10 January 2012 21:07
0
ответов

Оптимизация используемых регистров при использовании встроенной сборки ARM в GCC

Я хочу написать некоторую встроенную сборку ARM в свой код на C. Для этого кода мне нужно использовать регистр или два больше, чем только те, которые объявлены как входы и выходы функции. Я знаю, как использовать ...
вопрос задан: 4 January 2012 00:42
0
ответов

Справка по преобразованию: __asm__ __volatile __

Я хотел бы перенести функцию outb из C на D. static __inline void outb (значение unsigned char, unsigned short int port) {__asm__ __volatile__ ("outb% b0,% w1": ...
вопрос задан: 23 December 2011 10:08
0
ответов

Обращение за помощью в устранении проблемы встроенной сборки в программе D

Здравствуйте, я пытаюсь использовать ASM в небольшой программе D: asm {mov AX, 12h; int 10h; } У меня есть сообщение: "конец инструкции" из двух строк в инструкции asm. Я не могу исправить ...
вопрос задан: 16 December 2011 13:57
0
ответов

Доступ к регистру без использования встроенной сборки с помощью gcc

Я хочу прочитать значение регистра указателя стека без записи встроенной сборки. Причина, по которой я хочу это сделать, состоит в том, что я хочу присвоить значение регистра указателя стека элементу массива и ...
вопрос задан: 20 November 2011 11:37
0
ответов

Доступ к членам класса из встроенной сборки в Visual C ++

Вот мой код: void Graph: : PutPixel (DWORD x, DWORD y, DWORD c) {__asm ​​{Mov Eax, y Mov Ebx, _width Mul Ebx Add Eax, x Shl Eax, 2 // Умножить на ...
вопрос задан: 19 November 2011 07:36
0
ответов

Вызов функции во встроенной сборке gcc

Скажем, я хочу вызвать функцию со следующей подписью во встроенной сборке gcc. Как я могу это сделать? int some_function (void * arg);
вопрос задан: 2 November 2011 16:53
0
ответов

Правильный способ обернуть CMPXCHG8B во встроенную сборку GCC, 32 бита

Я пытаюсь написать встроенный asm GCC для CMPXCHG8B для ia32. Нет, я не могу использовать __sync_bool_compare_and_swap. Он должен работать с -fPIC и без него. Пока что лучшее, что у меня (EDIT: все-таки не работает, .. .
вопрос задан: 21 July 2011 15:54
0
ответов

Data Memory Barrier (DMB) ) в библиотеках CMSIS для Cortex-M3s

В определениях CMSIS для gcc вы можете найти что-то вроде этого: static __INLINE void __DMB (void) {__ASM volatile ("dmb"); } Мой вопрос: какая польза от барьера памяти, если его нет ...
вопрос задан: 19 July 2011 17:45
0
ответов

Встроенная сборка в Haskell

Могу ли я каким-то образом использовать встроенную сборку в Haskell (аналогично тому, что GCC делает для C)? Я хочу сравнить свой код Haskell с эталонной реализацией (ASM), и это кажется наиболее простым способом. Я ...
вопрос задан: 12 June 2011 17:35
0
ответов

Ошибка встроенной сборки GCC: не удается получить адрес 'this', который является выражением rvalue

Я все еще борюсь с GCC - компилируя следующий встроенный код сборки (с -fasm -blocks, который включает синтаксис сборки в стиле Intel) вызывает у меня странную ошибку Не могу принять адрес 'this', ...
вопрос задан: 3 June 2011 06:44
0
ответов

64-битные приложения и встроенная сборка

Я использую Visual C ++ 2010 для разработки 32-битных приложений Windows. Я действительно хочу использовать встроенную сборку. Но я только что понял, что Visual C ++ не поддерживает встроенную сборку в ...
вопрос задан: 29 May 2011 07:55
0
ответов

Считать значение регистра в переменную с помощью одной команды asm

Как я могу прочитать значение регистра в переменную с помощью одной встроенная команда ассемблера? Я использую gcc в старой системе freeBSD (v2.1 i386). У меня есть такой код: static volatile unsigned long r_eax, r_ebx; asm ("...
вопрос задан: 18 February 2011 10:30
0
ответов

что такое переменная devise_mapping и как ее включить?

Я пытаюсь реализовать аутентификацию с помощью Devise в моем приложении Rails (Rails 2.3. 8, Devise 1.0.7, ублюдок, работающий в Windows Vista). Но я получаю следующую ошибку: undefined local variable ...
вопрос задан: 27 December 2010 22:41
0
ответов

Сравнение 128-битных хеш-кодов с SSE

В моем текущем проекте мне нужно сравнить 128-битные значения (на самом деле хеши md5), и я подумал, что можно ускорить сравнение, используя Инструкции SSE. Моя проблема в том, что я не могу ...
вопрос задан: 26 December 2010 14:48