News:

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

Formal asm Doc

Started by Xor Stance, August 07, 2005, 07:07:24 PM

Previous topic - Next topic

Xor Stance

I got many tuts in spanish so I'm just implementing it on mine.

Operands

The operands can be instantly, registers, memory or ports.
An instantly operand its a data that comes from the source
from the program for example, to charge the AX register with
20C5h:

MOV AX,20C5h     ;it's an inmediate operand.

MOV BX,[0400h]   ;it's a memory position *

MOV DX,[BX]      ;it's a memory position *

* We're wanting that BX goes to the 0400h position and
the other one the DX register it's in BX position.

; it's a commentary to describe our program through each
instruction.

MOV BX,[0400h]   ;it's a memory position *

This type of reference from memory its called DIRECT
OPERAND.

MOV DX,[BX]      ;it's a memory position *

This one we're referring that the OFFSET in a SEGMENT.
OFFSET: it's a location for a SEGMENT.
SEGMENT: it's an area that we work on from the CPU.
It is called INDIRECT OPERAND.

Modes of Directioning

Indicated the form in what the processor calculates the
direction where it's going to search for a data origin
or it will record the result in the destiny. Exist 8 types
of directioning in the 80x86 families.

Implicit: PUSHA

Register: MOV AL,CH

Inmediately: MOV DL,5Fh

Direct: MOV BX,[0400h]

Indirect-Register: MOV AX,[BX]

Relative a base: direction = base + constant

MOV CX,[BX+6]

Direct Index: direction = direct + index

MOV DH,[0400h+SI]

Base Index: direction = direct + base + index

MOV AL,[0400h+BX+SI]


I wonder if this is right, any more technical vocabulary which I don't know.