Previous: karcm2 Up: ../karrtn.html Next: karget
INTEGER FUNCTION KARCMP (TEXTA,LOCA,TEXTB,LOCB,LENGTH)
Given two packed character strings, TEXTA(*) and
TEXTB(*), beginning at character positions LOCA in TEXTA(*)
and LOCB in TEXTB(*), compare the next LENGTH characters of
the two strings, and return -1, 0, or +1 according to A < B,
A = B, or A > B, respectively. The collating sequence that
MUST be used is that defined by the ASCII character set. The
overhead for this is minimal, and often will require no more
than an indexed register load, rather than a direct load, in
an assembly language implementation. Thus
I = KARCMP(1H ,1,1HA,1,1)
will ALWAYS give I = -1, even on a machine such as a CDC
computer which uses an internal representation in which a
space is greater than the letter A. Note that upper- and
lower-case letters are NOT equivalent with this function. If
any of LOCTAR, LOCSRC, or LENGTH is less than 1, then KARCMP
= 0 on return. This result is chosen to comply with the
interpretation that invalid strings are null strings, and
all null strings are equivalent.