Вопросы по теме 'inline-assembly'
Как написать следующий встроенный ассемблерный код в Visual C++ 6.0?
Я пишу приложение на C в GCC (для Linux/Ubuntu), которое использует следующую встроенную сборку.
float a[4] = { 10, 20, 30, 40 };
float b[4] = { 0.1, 0.1, 0.1, 0.1 };
asm volatile("movups (%0), %%xmm0\n\t"
"mulps (%1), %%xmm0\n\t"...
2374 просмотров
schedule
27.12.2022
Встроенная сборка внутри циклов
Я широко использую встроенную сборку в проекте, где мне нужно вызывать функции с неизвестным количеством аргументов во время компиляции, и пока мне удается заставить ее работать, иногда в Linux (в Windows я не помню, чтобы была такая проблема)...
2446 просмотров
schedule
05.12.2022
Простая программа на встроенном ассемблере Hello World на C/C++
Я использую компилятор devcpp и borland c....
asm {
mov ax,4 // (I/O Func.)
mov bx,1 // (Output func)
mov cx,&name // (address of the string)
mov dx,6 // (length of the string)
int 0x21 // system...
9865 просмотров
schedule
24.09.2022
Проблема новичка с встроенной сборкой
Я использую VS2008 С++ (без библиотек). Это мой код:
__asm
{
jmp start
msg:
db "http://www.stackoverflow.com"
dtfld:
db "00/00/0000"
tmfld:
db "00:00:00"
start:
Я получаю следующие ошибки:...
2757 просмотров
schedule
14.04.2022
C2244 при попытке вызвать функцию pow из встроенной сборки
Я хотел бы вызвать функцию pow из встроенной сборки. Проблема в том, что я получаю сообщение об ошибке C2244: «pow»: невозможно сопоставить определение функции с существующим объявлением. Я новичок в сборке, поэтому это может быть тривиальный...
946 просмотров
schedule
21.10.2022
Помощь с умножением ассемблера/SSE
Я пытался понять, как улучшить свой код в очень важной паре строк:
float x = a*b;
float y = c*d;
float z = e*f;
float w = g*h;
все a, b, c... являются числами с плавающей запятой.
Я решил изучить использование SSE, но, похоже, не нашел...
1866 просмотров
schedule
03.08.2023
Можно ли получить доступ к 32-битным регистрам в C?
Можно ли получить доступ к 32-битным регистрам в C? Если да, то как? А если нет, то есть ли способ встроить ассемблерный код в C? Кстати, я использую компилятор MinGW. Заранее спасибо!
20473 просмотров
schedule
29.05.2023
Использование ASM при компиляции x64 C ++ с MSVC10
Из-за того, что MSVC10 не позволяет использовать встроенные инструкции ASM при ориентации на архитектуру x64, я ищу любые способы обойти такие ограничения. Из Google я узнал, что написание и компиляция отдельных модулей ASM, а затем связывание с ними...
842 просмотров
schedule
15.05.2023
встроенная сборка sse с g++
Я пробую встроенную сборку g++ и sse и написал первую программу. Это segfaults - почему?
#include <stdio.h>
float s[128*4] __attribute__((aligned(16)));
#define r0 3
#define r1 17
#define r2 110
#define rs0 "3"
#define rs1 "17"
#define...
1929 просмотров
schedule
18.05.2023
Как сгенерировать данные для инструкции mov?
Мне нужно понять только 1 единственную инструкцию и, соответственно, мне нужно обобщить вещи.
Мне нужно передать структуры (объекты пользовательских типов данных) во время выполнения, используя следующий код сборки.
Где ниже указан тип данных,...
195 просмотров
schedule
06.07.2022
Как указать отдельный регистр в качестве ограничения во встроенной сборке ARM GCC?
в встроенной сборке x86 я могу написать что-то вроде этого:
asm ("cpuid"
: "=a" (_eax),
"=b" (_ebx),
"=c" (_ecx),
"=d" (_edx)
: "a" (op));
поэтому в ограничениях сопоставления...
3479 просмотров
schedule
05.04.2023
C++: список уничтожения asm
В g++ можно указать списки уничтожения для asm, например:
asm ("somecode" : : "r1", "r2", "r3");
что означает, что ассемблерный код меняет регистры r1, r2, r3.
Теперь мои измененные регистры зависят от параметра шаблона n (блок asm...
843 просмотров
schedule
06.12.2022
Как загрузить ядро или иметь возможность использовать больше места в собственном загрузчике?
Я следил за этим: ( http://www.codeproject.com/KB/tips/boot-loader.aspx ) Но не знаю, что и как делать дальше. Как в него загрузить самописное ядро? Или как сделать больше места, чем в одиночном сегменте? А что делать с бинарниками? Мне нужно...
2341 просмотров
schedule
29.08.2022
Замена встроенного ассемблерного кода
Мне нужно написать встроенный ассемблерный код, который выполняет пользовательскую инструкцию, которую я интегрировал в свое оборудование. В зависимости от того, какое оборудование находится на реальном чипе, инструкция ведет себя по-разному. Моя...
818 просмотров
schedule
30.10.2022
Почему моя программа работает на Ubuntu gcc, но не на OSX gcc?
Итак, моя домашняя работа, я запустил ее в Ubuntu, и она отлично компилируется и работает так, как должна. Но когда я запускаю это в Mac OSX, возникает ошибка шины. Почему это?
Я компилирую с gcc -m32 source.c -o test
Вот версия для Mac OSX...
343 просмотров
schedule
11.06.2022
Могу ли я использовать asm-функцию со строковой переменной c вместо строкового литерала в качестве аргумента?
Я сделал что-то вроде этого:
char command [] = "Некоторый ассемблерный код";
asm изменчивая (команда);
Это не сработало. В частности, я получаю следующую ошибку: Expected string literal before command.
Итак, могу...
302 просмотров
schedule
17.09.2022
Справка по преобразованию: __asm__ __volatile__
Я хотел бы перенести функцию outb из C на D.
static __inline void outb (unsigned char value, unsigned short int port)
{
__asm__ __volatile__ ("outb %b0,%w1"
:
:
"a"...
1388 просмотров
schedule
26.04.2022
Как использовать глобальную переменную во встроенной сборке gcc
Я пытаюсь использовать встроенный ассемблер для глобальной переменной, но компилятор выдает ошибку, говоря о неопределенной ссылке на saved_sp .
__asm__ __volatile__ (
"movq saved_sp, %rsp\n\t" );
saved_sp глобально объявлен как...
6353 просмотров
schedule
10.10.2022
Переключение контекста с помощью встроенной сборки руки
У меня есть еще один вопрос о встроенной инструкции по сборке, касающейся переключения контекста. Этот код может работать, но я не уверен на 100%, поэтому я отправляю этот код профессионалам stackoverflow ;-)
Я компилирую с помощью gcc (без...
1533 просмотров
schedule
22.05.2022
Встроенная сборка в Netbeans с использованием C++
Я пытаюсь изучить сборку из серии очень хороших руководств, размещенных на YouTube:
http://www.youtube.com/watch?v=guru397zg2g&list=PL0C5C980A28FEE68D&feature=plcp&context=C4ca8d4cFDvjVQa1PpcFM2reYRFji1sQFkiYY545AxtksGRUnLWSY=
Я знаком с...
2623 просмотров
schedule
23.08.2022