diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2008-01-27 11:37:44 +0100 |
---|---|---|
committer | Tobias Klauser <tklauser@xenon.tklauser.home> | 2008-01-27 11:37:44 +0100 |
commit | 7e0f021a9aec35fd8e6725e87e3313b101d26f5e (patch) | |
tree | b1cacc4b24393f517aeb4610e9e1021f954307a8 /reference/C/CONTRIB/SNIP/memavail.c |
Initial import (2.0.2-6)2.0.2-6
Diffstat (limited to 'reference/C/CONTRIB/SNIP/memavail.c')
-rwxr-xr-x | reference/C/CONTRIB/SNIP/memavail.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/reference/C/CONTRIB/SNIP/memavail.c b/reference/C/CONTRIB/SNIP/memavail.c new file mode 100755 index 0000000..67400d9 --- /dev/null +++ b/reference/C/CONTRIB/SNIP/memavail.c @@ -0,0 +1,32 @@ +/*
+** MEMAVAIL.C - Report available DOS memory
+**
+** public domain by Thor Johnson
+*/
+
+#include <dos.h>
+
+long memavail(void)
+{
+ union REGS regs;
+
+ /* Request impossibly large number of 16-byte paragraphs from DOS */
+
+ regs.h.ah = 0x48;
+ regs.x.bx = 0xFFFF;
+
+ int86(0x21,®s,®s);
+
+ return((long)regs.x.bx * 16L);
+}
+
+#ifdef TEST
+
+#include <stdio.h>
+
+main()
+{
+ printf("Available DOS memory = %ld bytes\n", memavail());
+}
+
+#endif /* TEST */
|