天天看點

大型機彙編(mainframe assembler/HLASM)之S0C7錯誤

MAIN CSECT

     STM 14,12,12(13)

     BASR 12,0

     USING *,12

     ST 13,SAVE+4

     LA 13,SAVE

START EQU *

     MP  P1,P2

EXIT EQU *

     L 13,SAVE+4

     LM 14,12,12(13)

     LA 15,0

     BR 14

P1   DC  PL4'123'

P2   DC  PL3'2' 

SAVE   DS  18F

運作此程式會傳回S0C7錯誤,但是P1,P2很明顯都是合法的正确資料。。。

問題出在MP這個指令上, 因為P1=X'0000123C',其最前面有兩個位元組的0,是以它就要求P2的長度最多不能超過兩個位元組,依此來保證積不會出現溢出。

另外還有一個程式也報S0C7錯誤,能看出來嗎?

MAIN     CSECT                                    

         SAVE  (14,12),,'IHATEPGM&SYSDATE&SYSTIME'

         USING *,12                               

         LR    12,15                              

         ST    13,SAVE+4                          

         LA    13,SAVE                            

START    EQU   *                                  

         AP  P1,P2                                

EXIT     EQU   *                                  

         L     13,SAVE+4                          

         LM    14,12,12(13)                       

         LA    15,0                               

         BR    14                                 

SAVE     DS    18F                                

P1       DS   P'1'                                

P2       DS   P'2'                                

         END MAIN

有異議請聯系QQ349106216