Hoj,
peru se s inline ASM v G++, vyhodil mi tendle roztomilej error /*Stack smashing detected */ a já nemůžu zjistit kde že to lezu mimo paměť. Za pomoc budu opravdu rád neb opravdu netuším jak chybu vyřešit. /*kde je sem našel ale je mi to k hovnu*/
#include <iostream>
#include <string>
#include <cstdlib>
int main()
{
using namespace std;
int var0[2] = {4,8};
int var1[2] = {25,89};
int var2[2] = {0};
asm(
".intel_syntax noprefix;"
"mov rdx,[%0];"
"add rdx,[%1];"
"mov [%2], rdx;"
"mov rdx,[%0+1*4];"
"add rdx,[%1+1*4];"
"mov [%2+1*4],rdx;" // Tady je zakopanej pes ale nevím proč ...
".att_syntax noprefix;"
: /* no output */
: "a" (var0), "b" (var1), "c"(var2)
: "rdx"
);
cout << var2[0] << " a " << var2[1] << endl;
return 0;
}