Everyone's going to jump in with the answer, but here's a way to figure
it out yourself (on UV, but not UD): Use VLIST.

Compile the program, then VBLIST will decompile the object (pcode) into
an assembler-kinda-looking output & you can see step by step what's
happening.

>CT CDS.BP CALEB

     CALEB
0001 DIM AR(14), P(2)
0002 IF P(2)-AR(12)<=28 THEN CC=CC+1; INS 0 BEFORE AR(14)<1,1>; DEL
AR(14)<1,9>; ELSE IF AR(13)=DATE() THEN CC=CC ELSE INS 1 BEFORE
AR(14)<1,1>; DEL AR(14)<1,9>
>
>BASIC CDS.BP CALEB
Compiling: Source = 'CDS.BP/CALEB', Object = 'CDS.BP.O/CALEB'
Compilation Complete.
>
>VLIST CDS.BP CALEB

00001: DIM AR(14), P(2)

00002: IF P(2)-AR(12)<=28 THEN CC=CC+1; INS 0 BEFORE AR(14)<1,1>; DEL
AR(14)<1,9>; ELSE IF AR(13)=DATE() THEN CC=CC ELSE INS 1 BEFORE
AR(14)<1,1>; DEL AR(14)<1,9>
00002 00000 : 194 sub            P [2] AR [12]  => $R0 
00002 00008 : 0CE le             $R0 28  => $R1 
00002 00010 : 2DE testfw         $R1 0005C: 
00002 00018 : 004 add            CC 1  => CC 
00002 00020 : 092 fmat_load      (14, 1) AR 14 1 
00002 0002C : 062 dyn_insert     $MATRIX 1 1 0 0  => $MATRIX 
00002 0003A : 092 fmat_load      (14, 1) AR 14 1 
00002 00046 : 05E dyn_delete     $MATRIX 1 9 0  => $MATRIX 
00002 00052 : 10C nop            
00002 00054 : 0C2 jump           000AE: 
00002 0005C : 04E date            => $R2 
00002 00060 : 06E eq             AR [13] $R2  => $R3 
00002 00068 : 2DE testfw         $R3 0007C: 
00002 00070 : 0F8 move           CC  => CC 
00002 00076 : 0C2 jump           000AE: 
00002 0007C : 092 fmat_load      (14, 1) AR 14 1 
00002 00088 : 062 dyn_insert     $MATRIX 1 1 0 1  => $MATRIX 
00002 00096 : 092 fmat_load      (14, 1) AR 14 1 
00002 000A2 : 05E dyn_delete     $MATRIX 1 9 0  => $MATRIX 
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to