tags:

views:

46

answers:

2

I am reading the book The Art of Assembly Language. I came across this paragraph.

 To determine a particular instruction’s opcode, you need only select the
 appropriate bits for the iii, rr, and mmm fields. For example, to encode the 
mov ax, bx instruction you would select iii=110 (mov reg, reg), rr=00 (ax), 
and mmm=001 (bx). This produces the one-byte instruction 11000001 or 0C0h.

Here I can't understand what is iii, rr and mmm? Can anybody please explain? Thanks in advance.

A: 

They're bits in the opcode. The sequence iiirrmmm makes up the opcode byte.

Ignacio Vazquez-Abrams
+2  A: 

"iii" represents a three-bit field (because there are three i's), "rr", a two-bit field and "mmm" another three-bit field. The reason letters are used like this is so that when you see "iiirrmm", you know which bits correspond to which fields in the opcode.

siride
thanks. it helped.