News:

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

Main Menu

I've never touched assembly. Where can I start?

Started by Michael, September 06, 2018, 03:05:31 PM

Previous topic - Next topic

Michael

Hello MASM new here. I'm not new to programming, but I'm not too experienced either.
Anyway, I've always joked in class about learning Assembly. But anyway I'm actually interested in learning it because low level programming attracts me a lot, I might even try hex code someday but that's another story.
Anyway, I've never used Assembly and I can't find any of the classic tutorials I'm used to watch like thenewboston's tutorials, and any other channel just doesn't goes deep.
What things should I know before learning assembly? After knowing those things, what can I do to learn about the language?
Thank you very much everyone. Hope y'all having a nice day.

Raistlin

Well the Iczelion tutorials are pretty good - found here: http://win32assembly.programminghorizon.com/tutorials.html

Then you'll need a good development platform- found here : http://www.easycode.cat/English/
OR here : https://github.com/mrfearless/RadASM2

Then you'll need the MASM SDK - but you have probably already found it - www.masm32.com

Then post your code/problems here on the forum - and we'll get you going in no time. :t

PPS: also check out this thread on the forum : http://masm32.com/board/index.php?topic=7228.msg79695#msg79695
Are you pondering what I'm pondering? It's time to take over the world ! - let's use ASSEMBLY...

Michael

Thank you very much dude. Well check ASAP. Have a nice day.

K_F

Something (link downloads)to keep you busy... go through the architectures of the processors - helps with understanding what your code is doing.

https://software.intel.com/en-us/articles/intel-sdm
'Sire, Sire!... the peasants are Revolting !!!'
'Yes, they are.. aren't they....'

P1

Michael, Welcome Aboard on the Fastest Ship in the fleet of program languages.
Quote from: Michael on September 06, 2018, 03:05:31 PMHello MASM new here. I'm not new to programming, but I'm not too experienced either.
Anyway, I've always joked in class about learning Assembly. But anyway I'm actually interested in learning it because low level programming attracts me a lot, I might even try hex code someday but that's another story.
Anyway, I've never used Assembly and I can't find any of the classic tutorials I'm used to watch like thenewboston's tutorials, and any other channel just doesn't goes deep.
What things should I know before learning assembly? After knowing those things, what can I do to learn about the language?
Thank you very much everyone. Hope y'all having a nice day.
The Best Way to view MASM programming is, think of the early C compilers.  They were simply a MASM librarian.  Except you get to do your library work for yourself, or use others libraries.

I program mainly to the WIN API interface and M$ does fairly good at giving technical documentation, I did not say practical documentation(You will Google a lot.).  So I have a collection of calls/invokes to M$ libraries.  In this sense, I use MASM as a high level language.  And I organize code as entries in my and others libraries.  Reuse is fundamental in coding.

Besides Iczelion tutorials, I would go through the examples included with MASM32 developement software, by hutch--, and others programmers before you.

After that, learn to use the rsrc.rc with your code.  It documents your file, and provides security features, via embedded "manifest.xml".  There are some good examples in sample code.

Enjoy the Best of the Best,  Michael

#include "\masm32\include\resource.h"

1 24 "manifest.xml"

10 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "Main.ICO"

// Version stamp for this .EXE

VS_VERSION_INFO      VERSIONINFO
FILEVERSION          1,0,0,0
PRODUCTVERSION       1,0,0,0
FILEFLAGSMASK        VS_FFI_FILEFLAGSMASK
FILEFLAGS            (VS_FF_PRERELEASE | VS_FF_DEBUG)
FILEOS               VOS__WINDOWS32         
FILETYPE             VFT_APP
FILESUBTYPE          VFT2_UNKNOWN
BEGIN
BLOCK "VarFileInfo"
BEGIN
    VALUE "Translation", 0x0409, 1252
END
BLOCK "StringFileInfo"
BEGIN
    BLOCK "040904E4"
    BEGIN
       VALUE "CompanyName",      "CompanyName\0"
       VALUE "FileDescription",  "Workstation Role based GPO for CHC Front.\0"
       VALUE "FileVersion",      "1.0.0.0\0"
       VALUE "InternalName",     "WS_CHC_FRT.EXE\0"
       VALUE "LegalCopyright",   "Copyright © Your Name 2002-2018, All Rights Reserved.\0"
       VALUE "LegalTrademarks",  "None.\0"
       VALUE "OriginalFilename", "WS_CHC_FRT.EXE\0"
       VALUE "ProductName",      "CHC FRONT WORKSTATIONS NETLOGON.\0"
       VALUE "ProductVersion",   "1.0.0.0\0"
       VALUE "Purpose", "Workstation Role based GPO for CHC Front.\0"
    END
END
END