Well it depends of what is "A"
In any case if you marks "A" the value will be treated depending of the left operand. simple example
when you write following line ;
inc [eax*4+2] you want to increment the containent of memory situated at eax*4+2 but there is some piece of ambiguity : should the compiler considerate the memory as BYTE, WORD or DOUBLE WORD (8, 16 or 32 bits value) ???
to release this amiguity you should specify in which way you want to consider the memory : so if you want that memory be treated as bytes write :
Hi,
Byte Ptr, Word Ptr -> Assembler directive, telling the
assembler about the size of operand.
For exp, when u assemble an instrn like,
mov ax, data
where "data " is declared in ur program, the assembler
refers its symb0l table and finds the operand size of " data",and hence u need not explicitly specify whether the data fetch is byte size, word size or dword size.
Whereas for an instrn like "mov ax, es:[bx]" , u need to
tell the assembler exactly what type of fetch u wanna
make..Coz, assembler has no idea of what es:[bx] would
b pointing to at run time.
Hope it helps
Regards,
Sarnath.K
Do not rejoice that ur code works.
it might be a special case of an error :-(
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.