1: / C library -- signal
   2: 
   3: / signal(n, 0); /* default action on signal(n) */
   4: / signal(n, odd); /* ignore signal(n) */
   5: / signal(n, label); /* goto label on signal(n) */
   6: / returns old label, only one level.
   7: 
   8: rtt     = 6
   9: .signal = 48.
  10: .globl  _signal, cerror
  11: 
  12: _signal:
  13:         mov     r5,-(sp)
  14:         mov     sp,r5
  15:         mov     4(r5),r1
  16:         cmp     r1,$NSIG
  17:         bhis    2f
  18:         mov     6(r5),r0
  19:         mov     r1,0f
  20:         asl     r1
  21:         mov     dvect(r1),-(sp)
  22:         mov     r0,dvect(r1)
  23:         mov     r0,0f+2
  24:         beq     1f
  25:         bit     $1,r0
  26:         bne     1f
  27:         asl     r1
  28:         add     $tvect,r1
  29:         mov     r1,0f+2
  30: 1:
  31:         sys     0; 9f
  32:         bes     3f
  33:         bit     $1,r0
  34:         beq     1f
  35:         mov     r0,(sp)
  36: 1:
  37:         mov     (sp)+,r0
  38:         mov     (sp)+,r5
  39:         rts     pc
  40: 2:
  41:         mov     $22.,r0         / EINVAL
  42: 3:
  43:         jmp     cerror
  44: 
  45: NSIG = 0
  46: tvect:
  47:         jsr     r0,1f; NSIG=NSIG+1
  48:         jsr     r0,1f; NSIG=NSIG+1
  49:         jsr     r0,1f; NSIG=NSIG+1
  50:         jsr     r0,1f; NSIG=NSIG+1
  51:         jsr     r0,1f; NSIG=NSIG+1
  52:         jsr     r0,1f; NSIG=NSIG+1
  53:         jsr     r0,1f; NSIG=NSIG+1
  54:         jsr     r0,1f; NSIG=NSIG+1
  55:         jsr     r0,1f; NSIG=NSIG+1
  56:         jsr     r0,1f; NSIG=NSIG+1
  57:         jsr     r0,1f; NSIG=NSIG+1
  58:         jsr     r0,1f; NSIG=NSIG+1
  59:         jsr     r0,1f; NSIG=NSIG+1
  60:         jsr     r0,1f; NSIG=NSIG+1
  61:         jsr     r0,1f; NSIG=NSIG+1
  62:         jsr     r0,1f; NSIG=NSIG+1
  63:         jsr     r0,1f; NSIG=NSIG+1
  64:         jsr     r0,1f; NSIG=NSIG+1
  65:         jsr     r0,1f; NSIG=NSIG+1
  66:         jsr     r0,1f; NSIG=NSIG+1
  67: 
  68: 1:
  69:         mov     r1,-(sp)
  70:         mov     r2,-(sp)
  71:         mov     r3,-(sp)
  72:         mov     r4,-(sp)
  73:         sub     $tvect+4,r0
  74:         asr     r0
  75:         mov     r0,-(sp)
  76:         asr     (sp)
  77:         jsr     pc,*dvect(r0)
  78:         tst     (sp)+
  79:         mov     (sp)+,r4
  80:         mov     (sp)+,r3
  81:         mov     (sp)+,r2
  82:         mov     (sp)+,r1
  83:         mov     (sp)+,r0
  84:         rtt
  85: .data
  86: 9:
  87:         sys     .signal; 0:..; ..
  88: .bss
  89: dvect:  .=.+[NSIG*2]

Defined functions

.signal defined in line 9; used 1 times
  • in line 87
NSIG defined in line 66; used 22 times
_signal declared in line 10; defined in line 12; used 311 times
tvect defined in line 46; used 2 times

Defined variables

dvect defined in line 89; used 3 times
Last modified: 1979-01-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 606
Valid CSS Valid XHTML 1.0 Strict