flat assembler
Message board for the users of flat assembler.

Index > Main > FASM or Cpp

Goto page 1, 2  Next
Author
Thread Post new topic Reply to topic
Someone



Joined: 19 May 2008
Posts: 9
Someone
Hello everyone who is around here!
I'm currently thinking about 'my future'. (Programming wise)
Im from VB 2005 Express von M$ and seriously... I start to dislike it. Its has like no features that makes it unique. So I though about learning a new language. But which one? Java...? Never. C#...? Never. I kept watching Tutorials, Guides, Videos, Samples, Codesnippets etc for hours now. But I just cant decide. Right now only 2 languages are left. C++ and FASM. They seem very powerfull, fast, great community etc. So... I cant decide!

Which are the advantages of FASM? Why should I learn it? What are FASM's disadvantages? Why should I pick it before Cpp? Should I even pick it before Cpp? What makes Cpp different to FASM? (But syntax etc.) Please help me. Im ready to invest alot of time.
Post 19 May 2008, 14:07
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
Learn assembler to understand how x86 works. Also learn C before learning C++. C++ is pretty complex and complicated language, and I'd say you need to understand assembly to really understand C++.

Knowing ASM is quite a must-have, but very hard to find job for. C/Asm combination is easier to find good job, espcially if you dig deeper into ASM stuff. With C++ you shouldn't have problems to find job.
Post 19 May 2008, 14:20
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Someone



Joined: 19 May 2008
Posts: 9
Someone
Na. I dislike the idea to work as programmer. Its a hobby for me and should stay like that. Its more like sense. Does it make sense to learn FASM? Why FASM and not another ASM Language? What makes FASM special?
Post 19 May 2008, 14:26
View user's profile Send private message Reply with quote
dap



Joined: 01 Dec 2007
Posts: 61
Location: Belgium
dap
I'd suggest ASM or Python (or another simple and powerful language which would help you learning algorithms).

vid wrote:
Also learn C before learning C++.

This is a bad idea, the two langages are really different and when learning C++ he will have to "unlearn" all the procedural habits he got when learning C.

Someone wrote:
Does it make sense to learn FASM? Why FASM and not another ASM Language? What makes FASM special?

Once you know the x86 ASM language you can quite easily move to another x86 assembler anyway, so just pick one and don't worry about it. To me the main advantage of FASM is that it has very powerful preprocessing habilities. Commercial assemblers like MASM and TASM aren't the best choice because they aren't updated anymore. NASM has a syntax similar to FASM, it's more widespread but it's less powerful. There are also GoASM, HLA, Gas, ...

_________________
(French only) http://dap.developpez.com
Post 19 May 2008, 14:55
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
Quote:
This is a bad idea, the two langages are really different

C++ is multiparadigm, it can be procedural language as well as OOP language. Also, i support "from low level" approach to OOP, as outlined in my (uncompleted) article.

Quote:
and when learning C++ he will have to "unlearn" all the procedural habits he got when learning C.

I'd say you should learn another habits, and learn when to use which. There is no need to forgot old stuff, just to learn new stuff properly, and use each when more applicable.

Quote:
Once you know the x86 ASM language you can quite easily move to another x86 assembler anyway, so just pick one and don't worry about it. To me the main advantage of FASM is that it has very powerful preprocessing habilities. Commercial assemblers like MASM and TASM aren't the best choice because they aren't updated anymore. NASM has a syntax similar to FASM, it's more widespread but it's less powerful. There are also GoASM, HLA, Gas, ...

I'd suggest either FASM, NASM, or YASM, because their syntax is the most logical one. MASM/TASM/GoAsm try to emulate HLL too much and cause lot of confusion and ambiguity. gas has very old easy-to-parse hard-to-write syntax. And HLA syntax... oh well Smile
Post 19 May 2008, 15:00
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
rCX



Joined: 29 Jul 2007
Posts: 166
Location: Maryland, USA
rCX
Quote:

Does it make sense to learn FASM?

yes Wink

Quote:

Why FASM and not another ASM Language? What makes FASM special?


There are several free and open source assemblers, including FASM, NASM and YASM. NASM is more likely to be used with a high level language, while FASM is more likely to be used in to make programs completely in asm. YASM is a fairly new rewrite of NASM.

I converted from NASM to FASM because of it's active community. I can't speak for MASM or TASM because I have not tried them yet.

Although this is old it still has useful information: http://webster.cs.ucr.edu/AsmTools/WhichAsm.html
Post 19 May 2008, 15:18
View user's profile Send private message Reply with quote
Someone



Joined: 19 May 2008
Posts: 9
Someone
I guess Ill stick to FASM. You seem to be very happy with your decision. Lets say I want to code an MP3 player. By just selecting a file and it will play it. Is that very hard with FASM? Cus in VB it was easy as hell. And which tutorial / way to learn would you suggest?
Post 19 May 2008, 15:18
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4242
Location: 2018
edfed
Quote:

Does it make sense to learn FASM?

yes


and very yes as the community have a serious amount of code and arcticles now
Quote:

Why FASM and not another ASM Language? What makes FASM special?


the syntax.
the simplicity.
the asm orientation.

func op1, op2
fasm input file output file

that's all.

Quote:
fasm or cpp?


fasm, because cpp and c are too much used by too much coders, and if you want a place were to be original and have a serious value, code in (f)asm.

less than 1% of coders are assembly experts, then, assembly coders are rare, then, expensive...
Post 19 May 2008, 15:26
View user's profile Send private message Visit poster's website Reply with quote
asmhack



Joined: 01 Feb 2008
Posts: 431
asmhack
Someone wrote:
I guess Ill stick to FASM. You seem to be very happy with your decision. Lets say I want to code an MP3 player. By just selecting a file and it will play it. Is that very hard with FASM? Cus in VB it was easy as hell. And which tutorial / way to learn would you suggest?


stick with fasm, at the begining it will be a little hard but after it will be fine and enjoing Wink
as for the second question, in vb it is hard as hell to make a mp3 player (decoder, apu) unless you just call a library that will play.the.file.for.you
in asm you can do that also as easy as hell using win api calls or other libraries
Post 19 May 2008, 15:41
View user's profile Send private message Reply with quote
Someone



Joined: 19 May 2008
Posts: 9
Someone
Oh sorry. Yeah your right. I meant that with my question. DLL / WinApi usage. So its not that hard? Any tutorial / guide suggestion or how to start?
Post 19 May 2008, 15:45
View user's profile Send private message Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4633
Location: Argentina
LocoDelAssembly
Post the part of the Very Bullshit, err, sorry, the Visual BASIC code that plays the file so we can see which API it could be using.

[edit]As for tutorials on API use, check the examples inside the fasm Windows package and http://flatassembler.net/docs.php?article=win32 . And if possible check the manual of mandatory read of fasm to get familiar with it Razz [/edit]
Post 19 May 2008, 15:55
View user's profile Send private message Reply with quote
Someone



Joined: 19 May 2008
Posts: 9
Someone
Nothing agains BASIC pls. Its a nice language for everyone whos interested in coding windowed applications as primari.

Here's the very easy way by using the Windows Media Player Control:

http://msdn.microsoft.com/de-de/library/bb979468.aspx


//Even though its mainly used to click your application together very fast withouth knowing whats happening. Thats why I would like to migrate to something lower. Like ASM or C++.
Post 19 May 2008, 17:51
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4242
Location: 2018
edfed
there is still a very good program that uses MP3 playback API on this board.

http://board.flatassembler.net/topic.php?t=5086

TO mods:

one very good thing will be to put it in example page.

or is it possible for me to make a topic for all achieved and serious projects made with fasm?

posting the attachments or posting the link to the thread?
Post 19 May 2008, 17:58
View user's profile Send private message Visit poster's website Reply with quote
asmhack



Joined: 01 Feb 2008
Posts: 431
asmhack
Someone wrote:
Oh sorry. Yeah your right. I meant that with my question. DLL / WinApi usage. So its not that hard? Any tutorial / guide suggestion or how to start?


well don't be scared of assembly language, it's not so hard at all..
you can call libraries very easy like in vb for example:
Code:
push 0
push address_of_string_1
push address_of_string_2
push 0
call [MessageBoxA]

;or the easy way with macro:

invoke MessageBoxA,0,push address_of_string_1,push address_of_string_2,0
    


the return is always in the eax register
as i say the best way to learn is the practice.. after that you can look at examples and read some documentations
Post 19 May 2008, 21:05
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
absolutely no need to be scared... things will be *much* more scary if you try to learn C++ without understanding assembly Wink
Post 19 May 2008, 21:15
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
ic2



Joined: 19 Jan 2008
Posts: 75
ic2
Don't mean to be so dramatic but to Someone here is my 2 bits and I don't know any other way to speak ... I am new to FASM and I came from MASM. Never got deep like I should be by now. Anyway, I learned most of every basic thing by playing with examples. Breaking them down and building them back up while playing attention to everything i did... asking questions and receiving responses no matter how stupid my question was. People will help. So don't get mad by the way they respond. They think you already know most basic things. If not just let him know or try again.

Now I am into FASM. And I say, it is wonderful because you have source and can go deeper and deeper on your own as you learn. Two people I know of came from being experts in MASM has now been with FASM for years and they love it ... I MEAN TRUE MASM LOVERS EXPERTS,KINGSssssssssss.

Most people think MS$ way is the only way. It is not. Most of their products is design to hide stuff from the programmer. ASM people taught me to be no fool. I say first learn ASM (Masm32 and all of FASM is a must)

Now I'm in school and force to learn some kind of C with-in the next two years ... Hell, I plan to go Java if I got to waste my time. Thank to vid link it will not be a waste in my mind while in class...

Everything I see I'll think vid OOP's in pure assembler, FOREVER. And Thank GOD or who ever is above for Tomasz Grysztar. He did us all a favor and still at it ... This is no play toy.

Please don't stop your continuance based on feedback vid. People can't see the forest for the trees overnight. A thread like that lives forever.

PLEASEeeee...
Post 21 May 2008, 23:28
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid
Thanks for kind words... no need to over-drama it though Wink

Also, that article isn't the best way for learning assembly. It's meant to learn OOP *after* you know ASM (or C).
Post 21 May 2008, 23:42
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
ic2



Joined: 19 Jan 2008
Posts: 75
ic2
I give myself a C to a B- in basic understanding of assembler. If I study your OOP assembler style would that give me an edge when I be force to take (C++) ... but in Java which I read that it is the modern day (most used) C++ style.

If the answer is yes than I will make an easy A after understanding OPP in FASM during my first summer vacation for practice to generale a better I deal of what's really happening even in C++ or Java. I must have an A. I'm going into Information Security Technology and I want to be far ahead of the game. I don't know nothing but assembler and want to think assembler in every thing I do and if it's not possible I refuse to waste my time with it and search for another career that I can apply this kind knowledge to.

Anyway, I think I am on track and your pages will be a wonderful place to start. I just give credit where credit is due and let you know we do care. Your pages got right to the point and I think I see the light already. C++ Text Books would never tell me that (MS got to sell a product) and ff so it be years latter.
Post 22 May 2008, 02:13
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo
Someone wrote:
Hello everyone who is around here!
I'm currently thinking about 'my future'. (Programming wise)
Im from VB 2005 Express von M$ and seriously... I start to dislike it. Its has like no features that makes it unique. So I though about learning a new language. ... But I just cant decide. Right now only 2 languages are left. C++ and FASM.


If you're familiar with BASIC but want more power, try FreeBASIC. It's multi-OS (DOS, Win32, Linux, etc.), inline asm, plus you can use FASM to write external modules and link 'em to your main project. It's very powerful but nice forum and FBHELP is quite helpful too. You can even link C++ stuff to it if you want (although even more FB-native OOP features are coming soon). Wink
Post 24 May 2008, 21:06
View user's profile Send private message Visit poster's website Reply with quote
Someone



Joined: 19 May 2008
Posts: 9
Someone
Thank you all! Smile I just started reading some theorie about ASM.
Post 25 May 2008, 14:38
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.

Website powered by rwasa.