2016-04-23 5 views
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. 

Что мне делать?

+1

Отправьте код, пожалуйста, не фрагмент вашего экрана – sjsam

+0

@sjsam добавлен исходный код –

+0

Спасибо, я только что отредактировал вопрос, чтобы удалить избыточную диаграмму. Теперь все понятнее. – sjsam

ответ

0

Скорее всего, это не ошибка, обнаруженная Parasoft C++ test как сама, а скорее намек, который вы получаете от Eclipse CDT IDE (редактор кода). Вероятно, вы используете Parasoft C++ test как плагин Eclipse.

Смежные вопросы