; ###----------------------------------------------------------------### ; # file : exc100.u # ; # date : Mar 26 1996 # ; # descr. : functional test for mips # ; ###----------------------------------------------------------------### ; ###--------------------------------------------------------### ; # exceptions : # ; # - data address miss alignment (when loading a word) # ; ###--------------------------------------------------------### adr .equ 0x40000050 ; word address data .equ 0x9043ad6b ; data .org 0x00400000 .start init init: loadi r31, back_from_exception loadi r1 , adr ; word's address loadi r2 , data ; init. r2 with a data loadi r3 , data ; init. r3 with the same value ; ###--------------------------------------------------------### ; # load a word at a miss aligned address (data address # ; # alignment exception) # ; ###--------------------------------------------------------### lw r2 , 1 (r1 ) ; EXCEPTION (alignement) nop ; ###--------------------------------------------------------### ; # check that the load has faild and the content of the # ; # register has not been altered # ; ###--------------------------------------------------------### back_from_exception: ; check that the lw has failed beq r3 ,r2, good ; jump to good if OK nop j bad nop .org 0x004000D0 good: j good nop .org 0x004000D8 bad: j bad nop .end