summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/ints.txt19
1 files changed, 18 insertions, 1 deletions
diff --git a/doc/ints.txt b/doc/ints.txt
index 2a97049..cd91f60 100644
--- a/doc/ints.txt
+++ b/doc/ints.txt
@@ -11,6 +11,7 @@ args in ebx, ecx, edx, esi, edi
result in eax
note: do not assume eax is unmodified if there is no value to be returned
modifies ecx, edx
+see table 1
file system calls have units of bytes unless otherwise specified
functions returning handles or pointers use 0 to indicate error
@@ -20,6 +21,8 @@ see keys.txt for the return type of the "get key" system call
invalid system call numbers change eax to -1, and have no other effect.
+table 1:
+
function | eax | eax out | ebx | ecx | edx | esi | edi
---------------|-----|---------------|---------------|-------------|-------|--------|-----
open file | 0x0 | handle | drive number | path | | |
@@ -29,4 +32,18 @@ invalid system call numbers change eax to -1, and have no other effect.
start task | 0x4 | success | drive number | path | | |
log string | 0x5 | | sz string | | | |
get key | 0x6 | keycode | | | | |
- allocate ram | 0x7 | start pointer | pages | | | | \ No newline at end of file
+ allocate ram | 0x7 | start pointer | pages | | | |
+ memory info | 0x8 | see table 2 | see table 2 | | | |
+
+
+table 2:
+all values are in units of pages
+eax -1 indicates unrecognized ebx
+
+ ebx | eax out
+-----|--------------------------
+ 0x0 | kernel dynamic area size
+ 0x1 | kernel dynamic area left
+ 0x2 | total userspace size
+ 0x3 | total userspace left
+ 0x4 | this process memory left \ No newline at end of file