22.02.2015 Views

HLASM Language Reference

HLASM Language Reference

HLASM Language Reference

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

MHELP Instruction<br />

MHELP B'10000000' or MHELP 128, MHELP Suppression: This option<br />

suppresses all currently active MHELP options.<br />

MHELP Control on &SYSNDX: The maximum value of the &SYSNDX system<br />

variable can be controlled by the MHELP instruction. The limit is set by specifying a<br />

number in the operand of the MHELP instruction that is not one of the MHELP<br />

codes defined above, and is in the following number ranges:<br />

256 to 65535<br />

Most numbers in the range 65792 to 9999999. Refer to MHELP Operand<br />

Mapping below for details.<br />

When the &SYSNDX limit is reached, message ASMA13S ACTR counter exceeded is<br />

issued, and the assembler in effect ignores all further macro calls.<br />

MHELP Operand Mapping<br />

The MHELP operand field is actually mapped into a fullword. The predefined<br />

MHELP codes correspond to the fourth byte of this fullword, while the &SYSNDX<br />

limit is controlled by setting any bit in the third byte to 1. If all bits in the third byte<br />

are 0, then the &SYSNDX limit is not set.<br />

The bit settings for bytes 3 and 4 are shown in Figure 108.<br />

Figure 108. &SYSNDX Control Bits<br />

Byte<br />

Description<br />

Byte 3 - &SYSNDX control 1... .... Bit 0 = 1. Value=32768. Limit &SYSNDX to 32768.<br />

.1.. .... Bit 1 = 1. Value=16384. Limit &SYSNDX to 16384.<br />

..1. .... Bit 2 = 1. Value=8192. Limit &SYSNDX to 8192.<br />

...1 .... Bit 3 = 1. Value=4096. Limit &SYSNDX to 4096.<br />

.... 1... Bit 4 = 1. Value=2048. Limit &SYSNDX to 2048.<br />

.... .1.. Bit 5 = 1. Value=1024. Limit &SYSNDX to 1024.<br />

.... ..1. Bit 6 = 1. Value=512. Limit &SYSNDX to 512.<br />

.... ...1 Bit 7 = 1. Value=256. Limit &SYSNDX to 256.<br />

Byte 4<br />

1... .... Bit 0 = 1. Value=128. MHELP Suppression.<br />

.1.. .... Bit 1 = 1. Value=64. Macro Hex Dump.<br />

..1. .... Bit 2 = 1. Value=32. Global Suppression.<br />

...1 .... Bit 3 = 1. Value=16. Macro Entry Dump.<br />

.... 1... Bit 4 = 1. Value=8. Macro Exit Dump.<br />

.... .1.. Bit 5 = 1. Value=4. Macro AIF Dump.<br />

.... ..1. Bit 6 = 1. Value=2. Macro Branch Trace.<br />

.... ...1 Bit 7 = 1. Value=1. Macro Call Trace.<br />

Note: You can use any combination of bit settings in any byte of the MHELP<br />

fullword to set the limit, provided at least one bit in byte 3 is set. This explains why<br />

not all values between 65792 and 9999999 can be used to set the limit. For<br />

example, the number 131123 does not set the &SYSNDX limit because none of the<br />

bits in byte 3 are set to 1.<br />

Examples:<br />

MHELP 256 Limit &SYSNDX to 256<br />

MHELP 1 Trace macro calls<br />

MHELP 65536 No effect. No bits in bytes 3,4<br />

MHELP 65792 Limit &SYSNDX to 65792<br />

398 <strong>HLASM</strong> V1R5 <strong>Language</strong> <strong>Reference</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!