                                 /part 25b
/test extend mode
/program for core 0
/last program in instruction test
/computer halts with main console
/in following condition...
/pc=000001   ma=000000   mb=000025   ac=000777
/            io=777000   pf=all on

0/

	25	/program number
stt,	szs 10	/if sw 1 up,
	hlt	/halt after read-in

/begin tests

	eem	/enter extend mode
	lac i e1	/location of 0s in core 1
	sas t1	/if not 0,
	hlt	/error
	lac i e2
	sas t2
	hlt	/error
	lac i e3	/777000
	sas t3	/if not same,
	hlt	/error
	add i e4	/000777
	sza
	hlt	/error

	lem	/leave extend mode
	jmp i i1	/see that i bit specifies indirection
	hlt	/in case jump fails

/entry to core 1

100/	jmp i .	/go to 100 in core 1
	hlt	/in case jump failed

/constants for core 1

200/

t2,	777777
t1,	000000
t4,	000777
t3,	777000

/extend mode pointers

e1,	i 200	/core 1
e2,	i 201
e3,	i 202
e4,	i 203
e5,	6000	/core 0
e6,	100	/core 0








/indirect pointers for non-extend mode

i1,	i i2
i2,	i i3
i3,	i i4
i4,	4777

/random constant

tst,	3000

3000/	sas tst	/entry from core 1
	hlt	/error

/end of program

	szs 20	/if sw 2 up,
	jmp stt 2	/program iterates

	cla>>05<<cli>>05<<cma
	rcr 9s	/set ac to 000777, io to 777000
	stf 7	/set all program flags
	jmp 0	/halt with 25 in memory buffer

/random jump routines in and out of extend mode

4777/	eem	/enter extend mode
	jmp i e5	/extended address in same core
	hlt	/in case jump failed

6000/	xct i e6	/execute entry to core 1
	hlt	/failed to jump

/end of program
/end of instruction test

foo,

start stt
                      
                                                                                                             

