Core: new function sys array
git-svn-id: svn://kolibrios.org@7828 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
07efb9321b
commit
585f0d6cbf
@ -179,6 +179,7 @@ iglobal
|
|||||||
dd undefined_syscall ; 78-free
|
dd undefined_syscall ; 78-free
|
||||||
dd undefined_syscall ; 79-free
|
dd undefined_syscall ; 79-free
|
||||||
dd fileSystemUnicode ; 80-File system interface for different encodings
|
dd fileSystemUnicode ; 80-File system interface for different encodings
|
||||||
|
dd sys_array ; 81-Array
|
||||||
|
|
||||||
times 255 - ( ($-servetable2) /4 ) dd undefined_syscall
|
times 255 - ( ($-servetable2) /4 ) dd undefined_syscall
|
||||||
dd sys_end ; -1-end application
|
dd sys_end ; -1-end application
|
||||||
|
@ -70,6 +70,8 @@ include "network/stack.inc"
|
|||||||
include "crc.inc" ; checksums
|
include "crc.inc" ; checksums
|
||||||
include "unicode.inc"
|
include "unicode.inc"
|
||||||
|
|
||||||
|
include "other/array.inc" ; array
|
||||||
|
|
||||||
; include "imports.inc"
|
; include "imports.inc"
|
||||||
; include "core/ext_lib.inc"
|
; include "core/ext_lib.inc"
|
||||||
; include "core/conf_lib.inc"
|
; include "core/conf_lib.inc"
|
||||||
|
65
kernel/trunk/other/array.inc
Executable file
65
kernel/trunk/other/array.inc
Executable file
@ -0,0 +1,65 @@
|
|||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;
|
||||||
|
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
|
||||||
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
|
;; ;;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
$Revision: 7825 $
|
||||||
|
|
||||||
|
|
||||||
|
align 4
|
||||||
|
proc sys_array
|
||||||
|
cmp ebx, 0
|
||||||
|
je sys_init_array
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
|
proc sys_init_array
|
||||||
|
push ecx
|
||||||
|
push edx
|
||||||
|
call sys_index_array
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
|
sys_index_array:
|
||||||
|
enter 8, 0
|
||||||
|
mov eax, [ebp+8]
|
||||||
|
and eax, 3
|
||||||
|
mov [ebp-4], eax
|
||||||
|
mov eax, [ebp-4]
|
||||||
|
shl eax, 2
|
||||||
|
add eax, [ebp+0Ch]
|
||||||
|
mov [ebp-8], eax
|
||||||
|
|
||||||
|
mov eax, [ebp-4]
|
||||||
|
cmp [ebp+8], eax
|
||||||
|
jne .A4F4h
|
||||||
|
push 10h
|
||||||
|
pop eax
|
||||||
|
add eax, [ebp-8]
|
||||||
|
jmp .A516h
|
||||||
|
|
||||||
|
.A4F4h:
|
||||||
|
mov esi, [ebp-8]
|
||||||
|
cmp dword [esi], 0
|
||||||
|
jne .A508h
|
||||||
|
mov eax, 68
|
||||||
|
mov ebx, 12
|
||||||
|
mov ecx, 32
|
||||||
|
call malloc
|
||||||
|
mov esi, [ebp-8]
|
||||||
|
mov [esi], eax
|
||||||
|
|
||||||
|
.A508h:
|
||||||
|
push dword[esi]
|
||||||
|
mov eax, [ebp+8]
|
||||||
|
shr eax, 2
|
||||||
|
push eax
|
||||||
|
call sys_index_array
|
||||||
|
|
||||||
|
.A516h:
|
||||||
|
leave
|
||||||
|
ret 8
|
Loading…
Reference in New Issue
Block a user