1: / qsort interfact to c
   2: 
   3: /	qsort(from, to)
   4: 
   5: .globl  _qsort
   6: _qsort:
   7:         mov     2(sp),r1
   8:         mov     4(sp),r2
   9:         jsr     pc,qsort
  10:         rts     pc
  11: 
  12: 
  13: qsort:
  14:         mov     r2,r3
  15:         sub     r1,r3
  16:         cmp     r3,$4
  17:         ble     done
  18:         asr     r3
  19:         bic     $3,r3
  20:         add     r1,r3
  21:         mov     r1,-(sp)
  22:         mov     r2,-(sp)
  23: 
  24: loop:
  25:         cmp     r1,r3
  26:         bhis    loop1
  27:         cmp     (r1),(r3)
  28:         bgt     loop1
  29:         add     $4,r1
  30:         br      loop
  31: 
  32: loop1:
  33:         cmp     r2,r3
  34:         blos    1f
  35:         sub     $4,r2
  36:         mov     r2,r0
  37:         cmp     (r0),(r3)
  38:         bge     loop1
  39: 
  40:         mov     (r1),r0
  41:         mov     (r2),(r1)+
  42:         mov     r0,(r2)+
  43:         mov     (r1),r0
  44:         mov     (r2),(r1)
  45:         mov     r0,(r2)
  46:         cmp     -(r1),-(r2)
  47:         cmp     r1,r3
  48:         bne     loop
  49:         mov     r2,r3
  50:         br      loop
  51: 
  52: 1:
  53:         cmp     r1,r3
  54:         beq     1f
  55:         mov     (r1),r0
  56:         mov     (r2),(r1)+
  57:         mov     r0,(r2)+
  58:         mov     (r1),r0
  59:         mov     (r2),(r1)
  60:         mov     r0,(r2)
  61:         cmp     -(r1),-(r2)
  62:         mov     r1,r3
  63:         br      loop1
  64: 
  65: 1:
  66:         mov     (sp)+,r2
  67:         mov     r3,-(sp)
  68:         mov     r3,r1
  69:         add     $4,r1
  70:         jsr     pc,qsort
  71:         mov     (sp)+,r2
  72:         mov     (sp)+,r1
  73:         br      qsort
  74: 
  75: done:
  76:         rts     pc
  77: 
  78:         rti = 2
  79: 
  80: /	itinit()
  81: 
  82: .globl  _itinit
  83: .globl  _intrp, _term
  84: signal = 48.
  85: time = 13.
  86: 
  87: _itinit:
  88:         sys     signal; 1; 1
  89:         bit     $1,r0
  90:         bne     1f
  91:         sys     signal; 1; _onhup
  92: 1:
  93:         sys     signal; 2; 1
  94:         bit     $1,r0
  95:         bne     1f
  96:         sys     signal; 2; onint
  97: 1:
  98:         sys     signal; 3; 1
  99:         rts     pc
 100: 
 101: .globl  _onhup
 102: _onhup:
 103:         sys     signal; 1; 1
 104:         sys     signal; 2; 1
 105:         sys     signal; 3; 1
 106:         jmp     _term
 107: 
 108: onint:
 109:         mov     r0,-(sp)
 110:         sys     signal; 2; onint
 111:         inc     _intrp
 112:         mov     (sp)+,r0
 113:         rti
 114: 
 115: /	t = clock()
 116: 
 117: .globl  _clock
 118: _clock:
 119:         sys     time
 120:         mov     r0,-(sp)
 121:         mov     r1,-(sp)
 122:         sub     t+2,r1
 123:         sbc     r0
 124:         sub     t,r0
 125:         mov     r1,r0
 126:         mov     (sp)+,t+2
 127:         mov     (sp)+,t
 128:         rts     pc
 129: 
 130: .bss
 131: t:      .=.+4

Defined functions

_clock declared in line 117; defined in line 118; used 4 times
_itinit declared in line 82; defined in line 87; used 2 times
_onhup declared in line 101; defined in line 102; used 8 times
_qsort declared in line 5; defined in line 6; used 6 times
done defined in line 75; used 1 times
  • in line 17
loop defined in line 24; used 3 times
loop1 defined in line 32; used 4 times
onint defined in line 108; used 2 times
qsort defined in line 13; used 3 times
signal defined in line 84; used 9 times
time defined in line 85; used 1 times

Defined variables

t defined in line 131; used 4 times
Last modified: 1979-05-05
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 665
Valid CSS Valid XHTML 1.0 Strict