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 开发者_JAVA技巧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 threei
's)rr
, a two-bit fieldmmm
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.
They're bits in the opcode. The sequence iiirrmmm
makes up the opcode byte.
精彩评论