News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Help for the very beginner

Started by Nowhereboy33, September 28, 2013, 04:17:45 AM

Previous topic - Next topic

Nowhereboy33

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) ??

qWord

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!).
MREAL macros - when you need floating point arithmetic while assembling!

dedndave

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

Gunther

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 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

You have to know the facts before you can distort them.

dedndave

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

dedndave

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

Brimar

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

polish translation of Iczelion's 32 bit assembly tutorial:
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/

and great 32 bit video tutorial in polish language from Gynvael Coldwin:
http://www.youtube.com/playlist?list=PL7CA8FE35B665D4DD

Welcom to the forum :t

Nowhereboy33

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: