I have defined the *LDA in my program such that I explicitly update it with the OUT opcode. I have defined several subfields in posns 101-120
Prior to calling the program the *LDA has value '99' in posns 1-2, but those posns are not defined in the program. However, when I clear the subfields explicitly defined in the *LDA and execute the OUT opcode, it also clears posns 1-2 even though posns 1-2 are not defined in the program. I tried populating '99' in posns 201-202 and it does not clear those posns upon execution of the OUT opcode. So,it looks like when the OUT is executed that all posns prior to the last one defined in the program are updated regardless whether they are defined or not.
Am I understanding this correctly or am I overlooking something
Code:
dcl-ds Local dtaara(*lda); dsLocn char(2) pos(101); dsOrgUser char(10) pos(103); dsCurUser char(10) pos(111); end-ds;
Code:
Clear dsLocn; Clear dsOrgUser; Clear dsCurUser; Out Local;
Comment