Sorry Staz, but I'm a little dense. Where do you actually see the results. The function does not seem to return any values. Shouldn't the last line read something like END FN=result? I don't know much assembly, but I don't see anywhere in this function where the result is returned. Am I just missing it? -mark- >Results are... > >_sortsBefore = -1 ' { first string < second string } >_sortsEqual = 0 ' { first string = second string } >_sortsAfter = 1 ' { first string > second string } > > >To watch for case or diacritical marks, you must change the trap. Here is >an example of a case sensetive version. > >'------------------------------------- >'relString >'------------------------------------- >LOCAL FN relStringCaseSen(@word1&,@word2&) > > ` move.l ^word1&,a0 > ` move.l ^word2&,a1 > ` moveq #0,d0 > ` move.b (a0)+,d0 > ` swap d0 > ` move.b (a1)+,d0 > ` dc.w $A450 >END FN > >The trick is this... > >If it's a straight compare, use $A050 >If you want case sensetivity, add $400 ($A450) >If you want diacritical sensetivity, add $200 ($A250) >If you want both, add $400 and $200 ($650) > Mark Arnold User Support Specialist SMSU Libraries Southwest Missouri State University Springfield, Missouri Voice: 417-836-4110 Internet: MarkArnold@...