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