News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

What to do?

Started by benji, January 03, 2008, 11:14:58 AM

Previous topic - Next topic

benji

I'm new to assembly. 
Is there a beginner's level guide?
I'm confused with 16bit and 32bit assembly, which one should i use so i can use it with most system nowadays.
And which assembler should i use?
There's also HLA, and i't diffrerent from any assembly language that i read, so... which one should i use?

I'm really2 confused here, please someone help me.....

Thank you. 

hutch--

benji,

What to do depends on what you know. If you arwe familiar with low level compilers and have seen a bit of assembler then the modern 32 bit assembler is within your reach but unless you have this experience you don't yet know enough to start on a complex language like assembler.

What I would suggest is you learn a low level compiler like C or perhaps a language like Pascal or basuic so you can learn enough to start with assembler later if you see the need.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

ossama

Quote
I'm new to assembly. 
Is there a beginner's level guide?
i suggest you begin with 16 bit assembly,you can get docs using GOOGLE

Quote
which one should i use so i can use it with most system nowadays.
And which assembler should i use?

32bit (and 64 bit too) is most important if you are going to write programs for windows (win 9x,win nt,xp,vista,...) for example. for this you can start with Iczelion tutorials:
http://win32assembly.online.fr/tutorials.html
or download them from here:
http://win32assembly.online.fr/files/icz-tuts.zip

i hope this help you

donkey

Quote from: ossama on January 03, 2008, 09:22:25 PM
Quote
I'm new to assembly. 
Is there a beginner's level guide?
i suggest you begin with 16 bit assembly,you can get docs using GOOGLE

Don't start with 16 bit, 32 bit flat mode is much easier to learn and get you started faster.
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

dsouza123

If you go with assembly, 32 bit is the way to go.
If you download and install MASM32 and examine the source code
for the many example programs ( they have the file extension .asm )
you can get a flavor of assembly code,  all the examples have also
been assembled and linked into runnable programs (executables) so
you can see how much code is needed for various program features.

The following code is a modified version of the example  minimum.asm
just showing the MASM syntax version and storing the zero terminated string data
(text for the messagebox) in the .data section.


      .386
      .model flat, stdcall
      option casemap :none   ; case sensitive

      include \masm32\include\windows.inc
      include \masm32\include\user32.inc
      include \masm32\include\kernel32.inc

      includelib \masm32\lib\user32.lib
      includelib \masm32\lib\kernel32.lib

    .data
      szDlgTitle    db "Minimum MASM",0
      szMsg         db "  --- Assembler Pure and Simple ---  ",0

    .code

start:

    ; --------------------------------------------------------
    ; The following are Windows API calls using MASM "invoke" syntax.
    ;
    ; The first API call creates a MessageBox then waits for a response from the user
    ; (click on OK or press the enter key), the second exits the program (process).
    ; --------------------------------------------------------

    invoke MessageBox,0,ADDR szMsg,ADDR szDlgTitle,MB_OK
    invoke ExitProcess,0

end start

Rainstorm

hi benji, am learning too..here is some of what I found helpfull

http://webster.cs.ucr.edu/Page_TechDocs/MASMDoc/

that's the documentation for the assembler

http://webster.cs.ucr.edu/AoA/index.html
stuff is explained very well there for beginners.... i've read just some of it..but has been helpfull
whenever i've referred to it.. - the 16bit version is helpfull too since it deals with common concepts & you can leave out the parts that are solely applicable to 16-bit assembly. the 32 bit version has its examples oriented towards HLA. - besides that all the stuff is generally applicable I think.

http://website.masm32.com/files/td_win32asm_all.zip

also there are help files in the /masm32/help/ directory & many nice examples.

you can dload the microsoft SDK if possible, which has info on the WinApi functions or refer to it online.

-


benji

Okay, thanks you guys.....


I'll think i will start with 32bit using MASM32

And RAINBOW, maybe we can disscuss our "lessons" together in the future.

Right now i'm reading "The art of assembly language" and also "Windows Assembly Language & Systems Programming"

Thank you,
Benji