March 28, 2024, 10:21:10 AM

News:

Own IWBasic 2.x ? -----> Get your free upgrade to 3.x now.........


I am looking for an X86 assembler. Have I found it?

Started by PaulDent, December 30, 2008, 11:15:50 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

PaulDent

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

LarryMc

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
LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library

LarryMc

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
}
LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library

barry

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

PaulDent

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

Ionic Wind Support Team

#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.
Ionic Wind Support Team