360 彙編/360 指令/DR
外觀
DR - 除以暫存器 - 操作碼 1D
- DR 2,7
具體的語法是
- DR 目標暫存器, 源暫存器.
| RR 指令 (2 位元組) | ||||||
| 位元組 1 | 位元組 2 | |||||
| 目標暫存器 | 源暫存器 | |||||
| (8 位) 操作碼 1D |
(4 位) 0..F |
(4 位) 0..F | ||||
- 第一個引數是一個包含較少對目標暫存器的數字,其值受指令影響。
- 第二個引數是源值暫存器。
DR 指令在所有型號的 360、370 和 z/System 上都可用。
DR 指令將被除數 - 儲存在 T 和 T+1 暫存器對中的 64 位有符號值(其中 T 是目標暫存器號,T 應包含最高有效位,T+1 應包含最低有效位)除以除數 - 源暫存器中的 32 位有符號值。目標暫存器號 T 應為偶數。該指令將商放入暫存器 T,並將餘數放入暫存器 T+1,兩者均為 32 位有符號值。
除數不應為零。商應符合 32 位有符號值的限制(-2147483648 到 2147483647)。
DR 指令執行所謂的 T 除法,當商被截斷為零時;餘數符號等於被除數符號,如果兩個值都不等於 0;換句話說,(餘數 * 被除數 >= 0)。
程式狀態字中的條件碼欄位不會改變。
- 如果將奇數暫存器號指定為目標暫存器,則會發生操作異常。
- 如果除數為零,則會發生操作異常。
- 如果檢測到有符號整數溢位並且 PSW 中的第 36 位被設定,則會發生操作異常。
假設暫存器 4 包含 0,5 - 13 和 11 - 4。指令 "DR 4,11" 將 13 暫存器的內容除以 4,將商(等於 3)放入 4 暫存器,並將餘數(等於 1)放入 5 暫存器。
- 要除以記憶體中的字值,請參見 D。
- 要乘以暫存器中的字值,請參見 MR。
- 要從暫存器中減去字值,請參見 SR。
- 要新增值並根據無符號算術設定條件碼,或新增多字整數值的非最高有效位,請參見 AL 或 ALR。
- 要除以浮點數,請參見 DER,DDR,DE 或 DD。
| 上一條指令 DP |
360 彙編指令 {{{name}}} |
下一條指令 DSG |
| 上一個操作碼 1C |
下一個操作碼 1E |
| 360 組合語言 | |
| 360 系列 | 介紹 · 基本常見問題解答 · 360 系列 · 360 架構 |
|---|---|
| 360 指令集 | 360 指令 · 分支指令 · 資料傳輸指令 · 控制流指令 · 算術指令 · 邏輯指令 · 移位和旋轉指令 · 特權指令 · 其他指令 |
| 語法和彙編器 | 360 彙編器· 偽指令 |
| 指令擴充套件 | 浮點 · 高階語言 |
| 此頁面或部分是一個未開發的草稿或大綱。 您可以幫助 開發工作,或者您可以在 專案室 尋求幫助。 |