master
c 35 lines 490 Bytes
Raw
1 #include <stdio.h>
2
3 int main(void)
4 {
5 int a, b;
6 int result;
7
8 a = 0x100;
9 b = 0x100;
10 result = 0x0;
11 __asm
12 ("l.sub %0, %0, %1\n\t"
13 : "+r"(a)
14 : "r"(b)
15 );
16 if (a != result) {
17 printf("sub error\n");
18 return -1;
19 }
20
21 a = 0xffff;
22 b = 0x1;
23 result = 0xfffe;
24 __asm
25 ("l.sub %0, %0, %1\n\t"
26 : "+r"(a)
27 : "r"(b)
28 );
29 if (a != result) {
30 printf("sub error\n");
31 return -1;
32 }
33
34 return 0;
35 }