2016-04-23 70 views
4

我想在parasoft C++测试软件中编译和测试示例嵌入式汇编代码。
parasoft C++测试 - 编译inline汇编代码

源代码:

#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++测试自身检测到的错误,而是您从Eclipse CDT IDE(代码编辑器)获得的提示。您可能使用Parasoft C++测试作为Eclipse插件。