How does XOR [130][BX][DI], CL
work? (I know what XOR does) I mean how is the effective address of the memory part calculated? Which addressing mode is this?
You wrote [130]
, not 130
. Are you sure that's correct? I don't know whether (and I don't think) that's possible.
"The Art of Assembly Language" calls this "Based Indexed Plus Displacement Addressing Mode".
The default segment in this case is DS
(because you use BX
), which means your instruction is the same as
XOR DS:130[BX][DI], CL
The effective address is calculated by taking the segment address and adding 130
, BX
, and DI
. So it would be (DS*10h)+130+BX+DI
.