1*073d9f2cSAleksandar Markovic #include<stdio.h> 2*073d9f2cSAleksandar Markovic #include<assert.h> 3*073d9f2cSAleksandar Markovic 4*073d9f2cSAleksandar Markovic int main() 5*073d9f2cSAleksandar Markovic { 6*073d9f2cSAleksandar Markovic int rs, rt, ach, acl; 7*073d9f2cSAleksandar Markovic int resulth, resultl; 8*073d9f2cSAleksandar Markovic 9*073d9f2cSAleksandar Markovic ach = 0x05; 10*073d9f2cSAleksandar Markovic acl = 0x00BBDDCC; 11*073d9f2cSAleksandar Markovic rs = 0x80001234; 12*073d9f2cSAleksandar Markovic rt = 0x80004321; 13*073d9f2cSAleksandar Markovic resulth = 0x05; 14*073d9f2cSAleksandar Markovic resultl = 0x3BF5E918; 15*073d9f2cSAleksandar Markovic 16*073d9f2cSAleksandar Markovic __asm 17*073d9f2cSAleksandar Markovic ("mthi %0, $ac1\n\t" 18*073d9f2cSAleksandar Markovic "mtlo %1, $ac1\n\t" 19*073d9f2cSAleksandar Markovic "mulsa.w.ph $ac1, %2, %3\n\t" 20*073d9f2cSAleksandar Markovic "mfhi %0, $ac1\n\t" 21*073d9f2cSAleksandar Markovic "mflo %1, $ac1\n\t" 22*073d9f2cSAleksandar Markovic : "+r"(ach), "+r"(acl) 23*073d9f2cSAleksandar Markovic : "r"(rs), "r"(rt) 24*073d9f2cSAleksandar Markovic ); 25*073d9f2cSAleksandar Markovic assert(ach == resulth); 26*073d9f2cSAleksandar Markovic assert(acl == resultl); 27*073d9f2cSAleksandar Markovic 28*073d9f2cSAleksandar Markovic return 0; 29*073d9f2cSAleksandar Markovic } 30