24
22/08/2003
Copyright Teemu Kerola 2003
Virhetilanteisiin varautuminen (3)
•Suoritin tarkistaa käskyn suoritusaikana
–”automaattinen”
–integer overflow,
divide by zero, ...
•Generoidut konekäskyt tarkistavat ja explisiittisesti aiheuttavat keskeytyksen tai käyttöjärjestelmän palvelupyynnön tarvittaessa
–”manuaalinen”
–index out of bounds, bad method, bad operand
–ihan mitä vain haluat testata!
ADD R1, R2  ; overflow??
DIV R4, =0  ; divide-by-zero
COMP  R1, Tsize     ; indeksin rajatarkistus
JLES     IndexOK     ; Taulu:n koko Tsize:ssä
     SVC      SP, =BadIndex ; käyttöjärj. huolehtii
IndexOK  STORE  R2, Taulu(R1) ; R1 = 12 345 000 ??