changeset 1455:4a526a73417d

now in krnl/ for level 1
author boisy
date Thu, 11 Dec 2003 23:53:08 +0000
parents 5b97ef510c7f
children 647a5bfd96ec
files level2/modules/kernel/fcmpnam.asm
diffstat 1 files changed, 0 insertions(+), 79 deletions(-) [+]
line wrap: on
line diff
--- a/level2/modules/kernel/fcmpnam.asm	Thu Dec 11 23:51:42 2003 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-**************************************************
-* System Call: F$CmpNam
-*
-* Function: Compare two names
-*
-* Input:  X = Address of first name
-*         Y = Address of second name
-*         B = length of first name
-*
-* Output: None
-*
-* Error:  CC = C bit set; B = error code
-*
-FCmpNam  ldx   <D.Proc      get current process ptr
-         leay  P$DATImg,x   Point to the DAT image
-         ldx   R$X,u        Get pointer to string #1
-         pshs  y,x          preserve 'em
-         bra   L07CF
-
-* F$CmpNam entry point for system state
-FSCmpNam ldx   <D.Proc      Get current proc. dsc. ptr
-         leay  P$DATImg,x   Point to it's DAT image
-         ldx   R$X,u        get pointer to string #1
-         pshs  x,y
-         ldy   <D.SysDAT    get pointer to system DAT
-L07CF    ldx   R$Y,u        get pointer to string #2
-         pshs  y,x          Preserve them
-         ldd   R$D,u        get length
-         leax  4,s          point to string #1 info packet
-         leay  ,s           point to string #2 info packet
-         bsr   L07DE        go compare 'em
-         leas  8,s          purge stack
-         rts                return
-
-* Compare 2 strings
-*
-* Input:  D = Length of string #1 (only requires B)
-*         X = Ptr to string #1 info packet
-*             0,X = DAT image pointer
-*             2,X = Pointer to string
-*         Y = Ptr to string #2 info packet
-*             0,Y = DAT image pointer
-*             2,Y = Pointer to string
-*         U = Register stack ptr
-L07DE    pshs  d,x,y,u      preserve registers
-         tfr   x,u          U=ptr to string #1 packet
-         pulu  x,y          get DAT ptr to Y and string ptr to X
-         lbsr  AdjBlk0      adjust X to use block 0
-         pshu  x,y          put them back
-         ldu   4,s          get pointer to string #2 packet
-         pulu  x,y          get DAT ptr to Y and string ptr to X
-         lbsr  AdjBlk0      Adjust X to block 0
-         bra   L07F6        go compare the strings
-
-L07F2    ldu   4,s          get pointer to string #2 packet
-         pulu  x,y          get DAT ptr to Y and string ptr to X
-L07F6    lbsr  LDAXY        Map in the block & grab a byte from string
-         pshu  x,y          Put updated DAT & string ptr back
-         pshs  a            Save the character
-         ldu   3,s          pointer to string #1 packet
-         pulu  x,y          get DAT ptr to Y and string ptr to X
-         lbsr  LDAXY        get byte from string #1
-         pshu  y,x          put pointers back
-         eora  ,s
-         tst   ,s+          was it high bit?
-         bmi   L0816        yes, check if last character in string #2
-         decb  
-         beq   L0813
-         anda  #$DF         match?
-         beq   L07F2        yes, check next character
-L0813    comb               set carry
-         puls  d,x,y,u,pc
-
-L0816    decb               done whole string?
-         bne   L0813        no, exit with no match
-         anda  #$5F         match?
-         bne   L0813        yes, keep checking
-         clrb               strings match, clear carry
-         puls  d,x,y,u,pc   restore & return