Отображение значения регистра в сборке - PullRequest
2 голосов
/ 11 ноября 2010

У меня есть код сборки, который выполняет математическое уравнение, результат которого сохраняется в регистре ebx. Как я могу отобразить значение регистра? Я думал о переносе значения ebx в стек, затем "%i\n" и вызове printf, но если это сработает, я не знаю, как его можно кодировать в сборке GCC с использованием MacOS.

1 Ответ

3 голосов
/ 11 ноября 2010
#include <stdio.h>

int f()
{
        asm("movl $42, %ebx");
        asm("movl %ebx, %eax");
}

main() {
        printf("%i\n", f()); // displays 42.
}

Как видите, содержимое регистра EAX будет использоваться как возвращаемое значение для функции f ().

...