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