1 /* Asub2.c 1.1 86/07/20 */ 2 3 #include "../tahoealign/align.h" 4 sub2(infop) process_info *infop; 5 /* 6 /* Subtract , 2 operands. 7 /* 8 /*****************************************/ 9 { 10 11 register long Register_12; /* Has to be first reg ! */ 12 register long data0, data1, result; 13 14 data0 = operand(infop,0)->data; 15 data1 = operand(infop,1)->data; 16 Register_12=psl; 17 Set_psl(r12); /* restore the user psl */ 18 result = data1 - data0; /* 32 bits of true result */ 19 asm (" movpsl r12"); 20 New_cc (Register_12); 21 write_back (infop,result, operand(infop,1) ); 22 } 23