;  ###----------------------------------------------------------------###
;  #									#
;  # file	: movi2s001.s  	 					#
;  # date	: 4 nov 1993 						#
;  # descr.	: functional test for dlx				#
;  #									#
;  ###----------------------------------------------------------------###

	;  ###--------------------------------------------------------###
	;  #  test de l'instruction movi2s en mode user 
	;  ###--------------------------------------------------------###

		org	X"fffffff0"		; adresse de l'interrupt handler

		j 	inthand

		org	X"ffffff00"		; debut du programme interrupt handler

adrbaduH	equ	X"7fff"
adrbaduL	equ	X"fff8"


inthand	        movs2i  r1, tvr			; test si le registre TVR a ete modifie
	
		lhi 	r2, X"1010"
		ori	r2, r2, X"1010"
	
		seq	r3, r1, r2 
        	bnez	r3, bad			; si oui alors il y a une erreur 

		movs2i	r1, sr			; test si le registre SR a ete positionne
		andi	r1, r1, B"0000001000000000"
		seqi	r2, r1, B"0000001000000000"
		beqz	r2, bad			; si non alors il y a une erreur
	
		movs2i	r1, iar			; si tous les test sont OK on retourne a good
		addi	r1, r1, X"08"
		movi2s	iar, r1
		rfe
 
		org	X"ffffff80"

bad	    	lhi	r1, adrbaduH	
		ori	r1, r1, adrbaduL
		movi2s	iar, r1
		rfe

		nop

		end
