"Fossies" - the Fresh Open Source Software Archive 
Member "fasm/tools/win32/system.inc" (21 Feb 2022, 1010 Bytes) of package /linux/misc/fasm-1.73.30.tgz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) fasm source code syntax highlighting (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
1
2 display_string:
3 invoke GetStdHandle,[display_handle]
4 mov edx,eax
5 mov edi,esi
6 or ecx,-1
7 xor al,al
8 repne scasb
9 neg ecx
10 sub ecx,2
11 invoke WriteFile,edx,esi,ecx,bytes_count,0
12 retn
13 alloc:
14 invoke VirtualAlloc,0,eax,MEM_COMMIT,PAGE_READWRITE
15 or eax,eax
16 jz allocation_error
17 clc
18 retn
19 allocation_error:
20 stc
21 retn
22 free:
23 invoke VirtualFree,eax,0,MEM_RELEASE
24 retn
25 open:
26 invoke CreateFile,edx,GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,0,0
27 cmp eax,-1
28 je file_error
29 mov ebx,eax
30 clc
31 retn
32 file_error:
33 stc
34 retn
35 create:
36 invoke CreateFile,edx,GENERIC_WRITE,0,0,CREATE_ALWAYS,0,0
37 cmp eax,-1
38 je file_error
39 mov ebx,eax
40 clc
41 retn
42 write:
43 invoke WriteFile,ebx,edx,ecx,bytes_count,0
44 or eax,eax
45 jz file_error
46 clc
47 retn
48 read:
49 push ecx
50 invoke ReadFile,ebx,edx,ecx,bytes_count,0
51 pop edx
52 or eax,eax
53 jz file_error
54 cmp edx,[bytes_count]
55 jne file_error
56 clc
57 retn
58 close:
59 invoke CloseHandle,ebx
60 retn
61 lseek:
62 movzx eax,al
63 invoke SetFilePointer,ebx,edx,0,eax
64 cmp eax,-1
65 je file_error
66 retn