PDA

Click to See Complete Forum and Search --> : Which assembly compiler do you use?


Apr 24th, 2000, 06:20 AM
No, this is not some stupid childish message saying "I'm the first loser to post here!!!"

Which version of assembly do you guys use, and which do you think is the best. Currently, I'm using MASM (Microsoft's version.)

Sam Finch
Apr 24th, 2000, 10:06 AM
Oy, I was the first looser to post a messagage on the C++ forum, I freely admit to being a geek but being a looser implies that I loose things and I don't, I don't even enter them, I'm too lazy to loose.

Staying on the compiler Topic I want to put assembler into VB, I can probable do thsi by writing a function in assembler with four long integer in parameters to a Byte array and run it using the CallWindowProc API, I don't know if that makes sense but I wan't to do It anyway. I havn't got round to learning assembler yet so I'm not sure If that's possible, Do I need a compiler to doit or can I use constants and write directly to the byte array.

are there any good places to learn windows assembler by the way?

V(ery) Basic
Apr 24th, 2000, 11:42 PM
Because he spelt losers loosers.

Tihihihihi.

:D

Bye!

[Edited by V(ery) Basic on 04-25-2000 at 06:49 AM]

Sam Finch
Apr 25th, 2000, 02:54 AM
shut it

Apr 25th, 2000, 03:50 AM
I have a HUGE tutorial for newbies and I will post it up for download as soon as I can find it. I know it's on my Hard drive but I can't find it right now.

Sam Finch
Apr 25th, 2000, 06:58 AM
I want, I want.

Apr 27th, 2000, 01:12 AM
So that means we can port Assembly stuff over to VB? that's cool, but need to know how to do it, there's a program, called "Debug.exe" I did a mouse routine in it once for QB... I forgot how to use it now, but It's cool... so how do we use ASM in VB?

Sam Finch
Apr 27th, 2000, 01:36 AM
It's more of an I think you can, you need to give it a set interface so you can call it as a window procedure without it crashing hideously.

I havn't learnt asm yet

write your function to a byte array, you need to do it in Hex or binary, you can't use the mnomics unless you declare a load of constants.

make sure your function has 4 long integers in and returns 1, the integers can be pointers to large amounts of data If you like.

then to run your byte array using the callwindowproc API with varptr(bytProgram(0)) as your first parameter and the four longs as your others.

I'd assume this will work, it's possible to copy a vb procedure into a byte array using copymemory and Addressof and that will run.

asmodia
Apr 27th, 2000, 07:40 PM
So is Assembly still used in the workplace?

Sorry slack 16 year-old - know's nothing

Sam Finch
Apr 27th, 2000, 08:52 PM
I wanted to use it to compile code at runtime so as to create a fast maths parser. (So the user can type an equation into a textbox and have it evaluated) but it looks like Java is the thing to use, I just don't have a java compiler.

I still want to learn it though. It's also used for programming microchips to put in any king of machine (Toasters, Waching machines Etc. but that's a different type of assembly.

KnightM
Apr 28th, 2000, 03:47 AM
Asmodia - Assembly is used in many things. Because of assembly being direct machine code, it is used for many 3D-Games because other forms of code don't have enough speed to process such data at such a high rate..

-KnightM

toontje
May 10th, 2000, 08:30 PM
To use assembly in Windows defeats the whole purpose of working with a operating system. In the first place you have to be a master hacker if you want to run even the simplest assembly program in the Protect Mode environment of windows. That is because of all the overhead and calls to the operating system that it would be impossible to get anything done.
Second: If , and if you manage to get a program running, chances are that it will only run on your computer.
Even Windows is written entirely in C (maybe with a few assembly modules).
I have programmed assembly intensivly in the past under the old Atari, Comodore, Amiga, 80486 and the old pentuims and DSP's. We did assembly for the same reason you want to learn it now: Performance! But believe, the performance/price ratio of hardware outweight any considaration to go back to assembly. Just to write some simple routines, you'll be typing the code all they long without an end in sight while in C++ or visual basic you'll be ready in a minute. Besides, you have to trust you're compiler that it will build the fastest assembly code for you.

asmodia
May 11th, 2000, 10:12 PM
forget about what? I think I'll be sticking to C++ and VB then. I did wonder about programming in a language that wasn't built or made for Windows, but surely if it is a lower-level language than C, then you could get around the windows security very easily couldn't you?

Anyway, I'm sticking to good ol' VB, I'll leave Assembly for the pro's!

May 12th, 2000, 06:25 AM
Assembly is pretty hard. I have a sample Program on how to create an Application. It takes MANY lines of code.

SShell
May 16th, 2000, 02:02 AM
Megatron, I'd like to see that huge tutorial you talked about awhile back. I'm just beginning to learn Assembly. Thanks.

SShell@ndfc.com

May 17th, 2000, 04:43 AM
Sorry :( As i explained in the Chit Chat fourm, I do not have it on my harddisk. I thought I did before but I must have deleted it.

May 17th, 2000, 04:46 AM
Here! I just found a link that Sam had given me. It supposed to have been a book online for Beta testing or something and I guess they forgot to take it off.

http://burks.bton.ac.uk/burks/language/asm/artofasm/artof001.htm

MrShickadance
May 18th, 2000, 10:49 AM
ASM is hard? No, it just takes a while to make a program that is useful. ASM is sweet for making high speed/small apps. Drivers and 3D apps use lots of ASM.. if not inline ASM in C/C++. It's also great for making high speed emulated CPU cores. :)

catocom
Jul 1st, 2000, 02:39 AM
I've been trying to learn it for the past 5 years.
at best i'm still just mediocre.

But if it were not for ASM where would windows be?
It seems to me alot of the DLL files have alot of
rutines in them that are asm.

I started by compiling with C++, but change to
QB4.5 than 7.1, bacause I like the language alot
better.

I,m not giving up on ASM, because it makes me feel
I'm talking directly to the CPU one on one.
And as was said before it does run very fast.

oetje
Jul 25th, 2000, 12:21 PM
Originally posted by WildGhost
So that means we can port Assembly stuff over to VB? that's cool, but need to know how to do it, there's a program, called "Debug.exe" I did a mouse routine in it once for QB... I forgot how to use it now, but It's cool... so how do we use ASM in VB?

You can write a dll in asm and compile it with the free Netwide Assembler (NASM). Then you can call the dll from a vb program. Because you have direct memory access in ASM, you can write graphics manipulation routines perfectly in ASM an call the dll from VB.

rino_2
Jul 26th, 2000, 06:57 PM
Hi All,

I've been hearing a lot about Masm but I don't own it so I can't judge it for myself. Could somebody please give me a direct download link to the zip? Thanks!

Jul 27th, 2000, 07:02 PM
I can send it to you if you give me your E-mail.

rino_2
Jul 28th, 2000, 02:17 PM
Thanks Megatron,

My Email is rino_2@yahoo.com

parksie
Aug 6th, 2000, 02:33 PM
Could you send it to me, too? I thought I'd better finish starting to learn. I read through that 'Art of Assembly' thing, and my dad had a primer book on Assembly from ages ago. I just don't have an assembler...

PS: Those hypercubes are still doing my brain in!

Paul282
Aug 10th, 2000, 11:41 PM
Hey guys,

I've been looking at ASM for a couple of months and just got a great book from amazon.com with the masm compiler etc. I don't know much about it yet but there is one thing I came across on the net that may interest you.

http://www.pbq.com.au/home/hutch/masm.htm

It's MASM32, it has windows inc for api calls, and a new "Invoke" macro so you can call a funtion witout all that push value to register in reverse order stuff.

There are heaps of samples there of windows apps, most fairly simple but some are like notepad with toolbars and menus etc. they compile to about 5k exe's and stand alone.

after seeing the software prompted me to buy the book, I can read the api code but my assembly skills are still quite poor.

I think knowing VB and Assembly would be very complementry bacause they are at opposite ends of the programming spectrum. Why bother with C++, we like VB because it's so productive for app design, but at times when we need lots of speed and tiny exes... why not go the whole hog? ... to asm

Aug 11th, 2000, 12:02 PM
Rino_2 and Parksie: I just checked my hardisk and MASM is 4MB (I only have a 56K modem). As of right now, I cannot send it because I'm downloading a 128MB file and want to get it done and out of the way before I do any more transferring. Give me about a couple days and I'll send it.

Regards

rino_2
Aug 11th, 2000, 02:01 PM
Thanks Megatron

parksie
Aug 11th, 2000, 06:24 PM
Good on you Megatron. I suppose it's things like this that distinguish the Gurus from us members ;).

V(ery) Basic
Oct 26th, 2000, 12:49 PM
Could I get it too, Megatron?

camillo@muirhouses.screaming.net


I'm half way through AoA. I've also destroyed an entire Amazonian rainforest for the paper. Sorry.

Xtravar
Oct 26th, 2000, 10:54 PM
the best way to learn assembly is to do some inline in C++ with the art of assembly link above.
Once you get the hang of it, it's pretty simple, and enjoyable, and you'll notice that compilers add a LOT of un-needed crap. For example, I watched the diasassembly window in VC++ and noticed it moved a register to a variable and back, and plenty of unrequired re-loading of registers. Comparing ASM to VC++ is like comparing hand-written html to WYSIWYG generated html.

I wrote a routine in VC++, and then wrote it in inline assembly in VC++ and compared the results. The asm function was over 10x faster.
Now think if that same function were written in VB, or Java. The asm function would be hundreds of times faster and work on all 32-bit x86 computers. x86 isn't going anywhere anytime soon, and when it does, its replacement will most likely use similar op codes that you can figure out quickly. There will always be a need for people to create compilers, hardware interfaces, etc.

Some people are just born to be speed freaks. :) I can never look at C++ code the same way again, and VB just makes me want to throw up.

Dec 23rd, 2000, 03:08 PM
As an Assembly programmer, I have found a LOT of useful information on the internet about it over the past 5 years. One thing that I have seen is this.. It's not for those who can't understand math.

With that said and done, if you can figure out math, you can understand assembly. EVEN IF YOU HAVE FAILED TO UNDERSTAND IT IN THE PAST! There are 3 MAIN Assemblers out there. TASM, MASM, and NASM. I have ALL of them and use them all for various things.

MASM - You can get this free from Microcrap. ;) I use it mainly for Windows programs. That's all. 32-Bit compiler.

TASM - This one is for sale from Borland. It's also in there C++ Builder version as an added feature. I use this also ONLY for Windows programs. 16 and 32 Bit compilers.

NASM - Ahh.. (in my opinion) it's the BEST. I use it for ALL of my DOS and Windows stuff. It's free too. :) ALSO, since I am making my own OS, this little GEM has come in handy to compile BOTH my 16 and 32 Bit Operating Systems.

Now.. as far as the Language goes, it's not as hard as you think. Its actually quite simple. However, if you cannot understand MATH, then you definately cannot get this! Assembly is as close to Machine language you can get. It's NOT machine language. Do NOT get that confused. Machine language is the Nibbles, Bits, Bytes, Words, and Double Words known as Binary Language. If you wrote out a whole program in Binarry, it would take you forever, but NOT impossible. Assembly was created to speed that up.

If you want to know more, then just ICQ me. (38095036) I am looking for eager assemblers for some projects I have.

Why make things in assembler you ask? Well, it's not good to program in ASM for games. That's why C/C++ was created. However, for down and dirty Virii, Virri detectors, Drivers for the different media cards (like Video), and just plain creating a DOS BOOTSTRAP, that's why you need assembly. It's small and doesn't need a lot of power or space on the hard drive.

I do not recomend creating a HUGE program in ASM. BUT if you did, you definately will be recognized as one of the greats!

Are people (companies) looking for ASM programmers? No.. No need to since C/C++/VB is still here. Again, I repeat, ASM is mainly used for small applications or drivers nowdays.

Ok, some of you are probably sitting wondering why I keep saying that you have to understand MATH. It's simple. Math as in calculus, or triginomentry etc. Not just simple adding and subtracting. I ACED math in school. That's why ASM is soo easy to understand for me. However, some of you may not have been as fortunate. MATH is it kids, LEARN IT WELL!

Well, I hope this helps. :)

ßädbö¥
Aug 2nd, 2003, 06:58 AM
Originally posted by
I can send it to you if you give me your E-mail.

i also want the MASM compliler and all the relative files to run a programme made in ASM... I m new 2 Assembly .... i just start... i dont know anything about it... plz plz plz plz help me... and plz send me the MASM ( is MASM best ? or there is another 1 ? ) plz help me

thnx

Darkwraith
Aug 3rd, 2003, 04:58 PM
NASM is pretty good too.

ßädbö¥
Aug 4th, 2003, 03:35 AM
Can any 1 send me Nasm and all related files like linter etc.... ? thnx

ßädbö¥
Aug 4th, 2003, 03:35 AM
Can any 1 send me Nasm and all related files like linter etc.... ? thnx

Darkwraith
Aug 4th, 2003, 02:55 PM
http://www.vbforums.com/announcement.php?s=&forumid=17

ßädbö¥
Aug 5th, 2003, 12:34 AM
Thnx Darkwraith ..... :)

CornedBee
Aug 5th, 2003, 02:39 AM
Holy S***! Reviving the oldest thread in the assembly forum?

Badboy, do you really expect someone who is not even in the member database anymore to send you MASM?

Darkwraith
Aug 5th, 2003, 03:23 PM
Holy S***! Reviving the oldest thread in the assembly forum?

And I can't take credit for this one either! :D