instruction length intel 8086

adam2009's Avatar, Join Date: Jul 2009
Light Poster

I have got 2 questions that made me confused (attached).

how can i know what's the length of a given instruction?
(is it anywhere to be found on the net?)

another q:
is pointer in intel 8086 always 4 bytes?
or is it a word (2 bytes)

Attached Images
File Type: jpg אורך.jpg (51.4 KB, 4 views)
xpi0t0s's Avatar, Join Date: Aug 2004
The length depends on the instruction and you can find that info in the processor data sheet.

I think pointers are 2 bytes; this goes back a long way and again you can find the definitive answer in the data sheet. x86 uses segment offset pointers (two 16-bit pointers) to extend the address space beyond 64K, and the segment provides the upper two bytes and the offset the lower two bytes, although there is some overlap, so 0x1234:0x0005 points to the same place as 0x1200:0x0345 (i.e. 0x12345). Exactly which x86 family member implements what overlap is again something you should find in the data sheet.