Specifications
System Macros Invoked by Drivers
IFNORD, IFNOWRT, IFRD, IFWRT
IFNORD, IFNOWRT, IFRD, IFWRT
Determines the read or write accessibility of a range of memory locations.
Format
IFNORD
IFNOWRT
IFRD
IFWRT
siz ,adr ,dest [,mode=#0]
Parameters
siz
Offset of the last byte to check from the first byte to check, a number less than or
equal to 512.
adr
Address of first byte to check.
dest
Address to which the macro transfers control, according to the following
conditions:
Macro Condition
IFNORD If either of the specified bytes cannot be read in the specified
access mode
IFNOWRT If either of the specified bytes cannot be written in the specified
access mode
IFRD If both bytes can be read in the specified access mode
IFWRT If both bytes can be written in the specified access mode
[mode=#0]
Mode to check memory access; zero, the default, causes the check to be performed
in the mode contained in the previous-mode field of the current PSL.
Description
The IFNORD and IFRD macros use the PROBER instruction to check the read
accessibility of the specified range of memory by checking the accessibility of
the first and last bytes in that range. The IFNORD macro passes control to the
specified destination if either of the specified bytes cannot be read in the specified
access mode. The IFRD macro transfers control if both bytes can be read in
the specified access mode. Otherwise, the macros transfer to the next in-line
instruction.
The IFNOWRT and IFWRT macros use the PROBEW instruction to check the
write accessibility of the specified range of memory by checking the accessibility
of the first and last bytes in that range. The IFNOWRT macro passes control
to the specified destination if either of the specified bytes cannot be written in
the specified access mode. The IFWRT macro transfers control to the specified
destination if both bytes can be written in the specified access mode. Otherwise,
the macros transfer to the next in-line instruction.
2–39