view level2/modules/kernel/fssvc.asm @ 1624:bb75784a1ec5

Minor source change by Rodney H.
author boisy
date Wed, 30 Jun 2004 01:07:36 +0000
parents 647a5bfd96ec
children
line wrap: on
line source

**************************************************
* System Call: F$SSVC
*
* Function: Install system calls
*
* Input:  Y = Address of service request init table
*
* Output: None
*
* Error:  CC = C bit set; B = error code
*
FSSvc    ldy    R$Y,u       get pointer to table
         bra    SysSvc      start moving
* Main move loop
L036D    clra               clear MSB of table offset
         lslb               multiply function # by 2 to get offset into table
         tfr    d,u         copy it to U
         ldd    ,y++        get vector to function handler
         leax   d,y         offset X from current Y
         ldd    <D.SysDis   get system dispatch table pointer
         stx    d,u         save vector into place
         bcs    SysSvc      it was a privliged call, skip ahead
         ldd    <D.UsrDis   get user displat table pointer
         stx    d,u         save vector into place
SysSvc   ldb    ,y+         get callcode
         cmpb   #$80        done?
         bne    L036D       no, keep going
         rts                return