qemu

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

test_dsp_r1_addu_qb.c (675B)


      1 #include<stdio.h>
      2 #include<assert.h>
      3 
      4 int main()
      5 {
      6     int rd, rs, rt;
      7     int dsp;
      8     int result;
      9 
     10     rs     = 0x00FF00FF;
     11     rt     = 0x00010001;
     12     result = 0x00000000;
     13     __asm
     14         ("addu.qb %0, %2, %3\n\t"
     15          "rddsp %1\n\t"
     16          : "=r"(rd), "=r"(dsp)
     17          : "r"(rs), "r"(rt)
     18         );
     19     assert(rd == result);
     20     assert(((dsp >> 20) & 0x01) == 1);
     21 
     22     rs     = 0xFFFF1111;
     23     rt     = 0x00020001;
     24     result = 0xFF011112;
     25     __asm
     26         ("addu.qb %0, %2, %3\n\t"
     27          "rddsp %1\n\t"
     28          : "=r"(rd), "=r"(dsp)
     29          : "r"(rs), "r"(rt)
     30         );
     31     assert(rd == result);
     32     assert(((dsp >> 20) & 0x01) == 1);
     33 
     34     return 0;
     35 }