Commit | Line | Data |
---|---|---|
a570deab KT |
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 |