Cleanup
[tpg/acess2.git] / Usermode / Libraries / ld-acess.so_src / helpers.asm
1 ; AcessOS 1\r
2 ; By thePowersGang\r
3 ; LD-ACESS.SO\r
4 ; - helpers.asm\r
5 \r
6 %include "../libacess.so_src/syscalls.inc.asm"\r
7 \r
8 [global _SysDebug]\r
9 [global _SysExit]\r
10 [global _SysLoadBin]\r
11 [global _SysUnloadBin]\r
12 \r
13 ; void SysDebugV(char *fmt, va_list Args)\r
14 _SysDebug:\r
15         ;xchg bx, bx\r
16         push ebp\r
17         mov ebp, esp\r
18         pusha\r
19         \r
20         mov eax, 0x100  ; User Debug\r
21         mov ebx, [ebp+8]        ; Format\r
22         mov ecx, [ebp+12]       ; Arguments\r
23         mov edx, [ebp+16]       ; Arguments\r
24         mov edi, [ebp+20]       ; Arguments\r
25         mov esi, [ebp+24]       ; Arguments\r
26         int     0xAC\r
27         \r
28         popa\r
29         pop ebp\r
30         ret\r
31 \r
32 ; void SysExit()\r
33 _SysExit:\r
34         push ebx\r
35         mov eax, SYS_EXIT       ; Exit\r
36         mov ebx, [esp+0x8]      ; Exit Code\r
37         int     0xAC\r
38         pop ebx\r
39         ret\r
40 \r
41 ; Uint SysLoadBin(char *path, Uint *entry)\r
42 _SysLoadBin:\r
43         push ebx\r
44         mov eax, SYS_LOADBIN    ; SYS_LDBIN\r
45         mov ebx, [esp+0x8]      ; Path\r
46         mov ecx, [esp+0xC]      ; Entry\r
47         int     0xAC\r
48         pop ebx\r
49         ret\r
50 \r
51 ; Uint SysUnloadBin(Uint Base)\r
52 _SysUnloadBin:\r
53         push ebx\r
54         mov eax, SYS_UNLOADBIN  ; SYS_ULDBIN\r
55         mov ebx, [esp+0x8]      ; Base\r
56         int     0xAC\r
57         pop ebx\r
58         ret\r

UCC git Repository :: git.ucc.asn.au