跳轉到內容

360 彙編/360 指令/A

來自華夏公益教科書,開放的書籍,開放的世界

A - 加 - 操作碼 5A

A 2,N2
A 11,106(0,10)

具體的語法是

A 目標暫存器,偏移量(索引暫存器,基址暫存器)

如果使用了USING偽指令,並且目標地址標籤在某個基址暫存器的值 4096 位元組範圍內,則彙編程式將自動確定偏移量索引暫存器基址暫存器的值。

RX 指令 (4 位元組)
位元組 1 位元組 2 位元組 3 和 4
目標暫存器 源地址
(8 位)
操作碼
5A
(4 位)

0..F
(4 位)
索引
暫存器

0..F
(4 位)
基址
暫存器

0..F
(12 位)
偏移量
0..FFF
  • 第一個引數是目標暫存器,其值受指令影響。
  • 第二個引數是源值的地址。
  • 掩碼基址暫存器索引暫存器的值為 0 到 15。偏移量值為 0 到 4095。

可用性

[編輯 | 編輯原始碼]

A 指令在所有型號的 360、370 和 z/System 上都可用。

A 指令從引數指定的記憶體地址讀取 32 位整數,並將其加到第一個引數指定的暫存器的值。程式狀態字中的條件碼欄位會根據結果值進行改變。

源引數地址必須對齊到字邊界(即 4 位元組)。

條件碼

[編輯 | 編輯原始碼]

如果發生了有符號整數溢位,即和不在 −231 到 231−1 之間,則 CC 設定為 3。否則,如果和分別等於零、小於零或大於零,則 CC 設定為 0、1 或 2。

異常和故障

[編輯 | 編輯原始碼]
  • 如果檢測到有符號整數溢位,並且 PSW 中的位 36 被設定,則會發生操作異常。
  • 源地址必須在有效記憶體範圍內,否則會發生操作異常。
  • 源地址的儲存鍵必須與當前程序相同,否則會發生記憶體保護違例異常。
[編輯 | 編輯原始碼]
  • 要新增來自暫存器的值,請參見AR
  • 要新增來自記憶體的半字值,請參見AH
  • 要根據無符號算術新增值並設定條件碼,或新增多字整數值的非最高有效部分,請參見ALALR
  • 要新增浮點數,請參見AEAERADADR
  • 要減去整數,請參見SSRSHSLSLR
  • 要檢查條件碼,請參見BCBCR
上一條指令
ZAP
360 彙編指令
{{{name}}}
下一條指令
AD
上一個操作碼
59
下一個操作碼
5B
360 組合語言
360 系列 簡介 · 基本常見問題解答 · 360 系列 · 360 架構
360 指令集 360 指令 · 分支指令 · 資料傳輸指令 · 控制流指令 · 算術指令 · 邏輯指令 · 移位和旋轉指令 · 特權指令 · 其他指令
語法和彙編程式 360 彙編程式· 偽指令
指令擴充套件 浮點數 · 高階語言


華夏公益教科書