MACRO &NAME GETMODE &A *---------------------------------------------------------------------* * G E T M O D E * *---------------------------------------------------------------------* * * * Description : Store a value indicating the addressing mode of the * * executing program. 2 for 24, 3 for 31 or 6 for 64 bit* * * * Created on : 19 Oct 2022 * * Created by : Kevin Ferguson * * : Userid(MIT001) * * * * Used by : ASLPRINT * * * * Change Activity : * * * *---------------------------------------------------------------------* * ©Copyright of Abbydale Systems LLC. * *---------------------------------------------------------------------* LCLC &LAB &KK SETC '' AIF (K'&A NE 0).LABOK &LAB SETC 'ASLADDRM' MNOTE 0,'***** No area name specified, ASLADDRM used *****' AGO .LABCNT .LABOK ANOP AIF ('&A'(1,1) NE '(').SKIP &END SETA K'&A AIF ('&A'(&END,1) NE ')').SKIPME &KK SETC '&A' &LAB SETC '&A'(2,K'&A-2) MNOTE 0,'**** Using &LAB as storage area ****' AGO .LABCNT .SKIP ANOP &LAB SETC '&A' .LABCNT ANOP &NAME DS 0H * MVI &LAB,C'3' Set for 31 bit * TAM , * JZ ASLM24 24 bit * JO ASLM64 64 bit * B $MDEEXIT ... exit as it is 31 bit * ASLM24 DS 0H * MVI &LAB,C'2' Set for 24 bit ... B $MDEEXIT ... exit * ASLM64 DS 0H * MVI &LAB,C'6' Set for 64 bit ... AIF ('&LAB' EQ 'ASLADDRM').SKIPA AIF ('&A'(1,1) EQ '(').SKIPA B $MDEEXIT ... exit * &LAB DS CL1 * .SKIPA ANOP $MDEEXIT DS 0H * MEXIT * * *---------------------------------------------------------------------* .SKIPME ANOP MNOTE 8,'**** Invalid area specification ****' MEXIT MEND *---------------------------------------------------------------------* * E N D O F G E T M O D E * * K.E.F * *---------------------------------------------------------------------*