Hello to all of you!
I would really appreciate somebody telling me complete step by step tutorial how to work with MASM (or TASM, but I haven't noticed it's free to download)

I've tried myself MASM and TASM (some Telemark assembly, not Borland), but for some reason it won't work, it reports some errors found, and I don't believe code is problem :(

.model small
.stack
.data
message   db "Hello world, I'm learning Assembly !!!", "$"

.code

main   proc
   mov   ax,seg message
   mov   ds,ax

   mov   ah,09
   lea   dx,message
   int   21h

   mov   ax,4c00h
   int   21h
main   endp
end main

Oh yes, I have Intel Centrino Duo processor, Windows XP HE, if it means something.
As I said, I'm newbie to assembly, so I would really appreciate help.
Thank you

mov ax,0900h
mov dx,offset label_name ; seg label_name will actually 
                                      ;  move a word at the offset
                                      ; represented by label_name, 
                                      ; to load the actual offset it
                                      ; represents use this.
int 021h

The lea (Load Effective Address) instruction, is good to find the resulting effective address
of some of addressing mode, but not particularly useful when using direct addressing mode.

jmp L10_CODE_START
label_dat  ; OFFSET = 103h
db 65,87
L10_CODE_START:
lea ax,[label_dat]  ; AX = 103h
mov ax, offset label_dat ; AX = 103h, does same thing.
mov si,2
lea ax,[label_dat+si]  ; AX = 105h
int 20h

To get yourself started on assembly find yourself a non-commercial assembler,
NWASM, good amount of features, haven't used it myself,
, NGASM good for beginners, includes 7000 line
tutorial.
A link to where NGASM can be found, I have provided in the assembly language
resources thread (my last post).
Some of the other links I have posted there may lead you to a TASM,
tutorial.

Good luck, hope this will get you started.

This article has been dead for over six months. Start a new discussion instead.