1#include<stdio.h>
2#include<assert.h>
3
4int main()
5{
6 int rt, rs, dsp;
7 int result;
8
9
10 dsp = 0x305;
11 rt = 0x12345678;
12 rs = 0x87654321;
13 result = 0x12345438;
14 __asm
15 ("wrdsp %2, 0x03\n\t"
16 "insv %0, %1\n\t"
17 : "+r"(rt)
18 : "r"(rs), "r"(dsp)
19 );
20 assert(rt == result);
21
22 dsp = 0x1000;
23 rt = 0xF0F0F0F0;
24 rs = 0xA5A5A5A5;
25 result = 0xA5A5A5A5;
26
27 __asm
28 ("wrdsp %2\n\t"
29 "insv %0, %1\n\t"
30 : "+r"(rt)
31 : "r"(rs), "r"(dsp)
32 );
33 assert(rt == result);
34
35 return 0;
36}
37