old-MTGos-old/user/x86/syscall.S

63 lines
1.1 KiB
ArmAsm
Raw Permalink Normal View History

.global screenout_init
// void * screenout_init(int err);
screenout_init:
2016-07-24 10:21:12 +00:00
mov 0x4(%esp), %eax
push %eax
xor %eax, %eax
int $0x30
pop %ecx
ret
.global screenout_out
// void * screenout_out(void* handle, char *str);
screenout_out:
2016-07-24 10:21:12 +00:00
push %ebx
mov 0xC(%esp), %eax
mov 0x8(%esp), %ebx
push %eax
xor %eax, %eax
inc %eax
int $0x30
pop %ebx
pop %ebx
ret
.global screenout_clear
// void * screenout_clear(void* handle);
screenout_clear:
2016-07-24 10:21:12 +00:00
push %ebx
mov 0x8(%esp), %ebx
xor %eax, %eax
inc %eax
inc %eax
int $0x30
pop %ebx
ret
2016-06-18 11:16:15 +00:00
.global screenout_setcolor
// void * screenout_setcolor(void* handle, uint32_t BG, uint32_t FG)
screenout_setcolor:
2016-07-24 10:21:12 +00:00
push %ebx
mov 0x8(%esp), %ebx
mov 0xC(%esp), %eax
mov 0x10(%esp), %ecx
push %ecx
push %eax
mov $3, %eax
int $0x30
pop %ebx
pop %ebx
pop %ebx
ret
.global screenout_destroy
// void * screenout_destroy(void * handle)
screenout_destroy:
2016-07-24 10:21:12 +00:00
push %ebx
mov 0x8(%esp), %ebx
xor %eax, %eax
dec %ax
int $0x30
pop %ebx
ret