Welcome,
I am Jakub and I am 18 years old. I also study at Heriot Watt University in Scotland, which is not my homeland - I come from Poland. Please forgive me all spelling mistakes and being unclear as I am hardly a year in foreign, English country. As I am studying Electronics&Electrics Engineering I would like to learn to use Assembler programming language x64.
Problem is - I do not have idea about programming at all. I do know about computers (as much as decent gamer should know), but nothing on programming itself. I wanted to ask You, MASM forum users to help me. I need basics guides from te very beginning including how to install the environments I work with.
I would like to stick to MASM and Visual Studio 2010 ( as far as I know it allows to use it). I am just overwhelmed by the ammount of information about Assembler itself. I also cannot find any newer guides for beginners - only outdated ones. It also happens I am using win 8, which does not support all 16 bit instructions ? I struggled a lot to follow an guide as always some errors were popping out. I've already tried FASM (enjoyed most), TASM and NASM (couldn't work it out straight from package, so I moved on) and finally MASM seems a choice. But I already know I will need help with that. So could You please post any links to actual guides on Assembler language in MASM (Visual Studio) ??
MASM and x86-64 ... a hard choice for an absolute beginner - you might first get into programming by learning a high level programming language like C (I would suggest you to ask your classmates or docent what language to learn first!).
it is a tough choice - lol
but, i would suggest 32-bit assembler
much of what you learn will apply to 64-bit
still, assembler is not the best place to start programming
although - being as you are a hardware guy, i can understand wanting to start there
the truth is, it's where i started programming for the same reason
Hi Jakub,
the path you've chosen isn't easy. Dave and qword did write about the difficulties. If you really want to learn to program in 64 bit assembly language, you could try to catch a copy of Ray Seyfarth's (http://rayseyfarth.com/asm/) book. But it's for the Linux operating system and he uses YASM, a free assembler (NASM will also do the job).
I think the better way is, to go with Dave's proposal.
Last but not least: Welcome to the forum.
Gunther
some find Iczelion's tutorial helpful
i also found Hutch's ProStart helpful
but, if you install the masm32 package, you can browse through the examples
pick one that interests you and tear into it
understanding WndProc and windows messages is a good place to start
http://msdn.microsoft.com/en-us/library/windows/desktop/ms632586%28v=vs.85%29.aspx (http://msdn.microsoft.com/en-us/library/windows/desktop/ms632586%28v=vs.85%29.aspx)
here is a very simple window
be sure to have a look at the Notes.txt file :t
it will get you started
along the way, you will also learn about building apps, RC files, and few other odds and ends
there is a lot to take in for a beginner
masm syntax, intel processors, windows API functions, import libraries - the list goes on and on
the best way to learn is to roll up your sleeves and dig in - lol
once you get comfortable with all that (which is a lot),
you can go on to learn about different types of windows controls, subclassing, and painting/drawing, etc
Hi Jakub,
I'm also from Poland. There is many tuts for 32 bit assembly, but not much for 64 bit. I can recommend you one very good video tut for x64 assembly with Visual Studio 2010 in english:
http://www.youtube.com/user/WhatsACreel (http://www.youtube.com/user/WhatsACreel)
polish translation of Iczelion's 32 bit assembly tutorial:
http://edu.i-lo.tarnow.pl/inf/prg/002_winasm/index.php (http://edu.i-lo.tarnow.pl/inf/prg/002_winasm/index.php)
also 32 bit good polish tutorial from Bogdan Drozdowski(FASM, TASM, NASM)
http://rudy.mif.pg.gda.pl/~bogdro/ (http://rudy.mif.pg.gda.pl/~bogdro/)
and great 32 bit video tutorial in polish language from Gynvael Coldwin:
http://www.youtube.com/playlist?list=PL7CA8FE35B665D4DD (http://www.youtube.com/playlist?list=PL7CA8FE35B665D4DD)
Welcom to the forum :t
Hmmmmm......
First, thanks a lot for Your feedback guys :t I think first step would be to install virtual machine with Linux and learn how to use it :) Or even install Linux on disk. I am quite determined to start with Assembler, however if it doesn't work - C will do well. As it will be studied in my course at Heriot Watt. So, can I give a try an inbuild MASM32 in Visual Studio? Also is a better way to learn C is to follow or examples and lesson or focus on writing my own application and collecting data to do that ? Thanks You again, a lot of help from You all, especially Dave! And also if anybody else would have any good 32bit/64bit Assembler guides for people, that are new into all of that, please post them here :icon14: