SM-100/30/080/P0/45/S1/B1
SM-100/30/080/P0/45/S1/B1
溢出位(OV)
狀態字的位4稱為溢出位。溢出位被置1,表明一個算術運算或浮點數比較指令執行時出現錯誤(錯誤:溢出、非法操作、不規范格式)。后面的算術運算或浮點數比較指令執行結果正常的話OV位就被清0。
(6) 溢出狀態保持位(OS)
狀態字的位5稱為溢出狀態保持位(或稱為存儲溢出位)。OV被置1時OS也被置1;OV被清0時OS仍保持。所以它保存了OV位,可用于指明在先前的一些指令執行中是否產生過錯誤。只有下面的指令才能復位OS位:JOS(OS=1時跳轉);塊調用指令和塊結束指令。
(7) 條件碼1(CC1)和條件碼0(CC0)
狀態字的位7和位6稱為條件碼1和條件碼0。這兩位結合起來用于表示在累加器1中產生的算術運算或邏輯運算結果與0的大小關系;比較指令的執行結果或移位指令的移出位狀態。詳見表4.4.2.1和表4.4.2.2。
4.4.2.1算術運算后的CC1和CC0
CCl | CCO | 算術運算 無溢出 | 整數算術運算 有溢出 | 浮點數算術運算 有溢出 |
0 | 0 | 結果=0 | 整數加時產生負范圍溢出 | 平緩下溢 |
0 | 1 | 結果<0 | 乘時負范圍溢出;加、減、取負時正溢出 | 負范圍溢出 |
1 | 0 | 結果>0 | 乘、除時正溢出;加、減時負溢出 | 正范圍溢出 |
1 | 1 | - | 在除時除數為0 | 非法操作 |
4.4.2.2 比較、移位和循環移位、字邏輯指令后的CC1和CC0
IC200MDL329
IC200MDL330
IC200MDL331
IC200MDL631
IC200MDL632
IC200MDL635
IC200MDL636
IC200MDL640
IC200MDL643
IC200MDL644
IC200MDL650
IC200MDL730
IC200MDL740
IC200MDL741
IC200MDL742
IC200MDL743
IC200MDL744
IC200MDL750
IC200MDL930
IC200MDL940
IC200PBI001
IC200PKG001