跳轉到內容

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 彙編器 偽指令
地址相關 ADATACNOPDROPEQULOCTRLTORGORGUSING
程式碼相關 ALIASAMODECATTRCOM CSECTCXDDSECTDXDEND ENTRYEXTRNOPSYNRMODERSECTSTARTWXTRNXATTR
資料相關 CCWCCW0CCW1DCDS
條件彙編和宏相關 ACTRAGOAIFAINSERTANOPAREADCOPYGBLA / GBLB / GBLCLCLA / LCLB / LCLCMACROMENDMEXITMNOTESETA / SETB / SETC
清單、輸出和原始碼相關 註釋*PROCESSACONTROLEJECTENDEXITCTLICTLISEQPOPPRINTPUNCHPUSHREPROSPACETITLE
 
360 組合語言
360 家族 簡介 · 基本常見問題解答 · 360 家族 · 360 架構
360 指令集 360 指令 · 分支指令 · 資料傳送指令 · 控制流指令 · 算術指令 · 邏輯指令 · 移位和旋轉指令 · 特權指令 · 其他指令
語法和彙編器 360 彙編器· 偽指令
指令擴充套件 浮點數 · 高階語言
華夏公益教科書