L #IN
ITD
DTR
L #FACTOR
*R
L #OFFSET
+R
T #OUT
L #IN // if(IN_REAL<K1)
L #LO_LIM // .
>=I // .
JC EL02 // {
// error
S #RET_VAL // .
L 0 // ACC1=LO_LIM
T #OUT // OUT=ACC1
JU FAIL // error
EL02: POP // } else {
L #HI_LIM // if(IN_REAL>K2)
<=I // .
JC EI04 // {
// error
S #RET_VAL // .
L #HI_LIM // ACC1=HI_LIM
T #OUT // OUT=ACC1
JU FAIL // error
EI04: NOP 0 // }
NOP 0 // }
// set BR bit : no error-set BR bit to 1; with error-set BR bit to 0.
// return error code 0
R #RET_VAL
SET // RLO = 1 (NO ERROR)
JU SVBR //
FAIL: CLR // RLO = 0 (ERROR)
SVBR: SAVE // BR = RLO