flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > use FASMLIB in your OSes |
Author |
|
Remy Vincent 25 Dec 2006, 18:00
Hello vid, I am sorry, but I have not started any O.S. yet. Merry Chrismas anyway!!! May be next year I could be able to use your """FASMLIB Vx.y.z""" for an "My small Operating System"... Who knows!!
|
|||
25 Dec 2006, 18:00 |
|
Dex4u 25 Dec 2006, 18:23
@vid, i will be porting FASMLIB to DexOS, i just needed to finish some small jobs, i should be ready in the new year. Nice jobs with FASMLIB.
Regards Dex. |
|||
25 Dec 2006, 18:23 |
|
vid 26 Dec 2006, 00:29
thanks. be sure to let me know then.
|
|||
26 Dec 2006, 00:29 |
|
AmbroXio 12 Jan 2007, 05:17
Hi vid...
i'm interested ..... tell me more about it ..... please ..... (i dont know how to say this in english) <-- a pesar de que aun no tengo un sistema operativo completo y funcional todavia... a decir verdad me falta bastante, pero igual, estoy interesado en esto de la FASMLIB ... un saludo ! .. --> |
|||
12 Jan 2007, 05:17 |
|
vid 12 Jan 2007, 06:19
someone translate the rest for me please.
FASMLIB is library providing basic library functions: conversions, string library, formatting input and output, memory management. what more you need to know? |
|||
12 Jan 2007, 06:19 |
|
Octavio 12 Jan 2007, 10:58
AmbroXio wrote: Hi vid... translation: I'm far from having a complete and functional OS but anyway i'm interested in the FASMLIB project. Vid ,did you try web translators? i tested them with some russian pages but the translation is pretty bad. |
|||
12 Jan 2007, 10:58 |
|
vid 12 Jan 2007, 11:36
nope, didn't try any, because i don't know any. thanks anyway.
|
|||
12 Jan 2007, 11:36 |
|
Raedwulf 12 Jan 2007, 12:10
Remy Vincent wrote: May be next year I could be able to use your """FASMLIB Vx.y.z""" for an "My small Operating System"... Who knows!! Slightly offtopic, - just thought about an acronym for "My small Operating System" as MYSOS. Well at first, I laughed because 'sos' means sauce in Malay (Yes I learned it when I lived in Brunei - compulsory in school) so My Sauce . Then I thought about it in English, My, Save Our Souls! All I can say, due to a lack of Malay-speaking folk (except I've seen one on the FASM forums - Malaysian) - the joke falls short I wish I had the time to implement an OS, only problem with writing your own OS, is that not many people will ever use it as it is not compatible with most Software, unless 'FASMOS' has the same goals as Reactos... Cheers. _________________ Raedwulf |
|||
12 Jan 2007, 12:10 |
|
vid 12 Jan 2007, 12:49
writing an OS definitively became an hobby now. Unless you spend many years, to write completely uninnovative OS conforming to those antique POSIX? standards. sad but true.
|
|||
12 Jan 2007, 12:49 |
|
LocoDelAssembly 12 Jan 2007, 17:08
Quote:
http://www.google.com/language_tools?hl=en |
|||
12 Jan 2007, 17:08 |
|
AmbroXio 12 Jan 2007, 21:12
thanks for translation octavio !... BTW, i believe i've seen you at the hispabyte forum right ? .....
.... ok, vid, well, its definitively a hobby, since i'm no profesional at it (like a lot of people...)... but i really wanna get something useful.......... anyway, i guess, there should be some kind of list of the functions or procedures that are gonna be in this FASMLIB..... thats what i want to know... do you have this "list" allready ???....... un saludo !! (PD: jeje parece q no soy tan malo con el ingles ... espero no haber dicho nada mal....) |
|||
12 Jan 2007, 21:12 |
|
vid 12 Jan 2007, 21:54
ambroxio: i can write you list what i already have now. but some thing depend on your system supporting them. i will try to provide something. i attach listing of MASM prototypes, because they are only list i have with arguments listed
- system independent: conversion, string library: Code: str_copy PROTO dest:DWORD, destlen:DWORD, src:DWORD, srclen:DWORD str_cat PROTO dest:DWORD, destlen:DWORD, src:DWORD, srclen:DWORD str_catchar PROTO string:DWORD, buflen:DWORD, char:DWORD str_ins PROTO dest:DWORD, destlen:DWORD, src:DWORD, srclen:DWORD str_inschar PROTO dest:DWORD, destlen:DWORD, char:DWORD, pos:DWORD str_sub PROTO dest:DWORD, destlen:DWORD, src:DWORD, srclen:DWORD str_lowcase PROTO string:DWORD, buflen:DWORD str_upcase PROTO string:DWORD, buflen:DWORD str_len PROTO string:DWORD, buflen:DWORD str_cmp PROTO str1:DWORD, str1len:DWORD, str2:DWORD, str2len:DWORD str_cmpi PROTO str1:DWORD, str1len:DWORD, str2:DWORD, str2len:DWORD str_pos PROTO string:DWORD, buflen:DWORD, pattern:DWORD, patlen:DWORD str_poschar PROTO string:DWORD, buflen:DWORD, char:DWORD conv_b2hex PROTO dest:DWORD, destlen:DWORD, value:DWORD conv_w2hex PROTO dest:DWORD, destlen:DWORD, value:DWORD conv_d2hex PROTO dest:DWORD, destlen:DWORD, value:DWORD conv_b2dec PROTO dest:DWORD, destlen:DWORD, value:DWORD conv_w2dec PROTO dest:DWORD, destlen:DWORD, value:DWORD conv_d2dec PROTO dest:DWORD, destlen:DWORD, value:DWORD conv_hex2b PROTO string:DWORD, strlen:DWORD conv_hex2w PROTO string:DWORD, strlen:DWORD conv_hex2d PROTO string:DWORD, strlen:DWORD conv_dec2b PROTO string:DWORD, strlen:DWORD conv_dec2w PROTO string:DWORD, strlen:DWORD conv_dec2d PROTO string:DWORD, strlen:DWORD extconv_b2hex PROTO dest:DWORD, destlen:DWORD, value:DWORD, minlen:DWORD, len:DWORD extconv_w2hex PROTO dest:DWORD, destlen:DWORD, value:DWORD, minlen:DWORD, len:DWORD extconv_d2hex PROTO dest:DWORD, destlen:DWORD, value:DWORD, minlen:DWORD, len:DWORD extconv_b2dec PROTO dest:DWORD, destlen:DWORD, value:DWORD, minlen:DWORD, len:DWORD extconv_w2dec PROTO dest:DWORD, destlen:DWORD, value:DWORD, minlen:DWORD, len:DWORD extconv_d2dec PROTO dest:DWORD, destlen:DWORD, value:DWORD, minlen:DWORD, len:DWORD extconv_hex2b PROTO string:DWORD, strlen:DWORD, len:DWORD extconv_hex2w PROTO string:DWORD, strlen:DWORD, len:DWORD extconv_hex2d PROTO string:DWORD, strlen:DWORD, len:DWORD extconv_dec2b PROTO string:DWORD, strlen:DWORD, len:DWORD extconv_dec2w PROTO string:DWORD, strlen:DWORD, len:DWORD extconv_dec2d PROTO string:DWORD, strlen:DWORD, len:DWORD - if system has console I/O formatted console I/O Code: text_write PROTO stream:DWORD, string:DWORD text_write_str PROTO stream:DWORD, string:DWORD, buflen:DWORD text_write_b2hex PROTO stream:DWORD, value:DWORD text_write_w2hex PROTO stream:DWORD, value:DWORD text_write_d2hex PROTO stream:DWORD, value:DWORD text_write_b2dec PROTO stream:DWORD, value:DWORD text_write_w2dec PROTO stream:DWORD, value:DWORD text_write_d2dec PROTO stream:DWORD, value:DWORD text_read_char PROTO stream:DWORD text_read_chars PROTO stream:DWORD, buffer:DWORD, buflen:DWORD, charlist:DWORD text_read_until PROTO stream:DWORD, buffer:DWORD, buflen:DWORD, charlist:DWORD text_read_line PROTO stream:DWORD, buffer:DWORD, buflen:DWORD text_read_hex2b PROTO stream:DWORD text_read_hex2w PROTO stream:DWORD text_read_hex2d PROTO stream:DWORD text_read_dec2b PROTO stream:DWORD text_read_dec2w PROTO stream:DWORD text_read_dec2d PROTO stream:DWORD text_fetch PROTO stream:DWORD, string:DWORD text_fetch_str PROTO stream:DWORD, string:DWORD, buflen:DWORD text_fetch_char PROTO stream:DWORD, char:DWORD text_skip_chars PROTO stream:DWORD, charlist:DWORD text_skip_until PROTO stream:DWORD, charlist:DWORD text_skip_hex PROTO stream:DWORD text_skip_dec PROTO stream:DWORD text_extwrite_b2hex PROTO stream:DWORD, value:DWORD, minlen:DWORD text_extwrite_w2hex PROTO stream:DWORD, value:DWORD, minlen:DWORD text_extwrite_d2hex PROTO stream:DWORD, value:DWORD, minlen:DWORD text_extwrite_b2dec PROTO stream:DWORD, value:DWORD, minlen:DWORD text_extwrite_w2dec PROTO stream:DWORD, value:DWORD, minlen:DWORD text_extwrite_d2dec PROTO stream:DWORD, value:DWORD, minlen:DWORD text_extread_chars PROTO stream:DWORD, buffer:DWORD, buflen:DWORD, charlist:DWORD, maxlen:DWORD, len:DWORD text_extread_until PROTO stream:DWORD, buffer:DWORD, buflen:DWORD, charlist:DWORD, maxlen:DWORD, len:DWORD text_extread_line PROTO stream:DWORD, buffer:DWORD, buflen:DWORD, maxlen:DWORD, len:DWORD text_extread_hex2b PROTO stream:DWORD, maxlen:DWORD, len:DWORD, skipbl:DWORD text_extread_hex2w PROTO stream:DWORD, maxlen:DWORD, len:DWORD, skipbl:DWORD text_extread_hex2d PROTO stream:DWORD, maxlen:DWORD, len:DWORD, skipbl:DWORD text_extread_dec2b PROTO stream:DWORD, maxlen:DWORD, len:DWORD, skipbl:DWORD text_extread_dec2w PROTO stream:DWORD, maxlen:DWORD, len:DWORD, skipbl:DWORD text_extread_dec2d PROTO stream:DWORD, maxlen:DWORD, len:DWORD, skipbl:DWORD text_extskip_chars PROTO stream:DWORD, charlist:DWORD, maxlen:DWORD text_extskip_until PROTO stream:DWORD, charlist:DWORD, maxlen:DWORD text_extskip_hex PROTO stream:DWORD, maxlen:DWORD text_extskip_dec PROTO stream:DWORD, maxlen:DWORD - if OS provides file I/O file I/O wrappers: Code: file_open PROTO name_:DWORD, mode:DWORD file_create PROTO name_:DWORD, mode:DWORD file_seek PROTO handle:DWORD, dist:DWORD, mode:DWORD file_read PROTO handle:DWORD, buffer:DWORD, count:DWORD file_write PROTO handle:DWORD, buffer:DWORD, count:DWORD file_close PROTO handle:DWORD plus all "text_" functions listed in console I/O work for text files too. these functions also can be used to write/read text in memory. - if OS provides heap memory allocation FASMLIB has wrapper for it. own heap manager is planned soon |
|||
12 Jan 2007, 21:54 |
|
AmbroXio 12 Jan 2007, 22:26
ok...... looks great.................... i didnt understand this:
- if OS provides heap memory allocation FASMLIB has wrapper for it. own heap manager is planned soon what is that heap thing ???, and what is a wrapper ??.... sorry about my ignorance (and about my bad english in any case...)........ |
|||
12 Jan 2007, 22:26 |
|
tantrikwizard 12 Jan 2007, 23:59
AmbroXio wrote: what is that heap thing ??? A heap is a chunk of memory allocate per process. When a process wants to allocate memory it normally does so out of it's own dedicated heap instead of from global memory. Normally the OS creates a 'heap' of memory that the process uses, sometimes the process allocates its own heap. AmbroXio wrote: and what is a wrapper ?? A wrapper is normally a standard interface to non-standard implementations. In this case two or more wrappers are created, one for each operating system to 'wrap' the operating system specific details or a single wrapper is built that has all the different OS specific implementations accounted for. Wrappers make writing cross platform code easier. Instead of writing seperate code for each OS, one can code to a wrapper then the wrapper has OS specific implementations. |
|||
12 Jan 2007, 23:59 |
|
AmbroXio 13 Jan 2007, 04:18
oooohh i see..... thanks fot the info tantrikwizard !
|
|||
13 Jan 2007, 04:18 |
|
vid 13 Jan 2007, 10:11
in case of FASMLIB, this "wrapper" puts system services of different OSes under common interface. Naturally, system service to open file under win32 has diferent interface than such system service under linux. FASMLIBs "wraps" them, and provides them to FASMLIB caller under same interface on both operating systems
|
|||
13 Jan 2007, 10:11 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.