28 lines
		
	
	
		
			531 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
		
			531 B
		
	
	
	
		
			C
		
	
	
	
	
	
|   | #include<stdio.h>
 | ||
|  | #include<assert.h>
 | ||
|  | 
 | ||
|  | int main() | ||
|  | { | ||
|  |     int rs, rt; | ||
|  |     int ach = 5, acl = 5; | ||
|  |     int resulth, resultl; | ||
|  | 
 | ||
|  |     rs      = 0xBC0123AD; | ||
|  |     rt      = 0x01643721; | ||
|  |     resulth = 0x04; | ||
|  |     resultl = 0xFFFFFEE5; | ||
|  |     __asm | ||
|  |         ("mthi  %0, $ac1\n\t" | ||
|  |          "mtlo  %1, $ac1\n\t" | ||
|  |          "dpsu.h.qbl $ac1, %2, %3\n\t" | ||
|  |          "mfhi  %0, $ac1\n\t" | ||
|  |          "mflo  %1, $ac1\n\t" | ||
|  |          : "+r"(ach), "+r"(acl) | ||
|  |          : "r"(rs), "r"(rt) | ||
|  |         ); | ||
|  |     assert(ach == resulth); | ||
|  |     assert(acl == resultl); | ||
|  | 
 | ||
|  |     return 0; | ||
|  | } |