360 彙編/360 指令/AH
外觀
AH - 加半字 - 操作碼 4A
- AH 2,N2
- AH 11,106(0,10)
具體的語法是
- AH 目標暫存器,偏移量(索引暫存器,基址暫存器)
如果使用了USING偽指令,並且目標地址標籤在某個基址暫存器的值 4096 位元組範圍內,則彙編器將自動確定偏移量、索引暫存器和基址暫存器的值。
| RX 指令 (4 位元組) | ||||||
| 位元組 1 | 位元組 2 | 位元組 3 和 4 | ||||
| 目標暫存器 | 源地址 | |||||
| (8 位) 操作碼 4A |
(4 位) 0..F |
(4 位) 索引 暫存器 0..F |
(4 位) 基址 暫存器 0..F |
(12 位) 偏移量 0..FFF | ||
- 第一個引數是目標暫存器,其值受指令的影響。
- 第二個引數是源值的位置。
- 掩碼、基址暫存器和索引暫存器的值為 0 到 15。偏移量值為 0 到 4095。
AH 指令在所有型號的 360、370 和 z/System 上都可用。
AH 指令從引數指定的記憶體地址讀取 16 位整數,將其擴充套件為 32 位有符號整數,並將其新增到第一個引數指定的暫存器的值中。程式狀態字中的條件程式碼欄位根據結果值進行更改。
擴充套件是透過將源值的最重要位複製到擴充套件值的較高 16 位來完成的。
源引數地址應與半字邊界對齊(即 2 位元組)。
如果發生有符號整數溢位,即和不在 -2**31 到 2**31-1 之間,則 CC 設定為 3。否則,如果和分別等於零、小於零或大於零,則 CC 設定為 0、1 或 2。
- 如果檢測到有符號整數溢位並且 PSW 中的位 36 設定為 1,則發生操作異常。
- 目標地址必須在有效記憶體範圍內,否則會發生操作異常。
- 源地址的儲存金鑰必須與當前程序相同,否則會發生記憶體保護違規異常。
- 要從暫存器新增值,請參見AR。
- 要從記憶體新增字值,請參見A。
- 要根據無符號算術新增值並設定條件程式碼,或新增多字整數值的非最高有效部分,請參見AL 或ALR。
- 要新增浮點數,請參見AE、AER、AD 或ADR。
- 要從記憶體中減去半字值,請參見SH。
| 上一條指令 AER |
360 彙編指令 {{{name}}} |
下一條指令 AR |
| 上一條操作碼 49 |
下一條操作碼 4B |
| 360 組合語言 | |
| 360 系列 | 簡介 · 基本常見問題解答 · 360 系列 · 360 架構 |
|---|---|
| 360 指令集 | 360 指令 · 分支指令 · 資料傳輸指令 · 控制流指令 · 算術指令 · 邏輯指令 · 移位和旋轉指令 · 特權指令 · 其他指令 |
| 語法和彙編器 | 360 彙編器 · 偽指令 |
| 指令擴充套件 | 浮點 · 高階語言 |
| 此頁面或部分內容是未完成的草稿或提綱。 您可以幫助開發這項工作,或者您可以在專案室尋求幫助。 |