.pg .x stdescr .x Obsolete Macros > stdescr .lt ------------------------------------------------------------------------ STDESCR .BLKx length [address] [allot] ------------------------------------------------------------------------ .el .b 3 This macro will allocate a string descriptor structure using the storage type specified: .b One the following directives must be used in place of .BLK^&x\&. .b .lt .BLKA addresses (longwords) .BLKB bytes .BLKD double-precision floating-point (quadwords) .BLKF single-precision floaging-point (longwords) .BLKG G_floating (quadwords) .BLKH H_floating (octawords) .BLKL longwords .BLKO octawords .BLKQ quadwords .BLKW words .el .b If ^&address\& is specified as the asterisk character (i.e. _*), the STDESCR macro will also generate the appropriate block storage allocation directive. .b If ^&address\& is not specified, no storage allocation directive is generated; you must then follow the STDESCR macro with the appropriate storage allocation directive. .b If ^&address\& is specified and allot is specified as the asterisk character, the STDESCR macro will generate the appropriate block storage allocation directive and assign it to the label address. .b For example: .b .lt var string_descr: stdescr .blkb 512 * .el .b will generate the code: .b .lt string_descr: .blkb dsc$k_dtype_t .blkb dsc$k_class_s .word 512 .address 30000$ 30000$: .blkb 512 .el .b See also DESCR, D_DESCR, and D_STDESCR.