发表于:2008-03-16 17:58:00
楼主
[color=#808000]SET
A #BIPOLAR Set K1 and K2 con stants based upon BIPOLAR
JC EL01
L 10000000e+000
T #K1
JU EI01
EL01;L -2.764800e+004
T #K1
EL01;NOP 0
L 2.764800e+004
T#k2
//determine SPAN=HI_LIM_LO_LIM
L #HI_LIM
L #LO_LIM
_R
T #SPAN
// if the input value is out side the HI_LIM and LO_LIM mrang the output
// is clamped to the nearer of either K2 and K2 and an error is loggea
// if the input value is eraclly at a limit the output will beset
// the computed limit with no errov retarned
L #SPAN
L 0.000000e+000
LR
JCN EL02
L IN
L #HI_LIM
>=R
JC EI03
L 8
T #RET_VAL
L #K1
JU WRIT
EI03 NOP 0
POP
L #LO_LIM
<=R
JC EI04
L 8
T #RET_VAL
L #K2
Ju WRIT
EI04 NOP 0
EI 02
EI02 L#IN
L #LO_LIM
>=R
JC EI05
L 8
T #RET_VAL
L #K1
Ju WRIT
EI05 N0P0
P0p
L #HI_LIM
<=R
JC EI06
L 8
T #RET_VAL
L #K2
Ju WRIT
EI06 N0P 0
EI02 NOP 0
Ju CALC
WRIT TRUNC
T #OUT
Ju FAIL
//UNSCALE THE INPUT
CALL L #K2
L #K1
-R
T #TEMP1
L #1N
L #20_L1M
-R
L #SPAN
/R
L # TEMP1
*R
L #K1
+R
TRUNC
T #OUT
//set BR bit no erron –set BR BIT TO 1,WITN ERRUN –SET BR bit to
L 0
T #RET_VAL
SET
JU SVBR
FALL CLR
SVBR SAVE[/color]