4
Я хочу скомпилировать и протестировать образец встроенного встроенного кода сборки в тестовом программном обеспечении parasoft C++.
parasoft C++ test - компилировать встроенный код сборки в
исходный код:
#include <stdio.h>
void example() { int arg1, arg2, add, sub, mul, quo, rem ;
printf("Enter two integer numbers : ");
scanf("%d%d", &arg1, &arg2);
__asm__ ("addl %%ebx, %%eax;" : "=a" (add) : "a" (arg1) , "b" (arg2));
__asm__ ("subl %%ebx, %%eax;" : "=a" (sub) : "a" (arg1) , "b" (arg2));
__asm__ ("imull %%ebx, %%eax;" : "=a" (mul) : "a" (arg1) , "b" (arg2));
__asm__ ("movl $0x0, %%edx;"
"movl %2, %%eax;"
"movl %3, %%ebx;"
"idivl %%ebx;" : "=a" (quo), "=d" (rem) : "g" (arg1), "g" (arg2));
printf("%d + %d = %d\n", arg1, arg2, add);
printf("%d - %d = %d\n", arg1, arg2, sub);
printf("%d * %d = %d\n", arg1, arg2, mul);
printf("%d/%d = %d\n", arg1, arg2, quo);
printf("%d %% %d = %d\n", arg1, arg2, rem);
}
код имеет ошибку. Ошибка для каждого слова:
The word 'ebx' is not correctly spelled.
Что мне делать?
Отправьте код, пожалуйста, не фрагмент вашего экрана – sjsam
@sjsam добавлен исходный код –
Спасибо, я только что отредактировал вопрос, чтобы удалить избыточную диаграмму. Теперь все понятнее. – sjsam