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?
Asked
Active
Viewed 185 times
0

Asnira
- 313
- 1
- 4
- 9
-
2Is this what your disassembler shows? Can you please post the opcode in hex? – Jens Jun 02 '15 at 05:35
1 Answers
3
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
.

Jake
- 154
- 9
-
It is not 130h, It`s 130 in decimal, so would it be (DS*10h)+82h+BX+DI? – Asnira Jun 02 '15 at 05:43