微型计算机的指令执行过程,【微机原理】-指令系统与程序设计

数据传送指令

1.基本传送指令

MOV指令是形式最简单、用得最多的指令,它可以实现CPU内部数据之间的数据传送、寄存器和内存之间的数据传送,还可以把一个立即数送给CPU的寄存器或者内存单元。

(1)目的操作数不允许为立即数;

(2)除源操作数为立即数的情况外,两个操作数中必有一个是寄存器;

(3)不允许在两个内存单元之间或者两个段寄存器之间直接传送数据;

(4)MOV指令不影响标志寄存器中的标志位。

2.堆栈操作指令

堆栈是以先进后出方式工作的存储区。在程序调用和中断处理过程时,分表要保存返回地址和断点地址;在进入子程序和中断处理后,还需要保留通用寄存器的值;子程序返回和中断处理返回时,则要恢复通用寄存器的值,并分别将返回地址或断点地址恢复到指令指针寄存器中。

PUSH是把字压入栈,POP是把字弹出栈。

SP的内容任何时候都指向当前的栈顶。

3.交换指令

MCS-51系统中,只能和累加器A进行字节交换

XCH A,Rn;

算数运算类指令

1、加法指令

(1)普通加法 ADD 目的操作数 源操作数

(2)带进位的加法 ADDC 目的操作数 源操作数

(3)加一指令 INC 操作数;

2、减法指令

在MCS-51系统中,只有带借位的减法指令,没有不带借位的减法指令

在第一次使用SUBB钱,要首先将CY清零。CLR C

(1)借位减法指令 SUBB 目的操作数 源操作数

(2)减1指令 DEC 操作数

3、乘法指令

(1)MUL 无符号乘法指令

MUL AB

本指令将累加器A和寄存器B中两个8位无符号数相乘,16位积的低8位存于A,高8位存于B中,进位标志总是清零。

4、除法指令

(2)DIB AB

被除数存于A中,除数存于B中,相除之后,商存于累加器A,余数存于累加器B中,清零CY和OV标志(只有除数为0,才会置为OV)

5、十进制调整指令(BCD码调整)

在MCS-51系统中,BCD码加法的调整指令为

DA A

逻辑操作类指令

1.逻辑与

ANL 目的操作数, 源操作数

对目的操作数与源操作数按位与运算

2.逻辑或

ORL 目的操作数, 源操作数

对目的操作数与源操作数按位或

3.逻辑疑惑

XRL 目的操作数,源操作数

4.逻辑求反

CPL A;将A诸位求反

CLR A;将A清零

RL A;各位一次左移,并将最高位移动至最低位

RLC A; 带进位的循环左移

RR A;各位依次右移,并将最低位移动至最高位

RRC A;带进位的循环右移指令

程序控制类指令

1.转移指令

(1)无条件转移指令

LJMP addr16;长转移指令

AJMP addr11;短跳转移指令 先将PC内容加2,PC高5位与11位地址addr11拼装成16位绝对地址。

SJMP rel;短跳转指令。

JMP @A + DPTR;间接跳转指令,

(2)条件转移指令

①累加器判零跳转指令

JZ rel;当A全0,则跳转至PC+2+rel

JNZ rel;当A不是全0,则跳转至PC+2+rel

②比较条件转移指令

CJNE 比较值1,比较值2,跳转偏移量

③减一条件转移指令

DJNZ Rn,rel;

2.调用和返回指令

(1)调用指令

①短调用指令

ACALL addr11

②长调用指令

LCALL addr16

(2)返回指令 RET

布尔位操作指令

MCS-51系统在硬件上有一个布尔处理器。

1、位传送指令

MOV C,bit

MOV bit,C

2、位清零以及位置位指令

CLR bit;清零

SETB bit;置位

3、位运算指令

ANL ORL CPL

4、位控制转移指令

(1)以CY内容为条件的转移指令

JC rel

JNC rel

JB bit,rel

JNB bit,rel

JBC bit,rel ;若bit=1;则跳转,且bit置0,否则执行下一指令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值