STL 状态字问题 悬赏分:5 - 解决时间:2009-2-9 11:47 最近在学习STL 语言,每个指令都有个状态字, BR,CC1,CC0,OV,OS,OR,STA,RLO,/FC,这些状态位都代表什么含意
怎么个用法呢
希望各位老师指点一下,越详细越好
问题ID: 31231 提问者:工控123 - 毕业实践员 第4 级 最佳答案 ●首次检查位:状态字的0 位称作首次检查位,如果/FC 位的信号状态为“0”,则表示伴随着下一条逻辑指令,程序中将开始一个新的逻辑串
FC 前面的斜杠表示对 FC 取反
● 逻辑运算结果:状态字的第1 位为RLO 位(RLO= “逻辑运算结果”),在二进制逻辑运算中用作暂时存储位
比如,一串逻辑指令中的某个指令检查触点的信号状态,并根据布尔逻辑运算规则将检查的结果(状态位)与 RLO 位进行逻辑门运算,然后逻辑运算结果又存在RLO 位中
● 状态位:状态位(第2 位)用以保存被寻址位的值
状态位总是向扫描指令(A,AN,O,…)或写指令(=,S,R,)显示寻址位的状态(对于写指令,保存的寻址位状态是本条写指令执行后的该寻址位的状态)
● OR 位:在用指令OR 执行或逻辑操作之前,执行与逻辑操作的时候,就需要用到 OR 这一状态位
OR 位表示先前执行的与逻辑操作产生的值为“1”,于是,逻辑操作或的执行结果就已被确定为“1”
● OV 位:溢出表示算术或比较指令执行时出现了错误
根据所执行的算术或逻辑指令结果对该位进行设置
● OS 位:溢出存储位是与 OV 位一起被置位的,而且在更新算术指令之后,它能够保持这种状态,也就是说,它的状态不会由于下一个算术指令的结果而改变
这样,即使是在程序的后面部分,也还有机会判断数字区域是否溢出或者指令是否含有无效实数
OS 位只有通过如下这些命令进行复位:JOS(若 OS = 1,则跳转