|
|
1.1 ! root 1: #include "../machine/alignment.h" ! 2: shlq(infop) process_info *infop; ! 3: /* ! 4: /* Shift left quadword. ! 5: /* ! 6: /********************************/ ! 7: { ! 8: register long Register_12; /* Has to be first reg ! */ ! 9: register long Register_11; ! 10: register long Register_10; ! 11: register long *Register_9; ! 12: quadword result; ! 13: ! 14: Register_12 = operand(infop,0)->data; /* Counter */ ! 15: Register_9 = &operand(infop,1)->data; /* Source */ ! 16: ! 17: Register_10=psl; ! 18: Set_psl(r10); /* restore the user psl */ ! 19: asm (" shlq r12,(r9),r10"); ! 20: asm (" movpsl r12"); ! 21: New_cc (Register_12); ! 22: result.high = Register_10; ! 23: result.low = Register_11; ! 24: write_quadword (infop, result, operand(infop,2)); ! 25: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.