home *** CD-ROM | disk | FTP | other *** search
-
- * Maxon C++:
- * Library-Modul "string_ulc"
- * Jens Gelhar 21.12.92, 16.04.94
-
- xdef _stricmp,stricmp__PCcPCc
- xdef _strlwr,strlwr__Pc
- xdef _strupr,strupr__Pc
-
- _stricmp:
- stricmp__PCcPCc:
- movem.l 4(a7),a0/a1
- moveq #0,d0
- .loop move.b (a1)+,d0
- bsr.b UpD0
- move.b d0,d1
- move.b (a0)+,d0
- bsr.b UpD0
- cmp.b d1,d0
- bhi.b .Hi
- blo.b .Lo
- tst.b d0
- bne.b .loop
- rts
- .Hi moveq #1,d0
- rts
- .Lo moveq #-1,d0
- rts
-
- _strlwr:
- strlwr__Pc:
- move.l 4(a7),a0
- .loop move.b (a0),d0
- beq.b end1
- bsr.b DnD0
- move.b d0,(a0)+
- bra.b .loop
- end1 move.l 4(a7),d0
- rts
-
- _strupr:
- strupr__Pc:
- move.l 4(a7),a0
- .loop move.b (a0),d0
- beq.b end1
- bsr.b UpD0
- move.b d0,(a0)+
- bra.b .loop
-
- UpD0: cmp.b #'a',d0
- blo.b .0
- cmp.b #'z',d0
- bls.b .add
- cmp.b #$E0,d0
- blo.b .0
- cmp.b #$FF,d0
- bhs.b .0
- cmp.b #$F7,d0
- beq.b .0
- .add add.b #'A'-'a',d0
- .0 rts
-
- DnD0: cmp.b #'A',d0
- blo.b .0
- cmp.b #'Z',d0
- bls.b .add
- cmp.b #$C0,d0
- blo.b .0
- cmp.b #$DF,d0
- bhs.b .0
- cmp.b #$D7,d0
- beq.b .0
- .add add.b #'a'-'A',d0
- .0 rts
-
- end
-