Mercurial > hg > Members > kono > nitros9-code
view level2/modules/kernel/fssvc.asm @ 1145:ca83286ded5b
Start of new OS-9 L2 Kernel
author | boisy |
---|---|
date | Tue, 22 Apr 2003 19:35:48 +0000 |
parents | |
children | 90bad6d8388c |
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 L037F 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 L037F it was a privliged call, skip ahead ldd <D.UsrDis get user displat table pointer stx d,u save vector into place L037F ldb ,y+ get callcode cmpb #$80 done? bne L036D no, keep going rts return