工业微型计算机指令用途及功能,工业用微型计算机第二章.doc

工业用微型计算机第二章

第二章 学习辅导

指令系统

计算机的指令系统。可以分为六大类: = 1 \* GB3 ①数据传送指令; = 2 \* GB3 ②算术传送指令; = 3 \* GB3 ③逻辑运算和移位指令; = 4 \* GB3 ④串操作指令; = 5 \* GB3 ⑤控制转移指令; = 6 \* GB3 ⑥处理器控制指令。

一、指令格式

指令是以二进制代码形式表示的操作命令,这种二进制代码称为机器码。

寻址方式,通常是指CPU指令中规定的寻找操作数所在地址的方式,8086/8088CPU内部设置了多个有关地址的寄存器,如各种地址指针寄存器以及变址寄存器等,因而使8086/8088的基本寻址方式有以下七种。

二、立即寻址(Immediate Addrssing)

例如:

MOV CL,28H

MOV AX,3189H

三、寄存器寻址(Register Addrssing)

指令中指定某些CPU寄存器存放操作数。上述寄存器可能是通用寄存器(8位或16位)、地址指针或变址寄存器,以及段寄存器。例如:

MOV SS,AX

四、直接寻址(Direct Addrssing)

直接寻址指令在指令的操作码后面直接给出操作数的16位偏移地址。这个偏移地址也称为有效地址EA(Effective Address),它与指令的操作码一起,存放在内存的代码段,也是低8位在前,高8位在后。但是,操作数本身一般存放在内存的数据段。例如:

MOV AX,〔3100H〕

五、变址寻址(Indexed Addressing)

变址寻址指令将规定的变址寄存器的内容加上指令中给出的位移量,得到操作数的有效地址。8086/8088CPU中变址寄存器有两个:源变址寄存器SI和目的变址寄存器DI。位移可以是8位或16位二进制数,一般情况下操作数在内存的数据段,但也允许段超越。

下面是一条变址寻址指令的例子。

MOV BX,〔SI+1003H〕

六、基址寻址(Based Addrssing)

基址与变址相类似,不同之处在于指令中使用基址寄存器BX或基址指针寄存器BP,而不是变址寄存器SI和DI。

需要指出一点,当使用BX寄存器实现基址时,一般情况下操作数是在数据段,即段地址在DS寄存器;而当使用BP时操作数通常在堆栈段,即段地址在SS寄存器中。但是,同样允许段超越。下面两条指令是基址寻址的例子。

MOV SI,DATA〔BX〕

MOV BLOCK〔BP〕,AX

8086/8088的指令系统

一、数据传送指令(Data transfer)

数据传送指令按其功能的不同,可以分为以下四组:

= 1 \* GB3 ①通用数据传送指令; = 2 \* GB3 ②输入/输出指令; = 3 \* GB3 ③目标地址传送指令; = 4 \* GB3 ④标志传送指令。

以下是MOV指令的几个例子:

MOV AX,CS;段寄存器至通用寄存器

MOV AL,125;立即数至寄存器

MOV MEM,15;立即数至存储器,直接寻址

MOV SI,BX;寄存器至寄存器

MOV DS,AX;通用寄存器至段寄存器

MOV 〔BX〕,50H;立即数至存储器,寄存器间址

MOV MEM,AX;寄存器至存储器,直接寻址

MOV MEM,DS;段寄存器至存储器,直接寻址

MOV DISP〔BX〕,CX;寄存器至存储器,基址寻址

MOV AX,DISP〔SI〕;存储器至寄存器,变址寻址

MOV DS,MEM;存储器至段寄存器,直接寻址

MOV AX,DISPBX〕〔SI;存储器至寄存器,基址-变址寻址

PUSH(Push word onto stack)推入操作

POP(Pop word off stacks)弹出操作

指令格式及操作:

PUSH src;(SP) ←(SP)-2,首先,堆栈指针-2送给堆栈指针

((SP)+1:(SP))←(src),再把源操作数(字)推入堆栈中

POP dest;(dest) ←((SP)+1:(SP)),首先,堆栈的内容弹出到目的操作数

(SP) ←(SP)+2,再使堆栈指针加2

这是两条堆栈操作指令,PUSH指令将寄存器或存储器的内容推入堆栈;POP指令将堆栈中的内容弹出到寄存器或存储器,但都是字操作。

PUSH和POP指令的操作数可能有三种情况:

1)寄存器

2)段寄存器

3)存储器

无论那种操作数,其类型必须是字操作数(16位),如果推入或弹出堆栈的寄存器操作数,则应是一个16位寄存器。如果是存储器操作数,是两个地址连续的存储单元。如:

PUSH AX;通用寄存器椎入堆栈

PUSH BP;基址指针寄存器推入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值