qemu

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

test_dsp_r1_pick_ph.c (889B)


      1 #include<stdio.h>
      2 #include<assert.h>
      3 
      4 int main()
      5 {
      6     int rd, rs, rt, dsp;
      7     int result;
      8 
      9     rs = 0x12345678;
     10     rt = 0x87654321;
     11     dsp = 0x0A000000;
     12     result = 0x12344321;
     13 
     14     __asm
     15         ("wrdsp %3, 0x10\n\t"
     16          "pick.ph %0, %1, %2\n\t"
     17          : "=r"(rd)
     18          : "r"(rs), "r"(rt), "r"(dsp)
     19         );
     20     assert(rd == result);
     21 
     22     rs = 0x12345678;
     23     rt = 0x87654321;
     24     dsp = 0x03000000;
     25     result = 0x12345678;
     26 
     27     __asm
     28         ("wrdsp %3, 0x10\n\t"
     29          "pick.ph %0, %1, %2\n\t"
     30          : "=r"(rd)
     31          : "r"(rs), "r"(rt), "r"(dsp)
     32         );
     33     assert(rd == result);
     34 
     35     rs = 0x12345678;
     36     rt = 0x87654321;
     37     dsp = 0x00000000;
     38     result = 0x87654321;
     39 
     40     __asm
     41         ("wrdsp %3, 0x10\n\t"
     42          "pick.ph %0, %1, %2\n\t"
     43          : "=r"(rd)
     44          : "r"(rs), "r"(rt), "r"(dsp)
     45         );
     46     assert(rd == result);
     47 
     48     return 0;
     49 }