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.