view level2/modules/kernel/fssvc.asm @ 1345:1da8ab9ba433

Added consistent comments to each system call
author boisy
date Wed, 17 Sep 2003 17:26:37 +0000
parents 90bad6d8388c
children 647a5bfd96ec
line wrap: on
line source

**************************************************
* System Call: F$SSVC
*
* Function: Allocate a 64 byte memory block
*
* 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