7
ответов

Действительно ли возможно получить доступ к 32-разрядным регистрам в C?

Действительно ли возможно получить доступ к 32-разрядным регистрам в C? Если это, как? И в противном случае затем есть ли какой-либо способ встроить Ассемблерный код в C? Я использую компилятор MinGW, между прочим.Заранее спасибо!
вопрос задан: 11 June 2010 19:16
7
ответов

Что такое пример простой функции C, которая быстрее реализована во встроенном ассемблерном коде?

Мне нелегко побеждать мой компилятор с помощью встроенного ассемблерного кода. Что такое польза, неизобретенные примеры функции, которую компилятору нелегко делать действительно, действительно быстрый и простой? Но...
вопрос задан: 16 July 2009 17:20
6
ответов

Чтение регистра оценивает в переменную C

Я не забываю видеть способ использовать расширенный gcc встроенный ассемблерный код, чтобы считать значение регистра и сохранить его в переменную C. Я не могу, хотя ни за что в жизни помнят, как сформировать asm оператор.
вопрос задан: 14 August 2019 09:54
6
ответов

Как к: Встройте ассемблер в C++ (в соответствии с Visual Studio 2010)

Я пишу критическому по отношению к производительности, перемалыванию чисел проект C++, где 70% времени используются 200 модулями ядра строки. Я хотел бы оптимизировать базовый встроенный ассемблерный код использования, но я являюсь абсолютно новым...
вопрос задан: 4 September 2018 14:56
6
ответов

Определения функции C/C++ без блока

Я всегда думал, что функции как printf (), на последнем шаге, определенном встроенном ассемблерном коде использования. Тот глубоко в кишечнике stdio.h прокладывается под землей некоторый код asm, который на самом деле говорит ЦП, что сделать. Для...
вопрос задан: 11 December 2013 20:46
6
ответов

Каково различие между этими двумя формами встроенного ассемблера в C?

Фон: для меня определили задачу с записью программы сбора данных для Unitech HT630, который выполняет собственную операционную систему DOS, которая может выполнить исполняемые файлы, скомпилированные для 16-разрядного MS DOS, хотя с...
вопрос задан: 18 January 2010 15:22
4
ответа

Создание Привет Мировой библиотечной функции в блоке и вызов его от C#

Скажем, мы используем NASM, как они делают в этом ответе: как записать привет мир в блоке под окнами. Я получил несколько мыслей и вопросов относительно блока, объединенного с c# или любым другим .NET...
вопрос задан: 23 May 2017 11:47
4
ответа

Существует ли способ вставить ассемблерный код в C?

Я помню назад в день со старым компилятором borland DOS, Вы могли сделать что-то вроде этого: asm {mov топор, исключая и т.д. и т.д.} Является там полунезависимым от платформы способом сделать это теперь? У меня есть потребность...
вопрос задан: 1 May 2012 20:00
4
ответа

Встройте ассемблерный призыв к подпрограмме

У меня есть вопрос о встроенном ассемблере. Возможно назвать другую ассемблерную подпрограмму от встроенного ассемблера в той же функции? Например: освободите FindValidPID (неподписанный международный &Pid) {...
вопрос задан: 10 February 2010 21:02
3
ответа

пример cmpxchg для целого числа на 64 бита

Я использую cmpxchg (сравнивать-и-обмениваться) в i686 архитектуре для 32 битов, сравнивают и подкачивают следующим образом. (Примечание редактора: исходным 32-разрядным примером был багги, но вопрос не об этом. Я...
вопрос задан: 15 April 2018 05:45
3
ответа

Что делает этот x86 встроенный ассемблерный код?

Я столкнулся с этим кодом и потребностью понять то, что это делает. Это просто, кажется, объявляет два байта и затем ничего не делает... uint64_t x; __ asm __ __ энергозависимый __ (" .byte 0x0f, 0x31": "=A" (x));...
вопрос задан: 18 February 2015 15:18
3
ответа

Заставьте GCC сохранять регистр SSE всюду по функции, которая использует встроенный asm

Я пишу программу в C, который должен сделать некоторые быстрые математические вычисления. Я использую встроенные инструкции по сборке SSE для получения некоторого действия SIMD (использующий упакованные числа двойной точности с плавающей точкой). Я...
вопрос задан: 18 February 2015 15:18
3
ответа

Как решить, что значения экономили на стеке?

Я делаю некоторое экспериментирование и хотел бы смочь видеть то, что сохраняется на стеке во время системного вызова (сохраненное состояние процесса пространства пользователя). Согласно http://lxr.linux.no/#linux+v2.6....
вопрос задан: 6 April 2010 18:31
3
ответа

Как я передаю аргументы функциям C++, когда я называю их от встроенного ассемблерного кода

Так, я хотел бы смочь вызвать функции от C++ dll. По определенным причинам я хотел бы назвать их от __ asm блок в моем коде C++. Мой вопрос - это: Я знаю это, прежде чем я буду звонить...
вопрос задан: 22 February 2010 18:47
3
ответа

Как Вы заполняете регистр x86 XMM с 4 идентичными плаваниями от другой записи регистра XMM?

Я пытаюсь реализовать некоторый встроенный ассемблер (в коде C/C++) для использования в своих интересах SSE. Я хотел бы скопировать и копировать значения (от регистра XMM, или из памяти) к другому регистру XMM. Для...
вопрос задан: 6 January 2010 19:51
3
ответа

Встроенный Ассемблер: Какие регистры царапины могут использоваться?

При вставке встроенного ассемблера в функцию в подобном языку C, какова конвенция о том, какие регистры Вам разрешают использовать для царапины? Действительно ли это - обязанность компилятора сохранить...
вопрос задан: 24 October 2009 05:19
3
ответа

Как я делаю встроенный ассемблерный код на iPhone?

Как это сделано? Какие шаги я должен сделать и что ловушки и глюки там для рассмотрения?
вопрос задан: 30 October 2008 06:36
2
ответа

Прямой вызов функции C с использованием встроенной сборки GCC

Если вы хотите вызвать функцию C / C ++ из встроенной сборки , вы можете сделать что-то вроде этого: void callee () {} вызывающий абонент () {asm ("call *% 0":: "r" (вызываемый)); } GCC затем выдаст код, который выглядит ...
вопрос задан: 3 July 2019 08:32
2
ответа

советы по оптимизации при фиксировании значения в цикле

У меня плотная петля, точно такая же, как у Чендлера Каррута, представленного в CPP CON 2017: https://www.youtube.com/watch?v=2EWejmkKlxs на 25 минут в этом видео, есть такая петля: for (int & amp; i : v) ...
вопрос задан: 16 January 2019 14:39
2
ответа

x86/x64 CPUID в C#

Связанный с моим другим вопросом, помогите мне отладить "Необработанное исключение типа 'Система. AccessViolationException' произошел в Неизвестном Модуле. Дополнительная информация: Предпринятый, чтобы читать или записать...
вопрос задан: 23 May 2017 11:54
2
ответа

Архитектурная встроенная сборка [дубликат]

Я хочу вручную написать некоторую встроенную сборку для части функции, но у нее есть только эта сборка, используемая при компиляции для архитектуры, для которой она написана, и возвращается к общей реализации C на ...
вопрос задан: 9 May 2015 14:50
2
ответа

Почему MSVC не поддерживает встроенный ассемблерный код для целей Itanium и AMD64?

Вчера я узнал, что встроенный ассемблерный код (с __ asm ключевое слово) не поддерживается под Microsoft Visual C++ при компиляции для целей Itanium и AMD64. Это корректно? И если так, делает любого...
вопрос задан: 18 February 2015 15:19
2
ответа

Простое “Привет Мировая” Программа языка Встроенного ассемблерного кода в C/C++

я использую devcpp и компилятор C Borland.... asm {mov топор, 4//(ввод-вывод Func.) mov основной обмен, 1//(Вывод func) mov cx, &name//(адрес строки) mov дуплекс, 6//(длина...
вопрос задан: 31 December 2012 11:38
2
ответа

Как использовать константы адреса во встроенном ассемблерном коде GCC x86

Набор инструментальных средств GCC использует синтаксис ассемблера AT&T по умолчанию, но поддержка синтаксиса Intel доступна с помощью .intel_syntax директивы. Кроме того, и синтаксис AT&T и Intel доступен в...
вопрос задан: 9 September 2010 20:24
2
ответа

Ошибка в моей первой программе сборки (Встроенный ассемблерный код GCC)

После большого интернет-исследования я реализовал маленькую ассемблерную стандартную программу в своей программе C++ для получения размера кэша ЦП L1 с помощью cpuid. международный CPUID_getL1CacheSize () {интервал l1CacheSize =-1; asm...
вопрос задан: 25 June 2010 22:00
2
ответа

Вызов блока в GCC?

#include <stdlib.h> статический встроенный uint xchg (энергозависимый неподписанный интервал *addr, неподписанный интервал newval) {uint результат; энергозависимый asm ("блокировка; xchgl %0, %1": "+m" (*addr), "=a" (ре
вопрос задан: 23 March 2010 00:20
2
ответа

Что %c означает в коде встроенного ассемблерного кода GCC?

Я пытаюсь понять этот код встроенного ассемблерного кода, который прибывает из _hypercall0 сюда. энергозависимый asm ("называют hypercall_page + % c [смещение]" \: "=r" (__ res) \: [смещение] "я" (__ HYPERVISOR_##...
вопрос задан: 4 November 2009 10:32
2
ответа

Syscall от встроенного asm в x86_64 Linux?

Почему это печатает мусор вместо того, чтобы выйти из моей программы корректно? Я использую системные вызовы этот путь на BSD, и интересно, что я должен был бы заставить его работать в Linux. международное основное (интервал argc, символ ** argv) {...
вопрос задан: 17 October 2009 20:06
2
ответа

Объяснение кода Asm

Встроенный asm следующего GCC взят из кокосовой библиотеки LuaJit. Кто-то может обеспечить линию за линией объяснение того, что оно делает? статическая встроенная пустота coco_switch (coco_ctx от, coco_ctx к) {...
вопрос задан: 17 October 2009 08:17
2
ответа

Ошибка ассемблера Linux “невозможное ограничение в ‘asm’”

Я запускаю с ассемблера в соответствии с Linux. Я сохранил следующий код как testasm.c и скомпилировал его с: gcc testasm.c-otestasm ответы компилятора: "невозможное ограничение в ‘asm’". #include и...
вопрос задан: 17 October 2009 08:01