forked from KolibriOS/kolibrios
16f5992719
New functions for work with system calls KolibriOS are added. Functions for format output are added: printf (), fprintf (), sprintf (), snprintf (), vsnprintf (). For material numbers it is meanwhile supported only format output the (%f), and exponential output a (%e) is not realized yet. Functions for format output correctly work only in GCC because TinyC incorrectly works with the functions containing variable number of arguments. git-svn-id: svn://kolibrios.org@647 a494cfbc-eb01-0410-851d-a64ba20cac60
35 lines
600 B
NASM
35 lines
600 B
NASM
format ELF
|
|
include "public_stdcall.inc"
|
|
section '.text' executable
|
|
public_stdcall _ksys_make_button,24
|
|
;arg1 - x
|
|
;arg2 - y
|
|
;arg3 - xsize
|
|
;arg4 - ysize
|
|
;arg5 - id
|
|
;arg6 - color
|
|
push ebx esi
|
|
mov ebx,[esp+12]
|
|
shl ebx,16
|
|
mov bx,[esp+20]
|
|
mov ecx,[esp+16]
|
|
shl ecx,16
|
|
mov cx,[esp+24]
|
|
mov edx,[esp+28]
|
|
mov esi,[esp+32]
|
|
mov eax,8
|
|
int 0x40
|
|
pop esi ebx
|
|
ret 24
|
|
|
|
public_stdcall _ksys_get_button_id,0
|
|
mov eax,17
|
|
int 0x40
|
|
test al,al
|
|
jnz .no_button
|
|
shr eax,8
|
|
ret
|
|
.no_button:
|
|
xor eax,eax
|
|
dec eax
|
|
ret |