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