annotate level2/modules/kernel/fssvc.asm @ 1239:90bad6d8388c

Major changes to bring kernel closer to L2 port
author boisy
date Tue, 05 Aug 2003 13:46:17 +0000
parents ca83286ded5b
children 647a5bfd96ec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
1 **************************************************
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
2 * System Call: F$SSVC
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
3 *
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
4 * Function: Allocate a 64 byte memory block
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
5 *
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
6 * Input: Y = Address of service request init table
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
7 *
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
8 * Output: None
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
9 *
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
10 * Error: CC = C bit set; B = error code
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
11 *
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
12 FSSvc ldy R$Y,u get pointer to table
1239
90bad6d8388c Major changes to bring kernel closer to L2 port
boisy
parents: 1145
diff changeset
13 bra SysSvc start moving
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
14 * Main move loop
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
15 L036D clra clear MSB of table offset
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
16 lslb multiply function # by 2 to get offset into table
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
17 tfr d,u copy it to U
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
18 ldd ,y++ get vector to function handler
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
19 leax d,y offset X from current Y
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
20 ldd <D.SysDis get system dispatch table pointer
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
21 stx d,u save vector into place
1239
90bad6d8388c Major changes to bring kernel closer to L2 port
boisy
parents: 1145
diff changeset
22 bcs SysSvc it was a privliged call, skip ahead
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
23 ldd <D.UsrDis get user displat table pointer
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
24 stx d,u save vector into place
1239
90bad6d8388c Major changes to bring kernel closer to L2 port
boisy
parents: 1145
diff changeset
25 SysSvc ldb ,y+ get callcode
1145
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
26 cmpb #$80 done?
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
27 bne L036D no, keep going
ca83286ded5b Start of new OS-9 L2 Kernel
boisy
parents:
diff changeset
28 rts return