1#include "io.h" 2 3int main(void) 4{ 5 long long achi, acli, rs, rt; 6 long long acho, aclo; 7 long long resulth, resultl; 8 9 rs = 0x00BBAACC; 10 rt = 0x0B1C3D2F; 11 achi = 0x00004433; 12 acli = 0xFFCC0011; 13 resulth = 0xFFFFFFFFFFF81F29; 14 resultl = 0xFFFFFFFFB355089D; 15 16 __asm 17 ("mthi %2, $ac1\n\t" 18 "mtlo %3, $ac1\n\t" 19 "msubu $ac1, %4, %5\n\t" 20 "mfhi %0, $ac1\n\t" 21 "mflo %1, $ac1\n\t" 22 : "=r"(acho), "=r"(aclo) 23 : "r"(achi), "r"(acli), "r"(rs), "r"(rt) 24 ); 25 if ((acho != resulth) || (aclo != resultl)) { 26 printf("msubu wrong\n"); 27 28 return -1; 29 } 30 31 return 0; 32} 33