diff 3rdparty/packages/cc/sources/mod.a @ 867:0198655f2552

Added sources
author boisy
date Thu, 16 Jan 2003 19:54:21 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/3rdparty/packages/cc/sources/mod.a	Thu Jan 16 19:54:21 2003 +0000
@@ -0,0 +1,49 @@
+*
+* Module access system calls
+*
+
+shiftla macro
+ rept \1
+ lsla
+ endr
+ endm
+
+ use ..../defs/os9defs.a
+ psect mod_a,0,0,1,0,0
+
+* modlink(modname,type,language)
+modlink: pshs y,u save environment
+ ldx 6,s get module name pointer
+ lda 9,s get type
+ shiftla 4 shift to m.s nibble
+ ora 11,s and language
+
+ os9 F$LINK call os9
+
+* the only value returned is a pointer to the module
+* other values can be found in the module itself
+modcom
+ tfr u,d C return value always in d reg.
+ puls y,u restore environment
+ lbcs _os9err
+ rts
+
+* modload(modname,type,language)
+modload: pshs y,u save environment
+ ldx 6,s get module name pointer
+ lda 9,s get type
+ shiftla 4
+ ora 11,s and type
+
+ os9 F$LOAD call os9
+
+ bra modcom common code
+
+* munlink(mod)
+munlink: pshs u save register variable
+ ldu 4,s get module pointer
+
+ os9 F$UNLINK call os9
+ puls u restore register variable
+ lbra _sysret usual return
+ endsect