Вопросы по теме 'inline-assembly'
встроенная сборка gcc для переключения контекста
Я пытаюсь реализовать переключение контекста, используя gcc для процессоров m68k. Мне нужно использовать встроенную сборку для сохранения всех регистров d0, d1...d7 и a0,...a7. Мне было интересно, могу ли я использовать цикл в моем встроенном gcc,...
1085 просмотров
schedule
08.12.2023
Функция встроенного ассемблера С++ не работает должным образом
Каждый раз я получаю другое возвращаемое значение, поэтому я делаю что-то не так. Если я заменю add базовым inc , он вернется правильно.
Вот код.
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#include <iostream>
using...
758 просмотров
schedule
23.10.2022
Есть ли ограничения для ссылки на верхнюю половину регистра во встроенной сборке gcc?
В моем коде C есть встроенная сборка, вызывающая службу PCI BIOS. Теперь проблема в том, что один из результатов возвращается в регистре %ah , но я не могу найти константу для ссылки на этот регистр.
Я хочу написать следующее:
asm("lcall...
347 просмотров
schedule
11.04.2024
Ошибка: операнд вне допустимого диапазона при использовании ассемблера PPC
У меня есть перекрестный компилятор/ассемблер/компоновщик bulit gcc с 'powerpc-eabi' в качестве TARGET в Windows с использованием cygwin. При сборке получаю следующую ошибку....
code/sfiles/init_evh.s: Assembler messages:...
1729 просмотров
schedule
20.09.2022
Оптимизация используемых регистров при использовании встроенной сборки ARM в GCC
Я хочу написать некоторую встроенную сборку ARM в моем коде C. Для этого кода мне нужно использовать регистр или два больше, чем только те, которые объявлены как входы и выходы функции. Я знаю, как использовать список clobber, чтобы сообщить GCC,...
1547 просмотров
schedule
30.11.2023
Документация по встроенной сборке Watcom
Поиск руководств и документов по компоновщику Open Watcom, встроенной сборке и компилятору C, так как я обнаружил, что официальные руководства недостаточно хороши. Я сосредоточен особенно на C и ассемблере. Буду признателен за ссылки на учебники,...
1703 просмотров
schedule
12.11.2022
Исправление во время выполнения в C++/встроенной сборке
Я пытаюсь исправить функцию cat() , чтобы она возвращала true, но по какой-то причине программа вылетает, когда я даже не вызываю функцию. Проблема в моем методе исправления? Я думаю, что пишу на правильный адрес (адрес функции 004012e4). Я...
1539 просмотров
schedule
20.12.2023
Ошибка встроенного ассемблера в iOS
int x; __asm __volatile("movl %0, %%sp":"=r"(x)::"%sp"); Я хочу сохранить sp в x. Ошибка :
error: unexpected token in operand
__asm __volatile("movl %0, %%sp":"=r"(x)::"%sp");
^
:1:13: note: instantiated into...
1854 просмотров
schedule
07.11.2023
Встроенная сборка в С++ не работает?
Итак, в основном я написал функцию сборки, чтобы определить, присутствует ли определенный процесс во время выполнения. Я не совсем понимаю встроенную сборку до такой степени, что, хотя я обернул код сборки оболочкой asm, он все равно определяет...
325 просмотров
schedule
17.11.2023
Встроенный ассемблер на C. Неправильный перевод
У меня есть эта функция в C:
int write(int fd, char *buffer, int size)
{
int ret;
__asm__("mov $4, %%eax;"
"mov %0, %%ebx;"
"mov %1, %%ecx;"
"mov %2, %%edx;"
"int $0x80"
:...
100 просмотров
schedule
01.11.2023
Как встроенный (x86) ассемблер влияет на ход выполнения программы?
Я пытаюсь понять, как такие фрагменты вызываются во время выполнения:
__asm{
PUSH ES
MOV CX,0
//... More x86 assembly
};
Не повредит ли настройка регистров выполнение потока программы?
Например: если CX выше содержит какое-то...
160 просмотров
schedule
24.11.2023
Ограничения операнда Fsin встроенной сборки AVR
я кодирую в arduino, но я также использую ассемблерный код между моим кодом c. Я хочу вычислить грех значения. пока у меня есть этот код:
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here,...
149 просмотров
schedule
19.01.2024
Power8 vsldoi встроенный или замена
Я пытаюсь перенести некоторый код ASM на C/C++, используя встроенные модули. код ASM содержит:
+ # Unpack a-h data from the packed vector to a vector register each
+
+ vsldoi 10, 9, 9, 12
+ vsldoi 11, 9, 9, 8
+ vsldoi 12, 9, 9, 4
Я...
43 просмотров
schedule
25.10.2022
Можно ли использовать явные регистровые переменные в GCC с С++ 17?
Я использую явные регистровые переменные для передавать параметры необработанному системному вызову Linux, используя регистры, которые не имеют зависимых от компьютера ограничений (например, r8, r9, r10 на x86_64), как предложено здесь ....
2250 просмотров
schedule
13.03.2024
Правильный встроенный ассемблерный код для sys_uname
Я написал встроенный ассемблерный код для системного вызова sys_uname, но он не кажется правильным.
#include <sys/utsname.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/syscalls.h>
#include <string.h>
struct...
244 просмотров
schedule
26.11.2022
Понимание встроенной сборки в макросе препроцессора и встроенной сборки в функции
Встроенная сборка GGC может быть трудной для правильной реализации и легкой ошибки 1 . С точки зрения более высокого уровня у встроенной сборки есть некоторые правила, которые необходимо учитывать, помимо того, какие инструкции может выдавать...
653 просмотров
schedule
29.10.2023
Как преобразовать проход модуля вставки функции во встроенный во встроенный
ПРОБЛЕМА: в настоящее время у меня есть традиционный этап инструментария модуля, который вставляет новые вызовы функций в данный IR в соответствии с некоторой логикой (вставленные функции являются внешними из небольшой библиотеки, которая позже...
258 просмотров
schedule
20.03.2024
Сравнение массива struct char с указателем char в сборке
Я пытаюсь сравнить первый символ первой структуры в списке с первым символом токена в сборке. Однако по какой-то причине эти два символа никогда не бывают равными. Я знаю, что первый символ у первого ученика такой же, как и первый символ в токене....
190 просмотров
schedule
29.01.2024
Отладка серьезной ошибки ARM Cortex-M для сборки IAR
Следующий код написан для GCC. Я хочу знать, как заставить этот код компилироваться под компилятором IAR.
Default_Handler:
/* Load the address of the interrupt control register into r3. */
ldr r3, NVIC_INT_CTRL_CONST
/* Load the value of the...
220 просмотров
schedule
21.11.2022
Непреднамеренное поведение инструкции mov (загружает неправильный адрес)
Во время моего путешествия по языку ассемблера я столкнулся с этим странным поведением, связанным с mov инструкцией.
Это непреднамеренное поведение заключается в том, что адрес, который я намеревался загрузить, меняется на эквивалентную...
63 просмотров
schedule
08.11.2022