HPlogo System Debug Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 8 System Debug Standard Functions

func lpub

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

Coerces an expression into a LPUB logical code pointer (LCPTR).

Syntax

   lpub (value)  

During the evaluation of the parameter to this function, the search path used for procedure name lookups is restricted to the logon account library file (LPUB).

Formal Declaration

   lpub:lpub (value:any) 

Parameters

value

An expression to be coerced. All types are valid.

Table 8-8 Derivation of the LPUB Bit Pattern

Parameter TypeAction

BOOL

0.1 if TRUE, 0.0 if FALSE.

U16 U32 SPTR

Set the SID part to zero. Right justify the original value in the low-order 32 bits of the offset part with zero fill.

S16 S32 S64

Set the SID part to zero. Right justify the original value in the low-order 32 bits of the offset part with sign extension.

LONG Class

Transfer both parts of the address unchanged.

EADDR SADDR

Transfer the SID part unchanged. Transfer the low-order 32 bits of the offset part.

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 lpub(12.304)

   LPUB %12.304

Coerce the simple long pointer 12.304 into a LPUB logical code pointer.

   %cmdebug > wl lpub( sort )

   LPUB %2.6632

Print the address of the procedure named sort. Note that the search path used for procedure name lookups is restricted to the logon account library (LPUB).

   %cmdebug > wl lpub(sys(24.630))

   LPUB %24.630

The coercion simply changes the associated logical file. The pointer's bit pattern remains unchanged.

   $nmdat > wl lpub( 1 )

   LPUB $0.1



   $nmdat > wl lpub( ffff )

   LPUB $0.ffff



   $nmdat > wl lpub( 1234abcd )

   LPUB $0.1234abcd



   $nmdat > wl lpub( -1 )

   LPUB $0.ffffffff



   $nmdat > wl lpub( 1234.5678 )

   LPUB $1234.5678



   $nmdat > wl lpub( true )

   LPUB $0.1



   $nmdat > wl lpub( "ABCDEFG" )

   LPUB $414243.44454647



   $nmdat > wl lpub( prog(1.2) )

   LPUB $1.2

Limitations, Restrictions

none

Feedback to webmaster