arm微处理器指令系统
For every instruction that is executed in the 8086 microprocessor, an instruction format is available that is the binary representation of that instruction.
对于在8086微处理器中执行的每条指令,都有一种指令格式 ,该格式是该指令的二进制表示形式。
This instruction format can be coded from 1 to 6 bytes depending upon the addressing modes used for instructions.
根据指令的寻址方式,该指令格式可以从1到6字节编码。
The general Instruction format that most of the instructions of the 8086 microprocessor follow is:
8086微处理器的大多数指令遵循的通用指令格式为:
The Opcode stands for Operation Code. Every Instruction has a unique 6-bit opcode. For example, the opcode for MOV is 100010.
操作码代表操作码。 每个指令都有一个唯一的6位操作码。 例如对于MOV的操作码是100010。
D stands for direction
D代表方向
If
如果
D=0, then the direction is from the register
D = 0 ,则方向从寄存器开始
If
如果
D=1, then the direction is to the register
D = 1 ,则方向是到寄存器
W stands for word
W代表单词
If
如果
W=0, then only a byte is being transferred, i.e. 8 bits
W = 0 ,则仅传输一个字节,即8位
If
如果
W=1, them a whole word is being transferred, i.e. 16 bits
W = 1 ,它们正在传输整个字,即16位
The MOD and R/M together is calculated based upon the addressing mode and register being used in it. This is calculated as follows:
MOD和R / M一起基于寻址模式和其中使用的寄存器进行计算。 计算方法如下:
R/M 0 0
(Memory Mode with no displacement)0 1
(Memory mode with 8 bit displacement)1 0
(Memory Mode with 16 bit displacement)1 1
(Register Mode)000 [BX] + [SI] [BX] + [SI] + d8 [BX] + [SI] + d16 AL AX 001 [BX] + [DI] [BX] + [DI] + d8 [BX] + [DI] + d16 CL CX 010 [BP] + [SI] [BP] + [SI] + d8 [BP] + [SI] + d16 DL DX 011 [BP] + [DI] [BP] + [DI] + d8 [BP] + [DI] + d16 BL BX 100 [SI] [SI] + d8 [SI] + d16 AH SP 101 [DI] [DI] + d8 [DI] + d16 CH BP 110 d16 (direct) [BP] + d8 [BP] + d16 DH SI 111 [BX] [BX] + d8 [BX] + d16 BH DI R M 0 0
(无位移记忆模式)0 1
(具有8位位移的存储模式)1 0
(16位位移的存储模式)1 1
(注册模式)000 [BX] + [SI] [BX] + [SI] + d8 [BX] + [SI] + d16 艾克斯 001 [BX] + [DI] [BX] + [DI] + d8 [BX] + [DI] + d16 CL CX 010 [BP] + [SI] [BP] + [SI] + d8 [BP] + [SI] + d16 DL DX 011 [BP] + [DI] [BP] + [DI] + d8 [BP] + [DI] + d16 BL BX 100 [SI] [SI] + d8 [SI] + d16 AH SP 101 [DI] [DI] + d8 [DI] + d16 血压 110 d16(直接) [BP] + d8 [BP] + d16 卫生署 111 [BX] [BX] + d8 [BX] + d16 BH DI REG stands for register selected. It is a 3-bit code which is calculated as follows:
REG代表所选的寄存器。 它是一个3位代码,其计算如下:
REG Code Register Selected 0 0 0 AL AX 0 0 1 CL CX 0 1 0 DL DX 0 1 1 BL BX 1 0 0 AH SP 1 0 1 CH BP 1 1 0 DH SI 1 1 1 BH DI REG码 注册所选 0 0 0 艾克斯 0 0 1 CL CX 0 1 0 DL DX 0 1 1 BL BX 1 0 0 AH SP 1 0 1 血压 1 1 0 卫生署 1 1 1 BH DI The low order displacement and high order displacement are optional and the instruction format contains them only if there exists any displacement in the instruction. If the displacement is of 8 bits, then only the cell of low order displacement infilled and if the displacement is of 16 bits, then both the cells od low order and high order are filled, with the exact bits that the displacement number represents.
低位位移和高位位移是可选的,并且指令格式仅在指令中存在位移时才包含它们。 如果位移为8位,则仅填充低阶位移的单元,如果位移为16位,则低位和高阶单元均被填充,并用位移号表示的确切位。
翻译自: https://www.includehelp.com/embedded-system/instruction-format-in-8086-microprocessor.aspx
arm微处理器指令系统