diff options
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 */
|