qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

test_div.c (810B)


      1 #include <stdio.h>
      2 
      3 int main(void)
      4 {
      5     int a, b, c;
      6     int result;
      7 
      8     b = 0x120;
      9     c = 0x4;
     10     result = 0x48;
     11     __asm
     12     ("l.div  %0, %1, %2\n\t"
     13      : "=r"(a)
     14      : "r"(b), "r"(c)
     15     );
     16     if (a != result) {
     17         printf("div error\n");
     18         return -1;
     19     }
     20 
     21     result = 0x4;
     22     __asm
     23     ("l.div %0, %1, %0\n\t"
     24      : "+r"(a)
     25      : "r"(b)
     26     );
     27     if (a != result) {
     28         printf("div error\n");
     29         return -1;
     30     }
     31 
     32     b = 0xffffffff;
     33     c = 0x80000000;
     34     result = 0;
     35     __asm
     36     ("l.div %0, %1, %2\n\t"
     37      : "=r"(a)
     38      : "r"(b), "r"(c)
     39     );
     40     if (a != result) {
     41         printf("div error\n");
     42         return -1;
     43     }
     44 
     45     b = 0x80000000;
     46     c = 0xffffffff;
     47     __asm
     48     ("l.div %0, %1, %2\n\t"
     49      : "=r"(a)
     50      : "r"(b), "r"(c)
     51     );
     52 
     53     return 0;
     54 }