|
|
1.1 ! root 1: /* ! 2: * coswitch ! 3: */ ! 4: coswitch(old_cs, new_cs, first) ! 5: int *old_cs, *new_cs; ! 6: int first; ! 7: { ! 8: asm(" movw 0(%ap),%r0"); ! 9: asm(" movw 4(%ap),%r1"); ! 10: asm(" movw %sp,0(%r0)"); ! 11: asm(" movw %fp,4(%r0)"); ! 12: asm(" movw %ap,8(%r0)"); ! 13: asm(" movw %r3,12(%r0)"); ! 14: asm(" movw %r4,16(%r0)"); ! 15: asm(" movw %r5,20(%r0)"); ! 16: asm(" movw %r6,24(%r0)"); ! 17: asm(" movw %r7,28(%r0)"); ! 18: asm(" movw %r8,32(%r0)"); ! 19: if (first == 0) { /* this is first activation */ ! 20: asm(" movw 0(%r1),%sp"); ! 21: asm(" movw &0,%fp"); ! 22: asm(" movw &0,%ap"); ! 23: interp(0, 0); ! 24: syserr("interp() returned in coswitch"); ! 25: } ! 26: else { ! 27: asm(" movw 0(%r1),%sp"); ! 28: asm(" movw 4(%r1),%fp"); ! 29: asm(" movw 8(%r1),%ap"); ! 30: asm(" movw 12(%r1),%r3"); ! 31: asm(" movw 16(%r1),%r4"); ! 32: asm(" movw 20(%r1),%r5"); ! 33: asm(" movw 24(%r1),%r6"); ! 34: asm(" movw 28(%r1),%r7"); ! 35: asm(" movw 32(%r1),%r8"); ! 36: } ! 37: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.