Using Intrinsics/Native Opcodes

Jul 8, 2009 at 9:24 PM

Hello I have been looking through the code in the MOSA project but I have not been able to determine how you would create a Kernel and use some of the x86 ops codes like In and Out. 


I saw the Port class in the HelloWorld project, not sure if that portion works yet but I copied it and the IntrinsicAttribute classes into my kernel and the MOSA compiler got an exception when attempting to compile it.

Just wondering if anyone had any input on the proper way to use the In and Out methods in a Kernel.



Jul 9, 2009 at 5:15 AM

Hi mrunleaded.

Unfortunately the compiler isn't at a stage yet where it is able to compile much. 
So, if you want to use the MOSA compiler I'm sorry to inform you that you'll have to wait until we progress further with it. join us and help developing the compiler :) This way we could finish it faster.

Just be patient with us and spread the word ;)


Jul 9, 2009 at 6:11 AM
Edited Jul 9, 2009 at 6:12 AM

Hi! Thank you for your interesting in MOSA.

At this very moment we are working to support x86 opcodes via the InstrinsticAttribute.  It's part of some of our recent check-ins. The compiler work is mostly done - it will replacing calls to Intrinsic labeled methods with x86 opcodes. The tricky part is compiling a bare minimal skeleton of corlib so Attributes can be declared and used. And supporting corlib requires more and more compiler support. We’re getting there.

So keep watching (or join in on the development).



Jul 9, 2009 at 7:01 AM

Very good. From the code I have looked at it definitely is a bit nicer then some of the other c# os projects I have seen. 

I think I need to look through the code a bit more before I would feel comfortable submitting patches but I will definitely be keeping an eye on things.


Thanks for the input.