|
|
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.