execbase= 4

s:
movem.l	A0/A1/A2/A3/A6/D0/D1/D2/D3,-(A7)
bsr	OpenDosLib
move.l	d0,a6		;DosBase to A6
jsr	-60(a6)
lea	ohandle(PC),a0
move.l	d0,(a0)
jsr	-54(a6)
lea	ihandle(PC),a0
move.l	d0,(a0)
cont:
clr.l	d0
move.b	$80,d0
move.b	$80,d1
and.b	#$f0,d0
lsr.b	#4,d0
add.b	#64,d0
and.b	#$f,d1
add.b	#64,d1
lea	name(PC),a0
move.b	d0,2(a0)
move.b	d1,3(a0)
cmp.w	#'GB',2(a0)	;Programmer som trenger EXECUTE
beq	ld2		;
cmp.w	#'JA',2(a0)
beq	ld2
ld1:
add.l	#2,a0
ld2:
clr.b	$80
move.l	a0,d1
clr.l	d2
clr.l	d3
lea	name(PC),a0
cmp.w	#'BB',2(a0)	;Programmer som bruker I/O i dos vindu.
beq	ld4             ;
cmp.w	#'xx',2(a0)
bne	ld3
ld4:
move.l	ihandle(PC),d2
move.l	ohandle(PC),d3
ld3:
move.l	dosbase,a6
jsr	-222(A6)
lea	name(PC),a0
cmp.w	#'AC',2(a0)	;Programmer som lager sin egen task
beq	end             ;
cmp.w	#'xx',2(a0)	
beq	end
cmp.w	#'IA',2(a0)	
beq	end
cmp.w	#'JA',2(a0)	
beq	end
lea	meny(PC),a0
move.l	a0,d1
clr.l	d2
clr.l	d3
move.l	dosbase,a6
jsr	-222(A6)
bra	cont
end:
lea	EndMessage(PC),a0
move.l	a0,d2
move.l	ohandle(PC),d1
move.l	#25,d3
move.l	dosbase,a6
jsr	-48(A6)
bsr	CloseDosLib
move.l	#100,d0
lp:
dbra	d0,lp
movem.l	(A7)+,A0/A1/A2/A3/A6/D0/D1/D2/D3
rts

name:
dc.b	'X ',0,0,0,0
meny:
dc.b	'meny',0,0
EndMessage:
dc.b	'Type "X Y" to continue!',$a,0,0
ohandle:
dc.l	0
ihandle:
dc.l	0

;****DosLibrary*****
OpenDosLib:
even
move.l execbase,a6
lea dosname(PC),a1
clr.l d0
jsr -408(a6)
lea dosbase(PC),a0
move.l d0,(a0)    ;d0=0 Error opening doslib.
rts

CloseDosLib:
move.l execbase,a6
move.l dosbase(PC),a1
jsr -414(a6)
rts

dosname:dc.b 'dos.library',0
even
dosbase:blk.l 1
;*****End DosLibrary*****
