IonicWind Software

Miscellaneous => Boot Camp => Topic started by: PaulDent on December 30, 2008, 11:15:50 PM

Title: I am looking for an X86 assembler. Have I found it?
Post by: PaulDent on December 30, 2008, 11:15:50 PM
I downloaded the demo version of Aurora.

The language it is offering appears to be 'C'

There is a user guide to NASM built in, which I think is an X86 assembler, but the Aurora IDE offers me no clue how to create an assembly language file
and assemble it into a linkable object module.

I am already using COMPAQ visual FORTRAN, which is a great IDE using Microsoft Visual Studio.
It appears Aurora IDE is also a version of Microsoft Visual Studio, and I like it a lot.

But I need to be able to create FORTRAN-callable routines in assembly language for my target processor (Some form of Pentium).

Can you point me to the right place.

Thanks

Thanks
Title: Re: I am looking for an X86 assembler. Have I found it?
Post by: LarryMc on December 30, 2008, 11:37:14 PM
I don't use Aurora but it is a C like language with OOP capability.  The IDE for Aurora is very similiar to the IDE for EBasic which I use.

As for the ASM I don't know about it in Aurora.

In EBasic asm is inserted with:
Quote
_asm

Begins an inline assembly block

_endasm

Ends an inline assembly block

Paul will be back on tomorrow and will be able to give you a better answer.

Larry
Title: Re: I am looking for an X86 assembler. Have I found it?
Post by: LarryMc on December 30, 2008, 11:40:56 PM
This is a routine from one of the experts that frequent the forums, in Aurora:
sub __lfsr_128(byte *m_bufer),int
{
#asm
mov esi,[ebp+8] ; m_bufer
mov al,[esi+15] ; m_bufer[15]

; keep only bits for XOR
and al,11100001b
; now the parity flag is set if AL contains an even number of 1 bits
; this also gives us XNOR result of masked bits

; shift parity flag (PF; EFLAGS.2) to carry flag (CF; EFLAGS.0)
pushf
shr byte[esp],2
xor eax,eax
popf
; CY = XNOR

; shift the 128 bits
rcl dword [esi   ],1
rcl dword [esi+ 4],1
rcl dword [esi+ 8],1
rcl dword [esi+12],1
#endasm
}
Title: Re: I am looking for an X86 assembler. Have I found it?
Post by: barry on December 31, 2008, 02:31:13 PM
Quote from: PaulDent on December 30, 2008, 11:15:50 PM
I downloaded the demo version of Aurora.

The language it is offering appears to be 'C'

There is a user guide to NASM built in, which I think is an X86 assembler, but the Aurora IDE offers me no clue how to create an assembly language file
and assemble it into a linkable object module.

I am already using COMPAQ visual FORTRAN, which is a great IDE using Microsoft Visual Studio.
It appears Aurora IDE is also a version of Microsoft Visual Studio, and I like it a lot.

But I need to be able to create FORTRAN-callable routines in assembly language for my target processor (Some form of Pentium).

Can you point me to the right place.

I also don't use Aurora although I did play with it when it first came out.  It's modelled after C in a lot of ways but it isn't C at all.  And the IDE isn't much like Visual Studio, in my opinion.

While Aurora does support assembly using Nasm, in my opinion you'd be much better off using Nasm directly.  Or, better yet, Masm, Microsoft's assembler, since your using their compiler.  Both are free and google will find them for you.  You might want to look at http://www.masm32.com to get their version of Masm, which is a large scale assembly Windows programming environment built around Masm and other Microsoft tools.  It's free.  You can use it to develop your object modules for Visual Studio.  It includes a lot of stuff you won't need but it's the only place I know that you can get everything you might need all in one bundle.

If you want to do a little searching you can find Masm by itself, which will probably be easier in the long run.

Thinking back (It's been years since I used Visual Studio) can't you develop the object modules within VS itself?  I used it with C.  Maybe it's different with Fortran.  Or maybe I remember wrong.  I never did a lot with it.  I didn't do much GUI programming.  But I think I remember writing and testing some assembly modules right in VS.

Barry
Title: Re: I am looking for an X86 assembler. Have I found it?
Post by: PaulDent on January 01, 2009, 08:41:10 AM
Thanks, Barry, that was a very helpful reply.

Maybe the demo version of Aurora left out the ability to program in assembler,
as I still can't find it anywhere in the menus.

Paul
Title: Re: I am looking for an X86 assembler. Have I found it?
Post by: Ionic Wind Support Team on January 01, 2009, 10:05:52 AM
#asm in your source code tells the compiler that the instructions to follow are in inline assembler, as in the example posted by Larry.
#endasm switches back to Aurora source.