Вопросы по теме '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 просмотров

Документация по встроенной сборке 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 просмотров

Встроенный ассемблер на 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 просмотров