LINUX.ORG.RU

Inline Assembler, Array


0

0

пытаюсь понять как можно передать массив в ассемблерную вставку и дальше с ним выполнять действия.

uint8_t res;

char *str = new char[8];
for (int j = 0; j < 8; j++) {
	str[j] = alphabet.at(rand() % 74); //собрали случайную строку
}
__asm__(""
	: "=a"(res) 
	: "m"(str));
можете дать пример того, как 2 элемент массива положить в res?


#include <stdio.h>

int main(void)
{
    char res = 'a';
    char *str = "abcdef";

    putchar(res);

    asm ("movb 1(%1), %0\n"
         : "=d"(res)
         : "d" (str)
        );

    putchar(res);

    return 0;
}
bengan
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.