LOC #0 Position des Trip Handlers PUSHJ $255,FHandl Aufruf des eigentlichen Handlers PUT rJ,$255 restauriere rJ GET $255,rB restauriere \$255 RESUME 0 Rücksprung LOC #10 PUSHJ $255,DHandl PUT rJ,$255 GET $255,rB RESUME 0 LOC #20 PUSHJ $255,VHandl PUT rJ,$255 GET $255,rB RESUME 0 LOC #30 PUSHJ $255,WHandl PUT rJ,$255 GET $255,rB RESUME 0 LOC #100 Main SET $1,1 SETH $2,#7FFF TRIP $0,$1,$2 Trip Befehl SET $0,#ff00 Arithmetische Ausnahmen einschalten PUT rA,$0 DIV $0,$1,0 Division durch 0 ADD $0,$2,$2 Überlauf bei der Addition FLOT $2,$2 Konversion nach float FADD $0,$2,$2 Diesmal geht die Addition FIX $0,$0 Überlauf bei der Konversion nach fix TRAP 0,Halt,0 Text1 BYTE "Trip Befehl ausgeführt",#a,0 FHandl SET $0,$255 GETA $255,Text1 TRAP 0,Fputs,StdOut SET $255,$0 POP 0,0 Text2 BYTE "Division durch 0: Ganzzahlarithmetik",#a,0 DHandl SET $0,$255 GETA $255,Text2 TRAP 0,Fputs,StdOut SET $255,$0 POP 0,0 Text3 BYTE "Überlauf: Ganzzahlarithmetik",#a,0 VHandl SET $0,$255 GETA $255,Text3 TRAP 0,Fputs,StdOut SET $255,$0 POP 0,0 Text4 BYTE "Überlauf: float nach fix",#a,0 WHandl SET $0,$255 GETA $255,Text4 TRAP 0,Fputs,StdOut SET $255,$0 POP 0,0