360 彙編/360 指令/DROP
外觀
DROP 偽指令 用於通知彙編器,在 USING 偽指令中宣告的暫存器不再可用作指令的基址暫存器,並且不應用於該目的。彙編器將恢復使用在 USING 語句中宣告的任何剩餘暫存器,該暫存器與目標地址的偏移量最小。
DROP 偽指令的格式為
- DROP register1[,register2[,...]]
Register1, register2 等可以是先前在 USING 偽指令中宣告的任何通用暫存器 1 到 15。由於暫存器 0 實際上不可用作基址暫存器,因此它實際上從未在 USING 偽指令中使用,因此也不應在 DROP 偽指令中使用。
這是一個設定子程式臨時基址暫存器的內聯子程式示例。
為了這個例子,假設 R14 等於 14,R15 等於 15 等,以提供交叉引用 - 請參閱 EQU 彙編器偽指令)。
* some typical assembler instructions showing comments to the right
L R15,=A(MOVE) Load sub-routine address into R15
BALR R14,R15 Go to the sub-routine ===>
* ....return here with return code in R15
*
*****************************************
* Move the input to output *
*****************************************
MOVE EQU * Start of a sub-routine called "Move"
USING *,R15 Tell the assembler reg. 15 points to
* this address
MVC OUTPUT,INPUT Move the input to the output area
SR R15,R15 Clear register contents (set Return code = 0)
BR R14 return to caller
DROP R15 Tell assembler we are no longer using
* register 15 and resume using previous register
*
TABLE DC C'ABCDEFGHIJKLMNOPQRSTUVWXYZ' Table of letters of the alphabet
INPUT DS Cl80 Input area
OUTPUT DS Cl80 Output area
如上例所示,USING 偽指令告訴彙編器特定暫存器包含指定的地址,而 DROP 偽指令告訴彙編器該暫存器不再可用,直到在另一個 USING 偽指令中指定為止。
| 360 彙編器 偽指令 | |
| 地址相關 | ADATA • CNOP • DROP • EQU • LOCTR • LTORG • ORG • USING |
|---|---|
| 程式碼相關 | ALIAS • AMODE • CATTR • COM • CSECT • CXD • DSECT • DXD • END • ENTRY • EXTRN • OPSYN • RMODE • RSECT • START • WXTRN • XATTR |
| 資料相關 | CCW • CCW0 • CCW1 • DC • DS |
| 條件彙編和宏相關 | ACTR • AGO • AIF • AINSERT • ANOP • AREAD • COPY • GBLA / GBLB / GBLC • LCLA / LCLB / LCLC • MACRO • MEND • MEXIT • MNOTE • SETA / SETB / SETC |
| 清單、輸出和原始碼相關 | 註釋 • *PROCESS • ACONTROL • EJECT • END • EXITCTL •ICTL • ISEQ • POP • PRINT • PUNCH • PUSH • REPRO • SPACE • TITLE |
| 360 組合語言 | |
| 360 家族 | 簡介 · 基本常見問題解答 · 360 家族 · 360 架構 |
|---|---|
| 360 指令集 | 360 指令 · 分支指令 · 資料傳送指令 · 控制流指令 · 算術指令 · 邏輯指令 · 移位和旋轉指令 · 特權指令 · 其他指令 |
| 語法和彙編器 | 360 彙編器· 偽指令 |
| 指令擴充套件 | 浮點數 · 高階語言 |