Annotation of researchv10dc/cmd/icon/setup/amdahl_uts/rswitch.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * This is the co-expression context switch for the Amdahl 580 operating
                      3:  * under UNIX Sys5  5.2.4
                      4:  */
                      5: 
                      6: 
                      7: /*
                      8:  * coswitch
                      9:  */
                     10: coswitch(old_cs, new_cs, first)
                     11: int *old_cs, *new_cs;
                     12: int first;
                     13: {
                     14: 
                     15:    asm("  l    2,68(11)");             /* r0 = old_cs */
                     16:    asm("  l    1,64(11)");             /* r1 = new_cs */
                     17:    asm("  st   11,0(2)");              
                     18:    asm("  st   12,4(2)");              
                     19:    asm("  st   13,8(2)");              
                     20:    asm("  st   8,12(2)");
                     21:    asm("  st   7,16(2)");
                     22:    asm("  st    6,20(2)");
                     23:    asm("  st   5,24(2)");
                     24:    asm("  st    4,28(2)");
                     25:    asm("  st    9,32(2)");
                     26:    asm("  st   10,36(2)");
                     27:    if (first == 0) { /* this is first activation */
                     28:       asm("  l 13,0(1)");
                     29:       asm("  sr 12,12");
                     30:       asm("  sr 11,11");
                     31:       interp(0, 0);
                     32:       syserr("interp() returned in coswitch");
                     33:       }
                     34:    else {
                     35:    asm("  l    11,0(1)");              
                     36:    asm("  l    12,4(1)");      
                     37:    asm("  l    13,8(1)");
                     38:    asm("  l    8,12(1)");
                     39:    asm("  l    7,16(1)");
                     40:    asm("  l     6,20(1)");
                     41:    asm("  l    5,24(1)");
                     42:    asm("  l     4,28(1)");
                     43:    asm("  l     9,32(1)");
                     44:    asm("  l    10,36(1)");
                     45:       }
                     46: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.