© Copyright Sergio ovacchini, 1982-1983. All rights reserved.
This set of macros was created for manipulating large numbers.
Remark1:
(IM) Means Internal Macro, Not intended for use in a program.
... (omissis) ... indicates that I have NOT analyzed macro, so
I described only its use.
Remark2:
This page contains small code samples, which do not format correctly.
These code snippets will be moved to the relevant macro details page
in due time.
Used for LABELS; they are used separated from their operaration field to permit UPDATE to insert lines without change line number
(IM) Used by $DCL macro to generate variable declarations
Usage: $$DSGEN &TYPE,LMOD=
Example:
$$DSGEN (D,L),LMOD=ONLY
Expl.: Declatives are generated for variables of type "D" and "L" only if is present length modifier.
(IM) Used to obtain an already set Condition Code.
(NOT COMPLETED)
(IM) To return a numerical value indicating if a symbolic name
&OPERAND is a register, type of reg., etc...
Usage:
$$REG# &OPERAND
The variable &$REG# is set:
-1 &OPERAND isn't a register,
0 15 num. of a general register
-16 -22 Float 0 to 6
-256 -271 Control registers 0 to 15
Used to assign to a even-odd reg.'s pair the adress (@) and a
length
(#) of an operand
Usage:
$@# ®,&OP
Add (with carry) &OPERAND to &RESULT, &CARRY contains
Carry from additions. Used in loops to repeatedly add pieces
(words) of numbers
Usage:
$A &RESULT,&OPERAND,&CARRY
Add Carry register, used to add carry from prec.
oper. to the result, obtaining (in &carry) a new carry.
Usage:
$ACR &RESULT,&CARRY
Add Complement and STore (in a loop, with carry)
Add ® to the contents of a word at the end of a string
representing
the number &OPERAND, complement it, and if a register (&CR),
used
as control, isn't negative, store value.
See $CHSR for details. Used in MULTIPLY operation.
Usage:
$ACST ®,&OPERAND,&CARRY,&WORK=WRKADR, &CR=,&RS=,&SV=
Add Packed (with carry) as $A, for packed numbers.
Usage:
$AP &RESULT,&OPERAND,&CARRY
Add Packed Carry. Has the same use as $ACR, but for Packed
numbers.
Usage:
$APC &RESULT,&CARRY
Advance PoiNTer (in loop). Used to modify address and Length of
an
&OPERAND. A work register is used to set the length of a treated
piece.
Usage:
$APNT &OPERAND,&WORK=WRKADR
Add Register (with carry). See $A.
Used to define Procedure PARAMETERS.
Usage:
$ARGS &OPRNDS,&PARMPTR=PARMPTR
Es.:
* parm. definition $ARGS (VAR1,VAR2,VAR3,VARN),PARMPTR=R1 * $USE VAR1,R2 R2 is used to address VAR1 ..... MVC WORK(8),VAR2 N.B. No len. info of VAR1 .. * was passed.
Add and STore Nooverflow (with carry, in a loop). Add data
contained in
® to the contents of a word at the end of a string
representing the
number &OPERAND. No Overflow occurs.
Usage:
$AST ®,&OPERAND,&CARRY,&WORK=WRKADR
Same as $AST, but no test if performed for overflow.
Binary Shortest Form. Is used to reduce a number to its shortest
form;
trunc. is done on byte basis.
Usage:
$BSF &OPERAND,&WORK=(WRKLNK,WRKADR)
On return Condition Code:
CC = 0: length is 1 byte; the value of the number is 0 or -1.
CC = 1: number is negative
CC = 2: number is positive
Binary Shortest Form (positvive numbers). Is a simplified version
of
$BSF
Usage:
$BSFP &OPERAND,&WORK=WRKADR
Call a program. The code produced by this macro is ADCON-FREE,
(the machine code may be moved across memory). Standard OS LINK is
generated. may be used also for recursive call. Coherence is checked.
Limits: 256 max routine addresses, 256*16 parameter addresses in the
same
Assembler session.
Usage:
$CALL &ENTRY,&OPRNDS,&OP1=,&OP2=,&RES=, &RES1=,&RES2=, * &R0=,&R1=,&R2=,&R3=,&ID=,& WKAPTR=WKAPTR, * &PARMPTR=R1,&LINK=(WRKLNK,WRKADR),& STATIC=NO
Used to set a Condition Code value (0-3).
Usage:
$CC &OP
&OP is the value of CC to be set.
CHange Sign (in loop).
If value of &OPERAND is negative, 2 complement of data in &
REG is
done; in the field "FLG0" &OPERAND is indicated "CARRY".
Usage:
$CHS ®,&OPERAND
CHange Sign control Register (in loop).
A register (CR=) is used to control a complementation operation.
... (omissis) ...
Usage:
$CHSR ®,&CR=,&SV=NO,&RS=NO
... (omissis) ...
Another version of $CHSR.
... (omissis) ...
Usage:
$CHS1 ®,&CR=
Fills an area with binary zeroes.
Usage:
$CLR &OPER,&TEST=NO,&WORK=WORK1
CLeaR Negative.
Fill an area with binary ones.
Usage:
$CLRN &OPERAND,&SAVE=NO,&TEST=NO,&WORK= (WRKLNK,WRKADR)
... (omissis) ...
CLeaR Packed.
The sign is specified in &SGNR.
Usage:
$CLRP &OPERAND,&SGNR,&SAVE=NO,&TEST=NO,& WORK=(WRKLNK,WRKADR)
... (omissis) ...
Divide Absolute Register (with 32.th bit correction).
Divide ®0 by ®1, the result is corrected to
sign
bit.
Usage:
$DAR ®0,®1,&WORK=(WRKLNK,WRKADR)
... (omissis) ...
Generates DC and DSECT for various macros.
Usage:
$DCL
DECRement register.
In &DECR is contained amount of decrement; if omitted, decr.
= 1.
Usage:
$DECR ®,&DECR,&WORK=WRKADR
... (omissis) ...
Used to define a DSECT defining a field used by means of address
and
length.
Usage:
$DEF &OPERAND,&OLDOPR,&NEW,&SAVE=NO
Division; 2 bytes of result are intended as fractional part.
... (omissis) ...
Usage:
$DIIR &RDIV,&OP
... (omissis) ...
Divide Register; divisor is positive. See $DR.
Divide Register.
This is used to do division as: ((N-1)*16**8+16**8-1)/N whose
quotient
isn't 31 bits in length.
Usage:
$DPR ®0,®1,&WORK=(WRKLNK,WRKADR)
... (omissis) ...
Another version of $DIIR.
Usage:
$DRIIR &RDIV,&OPR
Used to generate instr. to save information on a
variable when discontinuing usage.
Usage:
$DROP &VARNAME,&SAVE=YES
Divide Register (with correction for 32.th bit),
divisor is an even number.
... (omissis) ...
Usage:
$DR1 ®0,®1,&WORK=(WRKLNK,WRKADR)
... (omissis) ...
Used as the DS instrucion, if the variable name was, or
will be, already generated, no DS instruction is gener.
Usage:
&VARNAME $DS &TYPE
Used to close a procedure. If no $RETURN is present in
the current procedure, one is generated. If no $DCL is
used, one $DCL is performed.
Usage:
$ENDPROC
As $PROC, declares an ENTRY, but isn't possible alter
options used in $PROC. (see)
Usage:
$ENTRY &OPRNDS, * &OP1=,&OP2=,&RES=,&RES1=,&RES2=, * &R0=,&R1=,&R2=,&R3=,TOKENS=, * &WKASIZE=, * &SAVE=ALL,&ERRSTK=
See $PROC.
As the EQU; add symbol to the symbol table.
Usage:
&SYMBOL $EQU &OPERAND
Extend Sign (short). Used to extend sign for numbers
of length <= 256 bytes.
Usage:
$ES &OPERAND,&TEST=NO,&WORK=WRKADR
... (omissis) ...
Extract Significant part of a number. Is used also to
verify if bits are all zeroes or ones.
Usage:
$ESGN &OPERAND,&TEST=NO,&SAVE=NO,& WORK=(WRKLNK,WRKADR), * &RES=(WORK0,WORK1)
... (omissis) ...
EXTend Sign (long)
... (omissis) ...
Usage:
$EXTS &OPERAND,&SAVE=NO,&TEST=NO,& WORK=(WRKLNK,WRKADR)
... (omissis) ...
Fast Add Register (with carry)
... (omissis) ...
Usage:
$FAR &RESR,&OPR,&CARRY,&ONE=ONE
... (omissis) ...
Field Load Sign Packed; used to transfer sign of a packed number.
Usage:
$FLSP &FIELD,&OPERAND,&WORK=WRKADR
... (omissis) ...
Fast Subtract Register (with borrow).
... (omissis) ...
Usage:
$FSR &RESULT,&OPERAND,&BORROW,&ONE=ONE
... (omissis) ...
Get 30 digits Packed from Exponent (in loop).
Decrement exponent by 30, moves 30 zeroes in number, maintaining
sign.
Usage:
$G30PE &FIELD,&EXP,&WORK=WRKADR
Get 9 digits Packed from Exponent (in loop).
... (omissis) ...
Usage:
... (omissis) ...
INCRement register. &INCR is added to ®.
... (omissis) ...
Usage:
$INCR ®,&INCR,&WORK=WRKADR,&OPT=
... (omissis) ...
Load in ®, data from the end of &OPERAND. Used in
loops.
... (omissis) ...
Usage:
$L ®,&OPERAND,&WORK=WRKADR,&SET=NO
... (omissis) ...
Left Load (in loop).
Load in ® data from beginning of a string &OPERAND.
Usage:
$LL ®,&OPERAND
... (omissis) ...
Left Load 1.st (in loop). Used to load 1.st word
(or less) of a string from left.
... (omissis) ...
Usage:
$LL1 ®,&OPERAND,&WORK=WRKADR
... (omissis) ...
Load 9 digits Packed (in loop). Data is loaded from a number in
packed format &OPERAND and stored in a field (&FIELD).
Used for conversion from Packed to Binary and vice versa.
Usage:
$LL9P &FIELD,&OPERAND,®,&WORK=WRKADR
... (omissis) ...
As $LL9P. Exponent is considered.
Usage:
$LL9PD &FIELD,&OPERAND,&EXP,&WORK=WRKADR
... (omissis) ...
Variant of $LL9PD.
Usage:
$LL9PE &FIELD,&OPERAND,&EXP,&WORK=WRKADR, &CR=
... (omissis) ...
Same as $LL9PD, but first digit is stored in a left (SX) semibyte.
Load Sign Packed.
... (omissis) ...
Usage:
$LSP &FIELD,&OPERAND,&WORK=WRKADR
... (omissis) ...
Left STore (in loop). Store data in ® in words of &
OPERAND, from left.
Usage:
$LST ®,&OPERAND,&WORK=WRKADR
... (omissis) ...
Left STore 1.st (in loop). Store ®, or part, in
&OPERAND, beginning from left.
... (omissis) ...
Usage:
$LST1 ®,&OPERAND,&WORK=WRKADR
... (omissis) ...
Load & Test (in loop). Load in ® data from the
end of &OPERAND, set Condition code.
Usage:
$LT ®,&OPERAND,&WORK=WRKADR,&SET=NO
... (omissis) ...
Load data from the end of &OPERAND and Test Length.
... (omissis) ...
Usage:
$LTL ®,&OPERAND,&WORK=WRKADR,&SET=NO
... (omissis) ...
Left Test Length and Multiply Register.
... (omissis) ...
Usage:
$LTLMR ®0,®1,&WORK=WRKADR
... (omissis) ...
Load 9 digits Packed (in loop).
... (omissis) ...
Used to convert from packed to binary and vice versa.
Usage:
$L1L9P &FIELD,&OPERAND,®,&WORK=(WRKLNK, WRKADR),&CC=NO
... (omissis) ...
Load 9 digits Packed with Exponent (in loop).
As $L1L9P. Exponent is considered.
Usage:
$L1L9PE &FIELD,&OPERAND,&EXP,& WORK=(WRKLNK,WRKADR),&CR=NO
... (omissis) ...
Load 10 digits Packed (in loop).
... (omissis) ...
Usage:
$L10P &FIELD,&OPERAND,&WORK=(WRKADR,WRKLNK), &OVFLW=NO
... (omissis) ...
As $L10P.
Load 9 digits Packed with Exponent (in loop). Exponent is
considered.
Usage:
$L15PE &FIELD,&OPERAND,&EXP,& WORK=(WRKLNK,WRKADR),&CR=NO, * &CLEAR=YES
... (omissis) ...
As $L10P.
As $L10P.
Usage:
Load 30 digits Packed (in loop) when last digit is in right
(DX) semibyte.
... (omissis) ...
Usage:
$L30PD &FIELD,&OPERAND,®,&WORK=WRKADR
... (omissis) ...
Load 30 digits Packed (in loop) consideriing exponent.
... (omissis) ...
Usage:
$L30PE &FIELD,&OPERAND,&EXP,& WORK=(WRKLNK,WRKADR),&CR=NO
... (omissis) ...
Load 30 digits Packed (in loop) when last digit is in left
(SX) semibyte.
... (omissis) ...
Usage:
$L30PS &FIELD,&OPERAND,&WORK=(WRKLNK,WRKADR), &OVFLW=NO
... (omissis) ...
As $L10P.
As $L10P.
MOVE 256 bytes (or less) of &OPERAND to &AREA (in /> Usage:
$MOVE
... (omissis) ...
Multiply Register, in loop (with correction for 32.th bit).
... (omissis) ...
Usage:
$MR ®0,®1,&WORK=WRKADR
... (omissis) ...
Same as $MR, with correction for 32.th bit only for the 1.st
operand.
Usage:
$MR1 ®0,®1
... (omissis) ...
Same as $MR, with correction for 32.th bit only for the
operand.
Usage:
$MR2 ®0,®1,&WORK=WRKADR
... (omissis) ...
Fill an area from &STRADDR, for the length &LENGTH,
with the last character contained in ®.
Usage:
$MV ®,&STRADDR,&LENGTH,&TEST=NO
... (omissis) ...
MoVe Address. Store in &LOC, value of address specified in
&VALUE.
Usage:
$MVA &LOC,&VALUE,&WORK=WRKADR
LA WRKADR,234 ST WRKADR,LOC
MoVe Characters (for string < 256 char in length).
Copies value of &OP2 into &OP1.
Usage:
$MVC &OP1,&OP2,&TEST=NO,&RES=NO
MoVe INverse (in loop).
Pieces of 256 char (or less) are loaded from &OPERAND,
from right to left, and stored, inverted by MVCIN, in
a field &FIELD (256 bytes length).
Usage:
$MVIN &FIELD,&OPERAND,&WORK=WRKADR
... (omissis) ...
MoVe Number (as MVCL, but right aligned). Padded with sign.
Usage:
$MVN &OP1,&OP2,&TEST=NO,&WORK=WRKADR
... (omissis) ...
MoVe Number Positive or Packed. (as $MVN but padded with zeroes)
Usage:
$MVNP &OP1,&OP2,&TEST=NO,&WORK=WRKADR
... (omissis) ...
MoVe Packed Shortest Form.
... (omissis) ...
Usage:
$MVPSF &OPER,&WORK=(WORK0,WORK1,WRKADR)
... (omissis) ...
MoVe Short Packed (in loop).
... (omissis) ...
Usage:
$MVSP &OP1,&OP2,&WORK=(WRKLNK,WRKADR),& OVFLW=NO
... (omissis) ...
A simplified variant of $MVA.
Usage:
$MVV &LOC,&VALUE,&WORK=WRKADR
... (omissis) ...
... (omissis) ...
Usage: ... (omissis) ...
PAcK 16 byte (or less) at a time (in loop).
Pieces of 16 bytes are loaded, from right to left, from
&OPER and packed into &RIS.
Usage:
$PACK &RIS,&OPER,&WORK=(WRKLNK,WRKADR),&CC=NO, &TEST=NO
... (omissis) ...
As $PACK, used for the 1.st occurence in PACK loops.
Usage: ... (omissis) ...
POSition of a String in Operand. In &OPERAND is
searched for &STRING. Resulting address is in &ADDR.
Usage:
$POS &ADDR,&OPERAND,&STRING,&WORK=WRKADR
CC = 0 &OPERAND contains &STRING.
... (omissis) ...
Used to inizialize a program.
N.B. Code for: MAIN, OS, CMS, WKASIZE is not implemented.
Usage:
$PROC &OPRNDS, * &OP1=,&OP2=,&RES=,&RES1=,&RES2=, * &R0=,&R1=,&R2=,&R3=,&TOKENS=, * &WKAPTR=WKAPTR,&PARMPTR=PARMPTR, * &BASE=BASEREG,&LINK=(WRKLNK,WRKADR), * &OPTIONS=,&WKASIZE=,&SAVE=ALL,&ERRSTK=
@CMS@PL@ DSECT COMMAND DS CL8 FNAME DS CL8 FTYPE DS CL8 FMODE DS CL8 TOKEN DS CL8 ............ USING @CMS@PL@,$@PLIST indirizzamentoIf TOKENS=YES then the following DSECT:
@CMS@PL@ DSECT TOKEN DS CL8 NEXTOKEN DS CL8is generated. ===> NOT IMPLEMENTED ..........
------- GENERAL USAGE OF $PROC MACROS ------
EXAMPLES:
PROG $PROC PARM,OPTIONS=(MAIN,OS),WKASIZE=512K ..... $USE PARM,R2 REG1 $EQU R1 L REG1,PALLINO ..... $SV REG1 L R1,PINCO ..... $RS REG1 $CALL EXT,(P1,REG1,456,P4,P5) BNZ ERROR ..... $RETURN PINCO $DS F PALLINO $DS F COSTANTE DC C'Costante' KNUMERIC DC F'12345678' $DCL ..... $ENDPROC
....... and, in another ASM SESSION ....
EXT $PROC (P1,P2,P3,P4,P5) ..... RP1 $EQU R5 $SV R2 $USE P1,R2 L RP1,P1 ..... $SV RP1 RP2 $EQU R5 $USE P2,R2 L RP2,P2 ..... $RS R2 $RS RP1 $CALL EXT2,(RP1,RP2,P3,P4,P5) BNZ ERROR ..... $RETURN DCM DC C'Messaggio' DSL1 $DS CL3 DSLM $DS CL13 $DCL ..... $ENDPROC
Packed Shortest Form. Used to reduce a packed number to
its minimal lenght.
... (omissis) ...
Usage:
$PSF &OPERAND,&WORK=WRKADR
... (omissis) ...
Register Equate & definition of some values used by
those macros.
Usage:
$REQU
Generates code to accomplish necessary operations to
cleanly return to the calling program; names of
registers have to be the sames as used in $PROC.
Usage:
$RETURN &RSRA=,&RETC=,&CC=
Generates code to reuse &VARNAME as a couple
address-length (a DSECT, regs equates, USING).
Usage:
$REUSE &VARNAME,&OPRND,&PARMPTR=NO,&SAVE=NO
Used to generate code for restore symbol saved by $SV.
Usage:
$RS &OP,&OP1
ReStore from Register Area. As standardized, locations
from 12 to 72 are used to store regs from 12 to 13 in
an area passed from calling program and pointed by R13.
Usage:
$RSRA &OP,&OP1
Right Test Length.
Load data from the beginning of &OPERAND and
Test Length.
... (omissis) ...
Usage:
$RTL &OP1,&OP2,&WORK=WRKADR
... (omissis) ...
Subtract (in loops, with borrow)
Subtract &OPERAND from &RESULT, &BORROW contains
Borrow from subtractions. Used in loops to repeatedly
subtract pieces (words) of numbers
Usage:
$S &RESULT,&OPERAND,&BORROW
SiGN verify. Verify that &OPERAND's bits are all zeroes
or ones. CC is set.
... (omissis) ...
Usage:
$SGN &OPERAND,&TEST=NO
... (omissis) ...
SiGN Packed. Set sign for a packed number.
... (omissis) ...
Usage:
$SGNP &OPERAND,&SGNR,&ONLY=NO,&WORK=WRKADR
... (omissis) ...
SiGn eXtension Add Register. Adds sign's extension to a register.
... (omissis) ...
Usage:
$SGXAR &RESULT,&#NEG,&CARRY
... (omissis) ...
SiGn eXtension Increment.
... (omissis) ...
Usage:
$SGXI &#NEG,®,&PRESERV=NO
... (omissis) ...
Search Not Equal char in operand.
Code is generated to search for &CHAR in &OPERAND,
from right to left (Is Used for numbers).
Usage:
$SNE &ADDR,&OPERAND,&CHAR,&WORK=WRKADR
CC = 0 indicates &CHAR isn't present in the string, Lenght of &OPERAND reaches zero.
Subtract Packed (in loops,with borrow)
... (omissis) ...
Usage:
$SP &RESULT,&OPERAND,&BORROW
... (omissis) ...
Subtract Packed Borrow. Used to subtract borrow.
... (omissis) ...
Usage:
$SPB &RESULT,&BORROW
... (omissis) ...
Subtract Register (in loops, with borrow), like $S.
Usage:
$SR &RESULT,&OPERAND,&BORROW
... (omissis) ...
Store Sign Packed. Used to transfer sign for packed numbers.
... (omissis) ...
Usage:
$SSP &FIELD,&OPERAND,&WORK=WRKADR
... (omissis) ...
STore (in loop).
Store data in ®, to the end of &OPERAND.
Used in loops.
... (omissis) ...
Usage:
$ST ®,&OPERAND,&WORK=WRKADR
... (omissis) ...
STore Caracter (in loop). like $ST.
... (omissis) ...
Usage:
$STC ®,&OPERAND
... (omissis) ...
STore No test for overflow (in loop).
... (omissis) ...
Usage:
$STN ®,&OPERAND,&WORK=WRKADR
... (omissis) ...
STore 10 digits Packed (in loop). Used for coversions
from/to binary.
... (omissis) ...
Usage:
$ST10P &FIELD,&OPERAND,&WORK=(WRKLNK,WRKADR), &OVFLW=NO
... (omissis) ...
STore 14 digits Packed (in loop).
... (omissis) ...
STore 15 digits Packed (in loop).
... (omissis) ...
STore 15 digits Packed (in loops) number has exponent.
... (omissis) ...
Usage:
$ST15PE &FIELD,&OPERAND,&EXP,& WORK=(WRKLNK,WRKADR), * &OVFLW=NO,&PRESERV=NO,&CR=NO,&ONLY=YES
... (omissis) ...
STore 28 digits Packed. Like $ST10P.
... (omissis) ...
STore 30 digits Packed. Like $ST10P.
... (omissis) ...
STore 30 digits Packed.
... (omissis) ...
STore 30 digits Packed (in loops) number has exponent.
... (omissis) ...
Usage:
$ST30PE &FIELD,&OPERAND,&ADDER,&EXP,& MAXEXP=, * &WORK=(WRKLNK,WRKADR),&OVFLW=NO,&CR=
... (omissis) ...
STore 30 digits Packed.
... (omissis) ...
STore 9 digits Packed. Like $ST10P.
... (omissis) ...
Like $ST30PE.
Generates code to save value of a register in an area generated by
$DCL.
Usage:
$SV &OP,&OP1
$SV REG1,REG2 ..... $RS REG2 avoid use of LR REG2,REG1N.B.: this macro is NOT intented to be used in stack mode; the name of a register, in the logic of those macros, must change when meaning change; so they are many symbol for a only one register: $EQU is to be used to signal change of meaning of a register. $EQU puts register name in a symbol table, so those macros can avoid register overlay.
Defines fields & symbols for a SAVE/STACK area.
Usage:
$SVAREA &LNG=ASSEMBLE
LNG=PLI, generates an area filled with PLI indicators.
SaVe in Register Area. Save register in SAVE/STACK
area. See $RSRA for details.
Usage:
$SVRA &OP,&OP1
... (omissis) ...
TRanslate 256 bytes (or less) (in loops).
Used to repeat TR (translate) instruction in a loop.
... (omissis) ...
Usage:
$TR &OPERAND,&TABLE,&WORK=WRKADR
... (omissis) ...
Test SiGn Extension.
... (omissis) ...
Usage:
$TSGE &OPERAND,&TEST=NO,&SAVE=NO,& WORK=(WRKLNK,WRKADR)
... (omissis) ...
Test if ZERO. Veriifies that an area is filled by all zeroes.
Usage:
$TZERO &OPERAND,&SAVE=NO,&TEST=NO,& WORK=(WRKLNK,WRKADR)
... (omissis) ...
UNPacK a packed 16 digits (or less) at a time, used in loops.
... (omissis) ...
Usage:
$UNPK &RES,&OPERAND,&WORK=(WRKLNK,WRKADR), &CC=NO,&TEST=NO
... (omissis) ...
Like $UNPK, but used first when doing a loop.
Usage:
$UNPK1 &RES,&OPERAND,&WORK=(WRKLNK,WRKADR), &CC=NO,&TEST=NO
... (omissis) ...
Generates instructions to address and use &VARIABLE as
a couple address-length (a DSECT, regs equates, USING).
Usage:
$USE &VARNAME,&OPRND,&PARMPTR=NO,&SAVE=NO
Obsolete. As $SVAREA, defines fields & symbols for a
SAVE/STACK area.
Usage:
$WORK &OP
This site is a member of WebRing. You are invited to browse the list of mainframe-loving sites. |
Dinos are not dead. They are alive and well and living in data centers all around you. They speak in tongues and work strange magics with computers. Beware the dino! And just in case you're waiting for the final demise of these dino's: remember that dinos ruled the world for 155-million years! | |
[ Join Now | Ring Hub | Random | | ] |
Below you find the logo of our sponsor and logos of the web-standards that this page adheres to.