Свързани въпроси 'inline-assembly'

Грешка: операнд извън обхвата при използване на PPC асемблер
Имам изграден gcc кръстосан компилатор/асемблер/линкер с „powerpc-eabi“ като TARGET в Windows, използвайки cygwin. При сглобяване ми излиза следната грешка.... code/sfiles/init_evh.s: Assembler messages: code/sfiles/init_evh.s:381: Error: operand...
1729 изгледи
schedule 20.09.2022

Проверка за ID флаг в RFLAGS с помощта на вградено асемблиране в C
Написах следното вградено събрание, за да опитам да проверя за ID флага. Знам, че трябва да се зададе, защото мога да използвам инструкцията cpuid, но тази функция връща 0, когато я тествам. _Bool /* Checks whether the cpu has the cpuid...
63 изгледи
schedule 28.09.2022

Функцията за вградено асемблиране на C++ не работи правилно
Всеки път получавам различна върната стойност, така че правя нещо нередно. Ако заменя add с основен inc , той се връща правилно. Ето кода. #define WIN32_LEAN_AND_MEAN #include <Windows.h> #include <iostream> using namespace...
758 изгледи
schedule 23.10.2022

Вградени документи за асемблиране на Watcom
Търся ръководства и документи за Open Watcom Linker, вградено асемблиране и C компилатор, тъй като открих, че официалните ръководства не са достатъчно добри. Фокусиран съм особено върху C и асемблирането. Ще съм ви благодарен за връзки към уроци,...
1703 изгледи
schedule 12.11.2022

Грешка вграден asm в 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

Оптимизиране на използваните регистри при използване на вградено ARM асемблиране в GCC
Искам да напиша някакъв вграден ARM асембли в моя C код. За този код трябва да използвам регистър или два повече от тези, декларирани като входове и изходи на функцията. Знам как да използвам clobber списъка, за да кажа на GCC, че ще използвам някои...
1547 изгледи

gcc вграден монтаж за превключване на контекста
Опитвам се да внедря превключване на контекст, използвайки gcc за m68k процесори. Трябва да използвам вградено асемблиране за запазване на всички регистри d0, d1...d7 и a0,...a7. Чудех се дали мога да използвам цикъл в моя вграден gcc, който да ми...
1085 изгледи
schedule 08.12.2023

Неуспешно вградено асемблиране в C++?
Добре, така че основно написах функция за асемблиране, за да открия дали даден процес присъства по време на изпълнение. Не разбирам вградения асембли до такава степен, че въпреки че увих кода на асемблирането с обвивката на asm, той все още открива...
325 изгледи

Пач по време на изпълнение в C++/inline асемблиране
Опитвам се да коригирам функцията cat() , за да върне true, но по някаква причина програмата се срива, когато дори не извикам функцията. Дали проблемът е моят метод за корекция? Мисля, че пиша на правилния адрес (адресът на функцията е 004012e4)....
1539 изгледи
schedule 20.12.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" : "=r"(ret)...
100 изгледи
schedule 01.11.2023

Някакви ограничения за позоваване на високата половина на регистър в gcc inline асемблиране?
В моя C код има някои вградени сборки, извикващи PCI BIOS услуга. Сега проблемът е, че един от резултатите се връща в регистъра %ah , но не мога да намеря константа, която да се отнася до този регистър. Това, което искам е да напиша следното:...
347 изгледи
schedule 11.04.2024

Как вграденото (x86) асемблиране влияе върху програмния поток?
Опитвам се да разбера как такива фрагменти се извикват по време на изпълнение: __asm{ PUSH ES MOV CX,0 //... More x86 assembly }; Ощипването на регистрите няма ли да повреди изпълнението на програмния поток? Например: Ако CX...
160 изгледи
schedule 24.11.2023