1: / Startup code for two-stage bootstrap
2:
3: / non-UNIX instructions
4: mfpi = 6500^tst
5: stst = 170300^tst
6: mtpi = 6600^tst
7: mfpd = 106500^tst
8: mtpd = 106600^tst
9: spl = 230
10: ldfps = 170100^tst
11: stfps = 170200^tst
12: wait = 1
13: rtt = 6
14: reset = 5
15: / trap = 104400
16:
17: PS = 177776
18:
19: .globl _end
20: .globl _main, __rtt
21: .globl _edata
22: jmp start
23:
24: /
25: / trap vectors
26: /
27: trap;340
28: trap;341 / illegal instruction
29: trap;342 / BPT
30: trap;343 / IOT
31: trap;344 / POWER FAIL
32: trap;345 / EMT
33: tvec:
34: start;346 / TRAP
35: .=400^.
36: .text
37:
38:
39: start:
40: mov $340,*$PS
41: mov $trap,tvec
42: / fix up stack segment clobbered by trap
43: mov $1400,*$KDSA6
44: mov $157776,sp
45: mov $_edata,r0
46: mov $_end,r1
47: sub r0,r1
48: inc r1
49: clc
50: ror r1
51: 1:
52: clr (r0)+
53: sob r1,1b
54: jsr pc,_main
55:
56: / fix up stack to point at trap ps-pc pair
57: / so we can return to the bootstrap
58: __rtt:
59: clr *$KDSA6
60: mov $140000,sp
61: rtt / we hope!
62: br .
63:
64:
65: .globl _trap
66: trap:
67: mov r0,-(sp)
68: mov r1,-(sp)
69: mov *$PS,-(sp)
70: jsr pc,_trap
71: tst (sp)+
72: mov (sp)+,r1
73: mov (sp)+,r0
74: rtt
75:
76: KDSA6 = 172374
Defined functions
KDSA6
defined in line
76; used 2 times
PS
defined in line
17; used 2 times
__rtt
declared in line
20; defined in line
58; used 2 times
start
defined in line
39; used 2 times
trap
defined in line
66; used 7 times
tvec
defined in line
33; used 1 times