home *** CD-ROM | disk | FTP | other *** search
-
- * Maxon C++:
- * Library-Modul "string_simple"
- * Jens Gelhar 21.08.93
-
- xdef _strcpy,strcpy__PcPCc
- xdef _strncpy,strncpy__PcPCcUi
- xdef _strcat,strcat__PcPCc
- xdef _strncat,strncat__PcPCcUi
- xdef _strcmp,strcmp__PCcPCc
- xdef _strncmp,strncmp__PCcPCcUi
- xdef _strlen,strlen__PCc
-
- _strcpy:
- strcpy__PcPCc:
- movem.l 4(a7),a0/a1
- move.l a0,d0
- .loop move.b (a1)+,(a0)+
- bne.b .loop
- rts
-
- _strncpy:
- strncpy__PcPCcUi:
- move.l 4(a7),a0 ; Zielstring
- move.l 8(a7),a1 ; Quellstring
- move.l 12(a7),d0 ; Anzahl
- bmi.b .end
- beq.b .end
- .loop move.b (a1)+,(a0)+
- beq.b .fill
- subq.l #1,d0
- bne.b .loop
- bra.b .end
- ; mit 0 auffüllen:
- .fill clr.b (a0)+
- subq.l #1,d0
- bne.b .fill
- .end move.l 4(a7),d0
- rts
-
- _strcat:
- strcat__PcPCc:
- movem.l 4(a7),a0/a1; von a1 nach a0
- move.l a0,d0
- .loop1 tst.b (a0)+
- bne.b .loop1
- subq.l #1,a0
- .loop2 move.b (a1)+,(a0)+
- bne.b .loop2
- rts
-
- _strncat:
- strncat__PcPCcUi:
- move.l 4(a7),a0 ; Zielstring
- move.l 8(a7),a1 ; Quellstring
- move.l 12(a7),d0 ; Anzahl
- loop3: tst.b (a0)+
- bne.b loop3
- subq.l #1,a0
- subq.l #1,d0
- blo.b end1
- loop4: move.b (a1)+,(a0)+
- dbeq d0,loop4
- end1: move.l 4(a7),d0
- rts
-
- _strcmp:
- strcmp__PCcPCc:
- movem.l 4(a7),a0/a1
- .loop6 move.b (a0)+,d0
- cmp.b (a1)+,d0
- bne.b .noteq1
- tst.b d0
- bne.b .loop6
- ; gleich:
- moveq #0,d0
- rts
- .noteq1 ; ungleich:
- blo.b .end5
- moveq #1,d0
- rts
- .end5 moveq #-1,d0
- rts
-
- _strncmp:
- strncmp__PCcPCcUi:
- movem.l 4(a7),a0/a1
- move.l 4+8(a7),d1
- subq.l #1,d1
- blo.b equ2
- loop7: move.b (a0)+,d0
- cmp.b (a1)+,d0
- bne.b noteq2
- tst.b d0
- beq.b equ2
- dbra d1,loop7
- equ2: moveq #0,d0
- rts
- noteq2: blo.b end7
- moveq #1,d0
- rts
- end7: moveq #-1,d0
- rts
-
- _strlen:
- strlen__PCc:
- moveq #-1,d0
- move.l 4(a7),a0
- loop8: addq.l #1,d0
- tst.b (a0)+
- bne.b loop8
- rts
-
- end
-
-