flat assembler
Message board for the users of flat assembler.
Index
> MenuetOS > I have a few questions |
Author |
|
bloglite 05 May 2005, 14:57
Some of what you want is CPU specific and can be implemented with opcodes for that cpu but the best compatibility is @ x86 level.
Check the wiki for menuet specific ASM examples: Also study the ASM listings for current apps. Great stuff (ASCL) < cool There is also an area where you can put your ideas for improvements. More ASM programs/programmers will surely help in the long run. Big collection of ASM Listings in NEW Archive Distro. ~22.8M Everything MenuetOS http://www.wemakeitbig.com/meos/ez05.iso |
|||
05 May 2005, 14:57 |
|
Madis731 06 May 2005, 12:04
http://flatassembler.net/docs.php?article=manual
Reading this makes sence to me. I must admit I haven't read it through but this isn't the point. It's meant for reference and this way it is the best. MMX,SSE(1,2,...) are also listed there and there is no problem writing code to MenuetOS in these instructions -- 2 problems though: 1) compatibility with 386 2) to gain compatibility, additional code must beintroduced HT is easy to make when multitasking/threading is introduced - only code to detect P4 HT is needed. http://www.tommesani.com/ is one funny-looking program and they ask money too , but you can get most of optimizations done with it. Though I could do much better on my own. If you don't have time to think then you can input your program there. |
|||
06 May 2005, 12:04 |
|
cmm_asm 06 May 2005, 13:02
I think that by adding these optimizations, code can be put in to detect these things in the processor, added to boot-up or in setup program, and can be added as seperate kernel modules
|
|||
06 May 2005, 13:02 |
|
Madis731 07 May 2005, 11:04
This would be fun and useful so people with newer processors can really "see" their advantage
|
|||
07 May 2005, 11:04 |
|
THEWizardGenius 09 Jun 2005, 19:03
I don't have HT though so you would have to make two MOS's: one with HT and one without. Or you can detect it in startup, but to implement two versions would be very complicated for you. If you change MOS so it requires HT this would be too bad, then I cannot use MOS anymore.
But I do have MMX and SSE and I think I have SSE2 (not sure). Probably most people have that. I would like to at least have these optimizations, and maybe a seperate HT version could be implemented. But if MOS is compatible with 386 or 486 this will not work. |
|||
09 Jun 2005, 19:03 |
|
Madis731 10 Jun 2005, 09:03
Its simple to know - PIII has SSE, P4 has SSE2 and beginning from Prescott - SSE3 also
MMX has been around from Pentiums... implementing HT can't be so bad - windows detects number of processors but does NOT *REQUIRE* explicitly that you *HAVE* a multi-processor system. Now concerning MenuetOS you don't have to reinstall it every time you want to change between HT/non-HT because you install it every time anyway (like booting from FD, CD, DVD, USB, ...) MMX/SSE(1,2,3,...) are just gadgets that are meant to be detected and used NOT explicitly required. I wouldn't like the thought that you MUST have a SSE2 or MMX+ to run any OS. |
|||
10 Jun 2005, 09:03 |
|
halyavin 11 Jun 2005, 06:25
You CAN'T use fpu/mmx/sse/sse2 instructions in kernel. It is restriction of MenuetOS - it save fpu/mmx context only for applications .
|
|||
11 Jun 2005, 06:25 |
|
Endre 11 Jun 2005, 10:41
That's the problem with assembly language. It's not enough to add a compiler switch and the compiler compiles your code with te wished extended instruction set. You have to wite several instances of the given code part manually. One for the plain x86 instruction set and the others for the different extensions. By using conditional compilation you can compile your application or the kernel itself for your favorite platform. For that only human resource is needed.
|
|||
11 Jun 2005, 10:41 |
|
Madis731 11 Jun 2005, 15:01
Halayavin: Kernel itself in NOT a multitasking environment so you don't have to save context. Just take care of EMMS and that float is clear and everything will be alright.
Endre: YES FASM really is under a MB, but BIG C/#/++ compilers have all these variants already included - if we get a codebase as big as this - we can also add/delete sections as we wish or as our CPU requests. We just haven't gone that far...yet? |
|||
11 Jun 2005, 15:01 |
|
halyavin 11 Jun 2005, 18:20
Kernel IS multitasking - several system functions can being executed simultaneosly. So you need save fpu/mmx/sse context for each system handler. But now there is place only for saving context for applications.
|
|||
11 Jun 2005, 18:20 |
|
Madis731 12 Jun 2005, 12:00
If so then how many simultaneous tasks are we talking about - maybe we could issue the context saver from applications to the kernel!?
|
|||
12 Jun 2005, 12:00 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.