• Subject: Re: Base utility?
  • From: Peter Coffin <phcoffin@xxxxxxxxxx>
  • Date: Mon, 23 Feb 1998 13:25:46 -0500

> I need some help. I have to find a way to squeeze as many unique identifiers
> as I can into two positions. I also need it to increment easily. I've
> considered converting to hex, but it just doesn't provide enough identifiers
> within two positions.  Is there a  way to use a different base and simply
> add 1 to get the next ID?  How do I count from 00 to ZZ?

Here's most of it. You'll have to take care of your own initializing and
but the basic parts are here.  (This is good for 1296 combinations, as opposed
to your 100 and 256 for decimal and hex. Suitable changes to the constant and
the IfGT value can make this good for an almost arbitrary number of

DKeySq1           S              2P 0
DKeySq2           S              2P 0
DKeySq1AL         S              1
DKeySq2AL         S              1
DKeySqAL          S              2
D                                     0123456789'
C                   Add       1             KeySq2
C     KeySq2        IfGT      35
C                   Move      00            KeySq2
C                   Add       1             KeySq1
C                   EndIf
C                   Move      CurDat        CurDatAL
C                   Move      CurTim        CurTimAL
C                   Eval      KeySq1AL = %SubSt(SEQVAL:(KeySq1+1):1)
C                   Eval      KeySq2AL = %SubSt(SEQVAL:(KeySq2+1):1)
C                   MoveL(P)  KeySq1AL      KeySqAL
C                   Move      KeySq2AL      KeySqAL

Peter H. Coffin
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to "MIDRANGE-L@midrange.com".
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com

Return to Archive home page | Return to MIDRANGE.COM home page