func grp [ System Debug Reference Manual ] MPE/iX 5.0 Documentation
System Debug Reference Manual
func grp
Coerces an expression into a GRP logical code pointer (LCPTR).
Syntax
grp (value)
During the evaluation of the parameter to this function, the search path
used for procedure name lookups is limited to the group library file
(GRP).
Formal Declaration
grp:grp (value:any)
Parameters
value An expression to be coerced. All types are valid.
Derivation of the GRP Bit Patter
--------------------------------------------------------------------------------------------
| | |
| Parameter Type | Action |
| | |
--------------------------------------------------------------------------------------------
| | |
| BOOL | 0.1 if TRUE, 0.0 if FALSE. |
| | |
--------------------------------------------------------------------------------------------
| | |
| U16 | Set the high-order 32 bits (SID or segment part) to zero. |
| S16 | Right justify the original 16-bit value in the low-order 32 |
| | bits (offset part) with zero fill. |
| | |
--------------------------------------------------------------------------------------------
| | |
| U32 | Set the high-order 32 bits (SID or segment part) to zero. |
| S32 | Transfer the original bit pattern into the low-order 32 bits |
| SPTR | (offset part) unchanged. |
| | |
--------------------------------------------------------------------------------------------
| | |
| LPTR CST | Transfer both parts of the address unchanged. |
| PROG CSTX | |
| GRP | |
| PUB | |
| LGRP | |
| LPUB | |
| SYS | |
| USER | |
| TRANS | |
| | |
--------------------------------------------------------------------------------------------
| | |
| STR | Transfer the ASCII bit pattern for the last eight characters |
| | in the string. Strings shorter than eight characters are |
| | treated as if they were extended on the left with nulls. |
| | |
--------------------------------------------------------------------------------------------
Examples
%cmdebug > wl grp( 12.304 )
GRP %12.304
Coerce the simple long pointer into a GRP logical code pointer.
%cmdebug > wl grp( sort )
GRP %2.1364
Print the address of the procedure named sort. Note that the search path
used for procedure name lookups is restricted to the group library (GRP).
%cmdebug > wl grp( sys(24.630) )
GRP %24.630
The coercion simply changes the associated logical file. Note that no
complicated conversion or range checking is performed.
$nmdat > wl grp( 1 )
GRP $0.1
$nmdat > wl grp( ffff )
GRP $0.ffff
$nmdat > wl grp( 1234abcd )
GRP $0.1234abcd
$nmdat > wl grp( -1 )
GRP $0.ffffffff
$nmdat > wl grp( 1234.5678 )
GRP $1234.5678
$nmdat > wl grp( true )
GRP $0.1
$nmdat > wl grp( "ABCDEFG" )
GRP $414243.44454647
Limitations, Restrictions
none
MPE/iX 5.0 Documentation