|
|
1.1 root 1:
2: .set ISP,15
3: .set NBPG,1024
4: .set HIGH,0x1f /*mask for disabling all interrupts */
5: .set MCKVEC,4 /*scb offset for machinecheck vector */
6: .set NISP,2 /*no. of interrupt stack pages */
7: .set DONE,255 /*user process done code */
8:
9:
10: .data
11: .set NLWU,31 /*no. of longwords already used */
12:
13: .globl _savvec0 /*save vectors area */
14: _savvec0:
15: .space 4
16: .globl _savvec1 /*save vectors area */
17: _savvec1:
18: .space 4
19: .globl _savvec2 /*save vectors area */
20: _savvec2:
21: .space 4
22: .globl _savvec3 /*save vectors area */
23: _savvec3:
24: .space 4
25: .globl _savvec4 /*save vectors area */
26: _savvec4:
27: .space 4
28: .globl _savvec5 /*save vectors area */
29: _savvec5:
30: .space 4
31: .globl _savvec6 /*save vectors area */
32: _savvec6:
33: .space 4
34: .globl _savvec7 /*save vectors area */
35: _savvec7:
36: .space 4
37:
38: .globl badrtn
39: badrtn:
40: .long tfail
41:
42: .globl return
43: return:
44: .long goodrtn
45:
46: .globl _dbuf /*dump buffer left out of 1K */
47: _dbuf:
48: .space NBPG - (NLWU *4)
49: edbuf:
50: .globl _intstack /*interrupt stack */
51: _intstack: /*physical pages 4 & 5 */
52: .space NISP*NBPG /*2pages = 2048 bytes */
53: eintstack:
54:
55: .text
56: .globl _start
57: _start:
58: movl $_intstack+NISP*NBPG,sp /* Initialize SP */
59: movab (sp),fp /* Initialize FP */
60: jmp dotst + 2 /* Jump to test */
61: # callf $4,_main
62: goodrtn:
63: pushab M1
64: callf $8,_writes
65: movl $0xcafebabe,r0
66: jmp *return /* Good : R0 == CAFE BABE */
67: tfail:
68: movl $0xffffffff,r0
69: jmp *badrtn
70:
71: .data 1
72: M1: .ascii "** congratulation , test passed **\n\0"
73:
74: .text
75: .globl dotst
76: dotst: /* test start from here */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.