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
, andmmm
fields. For example, to encode themov ax, bx
instruction you would selectiii=110
(mov reg, reg
),rr=00
(ax
), andmmm=001
(bx
). This produces the one-byte instruction11000001
or0C0h
.
Here I can't understand what is iii
, rr
and mmm
? Can anybody please explain? Thanks in advance.
iii
represents a three-bit field (because there are three i
's)rr
, a two-bit fieldmmm
another three-bit fieldThe reason letters are used like this is so that when you see iiirrmm
, you know which bits correspond to which fields in the opcode.