计算机的指令集合称为指令系统。一条指令主要包括操作码和操作数。
操作码表示该指令要完成的操作,如传送、加、减、乘、除等。 操作数字段表示操作码所需操作数的来源和操作结果的去向。
寻址方式是规定如何对指令中操作数字段作出解释以找到操作数的方法。8086/8088有以下几种寻址方式:
寄存器寻址方式、立即数寻址方式、存储器寻址方式(直接寻址方式、寄存器间接寻址方式、变址和基址寻址方式、基址变址寻址方式)、串操作寻址方式、I/O端口寻址方式。
1. 寄存器寻址方式
指令所需的操作数在寄存器中,按指令给出的寄存器地址去获得操作数。 在汇编指令中,寄存器地址直接用寄存器名表示,如AX、BX、CL、SI、DS等,这些寄存器可以是8位的,也可以是16位的。 例如:MOV BL,AL 就是将AL(源)中的内容送到BL(目的)中
特点:操作数在CPU内部的寄存器中,不需执行总线周期,执行速度快。
2. 立即数寻址方式
指令所需的操作数直接在指令代码中,随着取指令一起取到BIU的指令队列中。
特点:执行速度快,常用来提供常数。
在汇编指令中,立即数是数值则直接书写,如是字符则加上引号。立即数只能作为源操作数。 若立即数是以A~F开始的十六进制数,则必须在数前面加0,否则立即数被当作符号处理。 例如:MOV CX,1000H(数值作立即数);MOV AL,0AH(以字符开头的十六进制数); MOV AH,'A'(字符作立即数);MOV DX,"AB"