News:

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

Opcode documentation abbreviations

Started by MrCodeBlok, April 20, 2011, 08:08:48 PM

Previous topic - Next topic

MrCodeBlok

I have been learning assembly for not that long now, and I have been wondering what the "immed" abbreviation means and what significance it has in the "Intel Opcodes and Mnemnonics" help file
These are my assumptions, so please correct me if I'm wrong:
dest: destination (where the final values end up)
src: the second operand that's not modified
reg: register
mem: memory address
accum: accumulator register (EAX, AX, AH, AL)
immed: immediate? i don't know what it means though, does it mean a constant?

as for the ones that are listed like "immed8" or "reg16," I'm guessing the number after is the bit length?
thanks in advance!

jj2007

immediate is a constant such a 123 or 123456
immed8 means limited to byte values, i.e. 0...255

accum is indeed eax (or ax in 16-bit code)

dedndave

Quotesrc: the second operand that's not modified
source - normally not modified
there are exceptions, like XCHG, where both registers are modified

Quoteimmed: immediate? i don't know what it means though, does it mean a constant?
yes - and one thing JJ forgot to mention...
immediate also means the constant value is in the instruction code stream

Quoteas for the ones that are listed like "immed8" or "reg16," I'm guessing the number after is the bit length?
correct

you may find the first several chapters here very handy
http://www.arl.wustl.edu/~lockwood/class/cs306/books/artofasm/toc.html

MrCodeBlok

thanks to both! dedndave, I've just started reading it now, it's really interesting, thanks!

vanjast

The basic flow is..

Instruction    Destination, Source  =======> Destination = Destination(Instr)Source

If that makes any sense  :green2

hutch--

Just to add to the terminology, in assembler code you have 3 basic units for data,

1. An IMMEDIATE. This is a number in decimal, hex or binary
2. A memory operand. In MASM it can be named or done in a register.  myvar or DWORD PTR [esi] for example
3. a REGISTER, this can be 8 bit (AL), 16 bit (AX) or 32 bit (EAX). In later 64 bit (RAX).
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php