微机原理-04-指令系统
#指令系统
指令格式
指 令 通 常 由 指 令 操 作 码 和 指 令 操 作 数 两 部 分 组 成
指令描述符号
- A:表示累加器A,而ACC则表示累加器A的地址。
- Rn(n = 0~7):当前选中的工作寄存器组中寄存器R0~R7之一。
- Ri(i = 0, 1):当前选中的工作寄存器组中的寄存器R0或R1。
- @:间接寻址或变址寻址前缀。
- data:8位立即数。
- data16:16位立即数。
- direct:片内低128个RAM单元地址及SFR地址。
- addr11:11位目的地址。
- addr16:16位目的地址。
- rel:一个字节的补码表示的地址偏移量,范围为128~+127。
- bit:位寻址空间中可寻址位的地址。
- (X):表示X地址单元或寄存器中的内容。
- ((X)):以X单元或寄存器中的内容作为地址所指定单元的内容。
- /:位操作数的取反操作前缀,表示对该数位取反,但不影响该数位的原值。
- →:数据传送方向,表示箭尾一侧的内容送入箭头所指向的单元中去。
- :表示数据交换。
指令格式
单字节指令/:只有操作码,无操作数,操作数隐含在操作码中。
双字节指令/:一个字节表示操作码,另一个字节表示立即数或存放操作数的地址。
三字节指令/:第一个字节表示操作码,后两个字节表示操作数或操作数地址。
注释:
- 单指令、一般格式为
操作助记符 [操作数] [;注释] - 双指令、一般格式如下所示:
操作助记符 [目的操作数][,源操作数][;注释]
- 单指令、一般格式为
寻址方式
不同的计算机其寻址方式不尽相同,一般来说,寻址方式越多,计算机功能就越强,灵活性也越大。51系列单片机共有7种寻址方式
立即寻址
指令编码中直接给出操作数的寻址方式称为立即寻址。
在这种寻址方式中,紧跟在操作码后面的操作数称为立即数。
立即数可以是一个字节,也可以是两个字节,立即数以前缀“#” 符号来标识。
MOV A,#03H
直接寻址
直接寻址是指操作数的地址直接在指令中给出的寻址方式。
该地址对应单元中的内容就是操作数,
直接的操作数单元地址用“direct”表示。
MOV A,3CH ;(3CH)→A
寄存器寻址
操作数存放在寄存器中的寻址方式称为寄存器寻址。
对于这种寻址方式,寻址的寄存器已隐含在指令的操作码中,寄存器用符号Rn表示。
指令译码其实是译码的是操作码
假设(R1) = 0FFH,
执行指令:MOV A,R1 ; (R1)→A
结果:(A) = 0FFH
寄存器间接寻址
寄存器间接寻址是指操作数存放在以寄存器内容为地址的单元中。
寄存器中的内容不再是操作数,而是存放操作数的地址。
寄存器间接寻址用符号“@”表示。
(1)内部RAM低128单元,地址范围00H~7FH,用Ri(i = 0,1)或SP作为间址寄存器。
(2)与P2口锁存器配合使用,用Ri指示低8位地址,可寻址片外数据存储器或I/O的64KB区域。
(3)DPTR间接寻址寄存器,可寻址程序存储器或片外数据存储器(包括I/O口)各自的64KB区域。
设(R0) = 60H,内部RAM (60H) = 50H,执行指令MOV A,@R0 ;((R0))→A执行结果(A) = 50H。
####变址寻址
本寻址方式以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器,以两者内容相加形成的16位地址作为目的地址进行寻址。
MOVC A,@A+DPTR
MOVC A,@A+PC
JMP @A+DPTR
前两条指令称为查表指令,适用于读程序存储器中固定的数据。例如,将固定的、按一定顺序排列的表格存放在程序存储器中,在程序运行中由A的动态参量来确定读取对应的表格参数。
第3条为散转指令,A中内容为程序运行后的动态结果,可根据A中的不同内容,实现跳向不同程序入口的跳转。
设(A) = 0A4H,(DPTR) = 1234H,
程序存储区
(12D8H) = 3FH,
则执行指令MOVC A,@A+DPTR后,
(A) = 3FH。
相对寻址方式
相对寻址用于跳转指令。本寻址方式是以该转移指令的地址(PC值)加上它的字节数,再加上相对偏移量(rel),形成新的转移目的地址,从而控制程序转移到该目的地址。
目的地址 = 转移指令所在的地址 + 转移指令字节数 + rel
其中,偏移量rel是一个字节的补码表示的带符号数, 其范围是-128~+127。因此,程序转移范围是以转移指令的下条指令首地址为基准地址,相对偏移在-128~+127单元之间。
假设指令SJMP 20H 存入2100H单元,
其机器码为80H 20H,
执行该指令后,程序将跳转到2122H单元取指令并执行
####位寻址方式
位寻址方式是指令中给出的操作数为位寻址区的位地址bit,
bit包括内部RAM的20H~2FH共16个单元的128位,以及某些 可以位寻址的特殊功能寄存器(单元地址能被8整除)的各位。
分析指令MOV C,24H.0的执行结果。
该指令的机器码为A2H 20H,相当于MOV C,20H,指令执行完成后Cy标志位为1
寻 址 方 式 就 是 CPU 在 指 令 中 寻 找 ( 确 定 ) 操 作 数 位 置 ( 地 址 ) 的 方 式 ( 或 寻 找 ( 确 定 )
转 移 的 目 标 地 址 的 方 式 ) 。
根 据 操 作 数 的 性 质 , 寻 址 方 式 分 为 数 据 寻 址 方 式 和 地 址 寻 址 方 式 。
根 据 操 作 数 的 位 置 , 寻 址 方 式 分 为 立 即 数 寻 址 方 式 、 寄 存 器 寻 址 方 式 、 存 储 器 寻 址 方 式 和 I/ O寻 址 方 式 。
算术运算类指令
加法指令
(1)不带进位加法指令ADD(4条)
ADD A,Rn ;(A)+(Rn)→A,n = 0~7
ADD A,direct ;(A)+ (direct)→A
ADD A,@Ri ;(A)+((Ri))→A,i = 0,1
ADD A,#data ;(A)+#data→A
(2)带进位加法指令
ADDC A,Rn ;(A)+(Rn)+Cy→A,n = 0~7
ADDC A,direct ;(A)+(direct)+Cy→A
ADDC A,@Ri ;(A)+((Ri))+Cy→A,i = 0,1
ADDC A,#data ;(A)+#data+Cy→A
(3)加1指令(5条)
INC AINC Rn ;n = 0~7INC direct INC @Ri ;i = 0,1INC DPTR
(4)十进制调整指令(1条)
```DA A ;调整A的内容为正确的BCD码```
减法指令
减法指令包括带借位减法指令和减1指令两类
(1)带借位减法指令(4条)
SUBB A,Rn ; (A) - (Rn) - Cy→A,n = 0~7
SUBB A,direct ; (A) - (direct) - Cy→A
SUBB A,@Ri ; (A) - ((Ri)) - Cy→A,i = 0,1
SUBB A,#data ; (A) - #data - Cy→A
(2)减1指令(4条)
DEC A ;(A) - 1→A
DEC Rn ;(Rn) - 1→Rn,n = 0~7
DEC direct ;(direct) - 1→direct
DEC @Ri ;((Ri)) - 1→(Ri),i = 0,1
####乘除运算指令
(1)乘法指令(1条)
MUL AB ;A×B→BA
(2)除法指令(1条)
DIV AB ;A÷B,商→A,余数→B
逻辑运算与移位指令
逻辑与指令
ANL A,Rn ;(A)∧(Rn)→A,n = 0~7
ANL A,direct ;(A)∧(direct)→A
ANL A,#data ;(A)∧#data→A
ANL A,@Ri ;(A)∧((Ri))→A,i = 0~1
ANL direct,A ;(direct)∧(A)→direct
ANL direct,#data ;(direct)∧#data→direct
逻辑或指令
ORL A,Rn ;(A)∨(Rn)→A,n = 0~7
ORL A,direct ;(A)∨(direct)→A
ORL A,#data ;(A)∨ #data→A
ORL A,@Ri ;(A)∨((Ri))→A,i = 0,1
ORL direct,A ;(direct)∨(A)→direct
ORL direct,#data ;(direct)∨#data→dire
逻辑异或指令
XRL A,Rn ;(A) (Rn)→A,n = 0~7
XRL A,direct ;(A) (direct)→A
XRL A,@Ri ;(A) ((Ri))→A,i = 0,1
XRL A,#data ;(A) #data→A
XRL direct,A ;(direct) (A)→direct
XRL direct,#data ;(direct) #data →direct
累加器“清零”及“取反”指令
(1)CLR A
这条指令的功能是:将累加器A清“0”,不影响Cy、Ac和OV等标志。
(2)CPL A
这条指令的功能是:将累加器A按位取反,不影响Cy、Ac和OV等标志。
####移位指令
- 左环移指令
RL A
- 带进位左环移指令
RLC A
- 右环移指令
RR A
- 带进位右环移指令
RRC A
- 累加器半字节交换指令
SWAP A
###控制转移类指令
无条件转移指令
长转移指令 LJMP addr16 ;addr16 → PC
短转移指令 AJMP addr11 ;(PC)+ 2→PC,addr11→PC10~0, PC15~11不变
相对转移指令 SJMP rel ;(PC)+2→PC,(PC)+ rel→PC
间接跳转指令(散转移指令)JMP @A+DPTR ;(PC)+1→PC,(A)+(DPTR)→PC
条件转移指令
(1)累加器A判零条件转移指令
JZ rel ;若(A) = 0,则PC+2+rel→PC;否则,PC+2→PC
JNZ rel ;若(A) ≠ 0,则PC+2+rel→PC;否则,PC+2→PC
(2)比较条件转移指令CJNE A,direct,rel ;若(A) ≠ (direct),则PC+3+rel→PC;否则,PC+3→PC
CJNE A,#data,rel ;若(A) ≠ data,则PC+3+rel→PC;否则,PC+3→PC
CJNE Rn,#data,rel ;若(Rn) ≠ data,则PC+3+rel→ PC;否则,PC+3→PC
CJNE @Ri,#data,rel ;若((Ri)) ≠ data,则PC+3+rel→PC;否则,PC+3→PC
(3)减1条件转移指令
DJNZ Rn,rel ;(Rn)-1→Rn;若(Rn) ≠ 0,则PC+2+rel→PC;否则,PC+2→PC
DJNZ direct,rel ;(direct)-1→direct;若(direct) ≠ 0,则PC+3+rel→PC;否则,PC+3→PC
子程序调用及返回指令
① 长调用指令LCALL addr16 ;(PC)+3→PC;(SP)+1→SP,PC7~0→(SP);(SP)+1→SP,PC15~8→(SP);addrl6→PC
② 绝对调用指令ACALL addr11 ;(PC)+2→PC;(SP)+1→SP,PC7~0→(SP);(SP)+1→SP,PC15~8→(SP);addr11→PC10~0,PC15~11不变
RET ;((SP))→PC15~8,(SP)-1→SP;((SP))→PC7~0,(SP)-1→SP
中断返回指令
RETI ;((SP))→PC15~8,(SP)-1→SP;((SP))→PC7~0,(SP)-1→SP
###空操作指令
NOP ;(PC)+1→PC
位操作类指令
位传送指令(2条)
MOV C,bit ;(bit)→Cy
MOV bit,C ;Cy→(bit)位置位/复位指令(4条)
CLR C ;0→Cy
CLR bit ;0→bit
SETB C ;1→Cy
SETB bit ;1→bit位运算指令
ANL C,bit ;(Cy) ∧ (bit) → Cy
ANL C,/bit ;(Cy) ∧
ORL C,bit ;(Cy) ∨ (bit) → Cy
ORL C,/bit ;(Cy) ∨
位条件转移指令
JC rel ;若Cy = 1,则(PC)+2+re→PC
;否则,(PC)+2→PC
JNC rel ;若Cy = 0,则(PC)+2+re→PC
;否则,(PC)+2→PC
JB bit,rel ;若(bit) = l,则(PC)+3+re→PC
;否则,(PC)+3→PC
JNB bit,rel ;若(bit) = 0,则(PC)+3+re→PC
;否则,(PC)+3→PC
JBC bit,rel ;若(bit) = 1,则(PC)+3+re→PC,0→bit
;否则,(PC)+3→PC
微机原理-04-指令系统相关推荐
- 微型计算机原理指令系统问题,微机原理复习题(指令系统).doc
微机原理复习题(指令系统) <微机原理>复习题二 一.选择题 1.假设外部设备的状态字已经读入AL寄存器,其中最低位为"0",表示外部设备"忙", ...
- 微型计算机指令系统例题,微机原理复习题(指令系统)
微机原理复习题(指令系统) <微机原理>复习题二 一.选择题 1.假设外部设备的状态字已经读入AL寄存器,其中最低位为"0",表示外部设备"忙", ...
- 内存中有两个4字节以压缩的bcd_高中对口计算机微机原理04第一二章测验
原理第一.二章练习 一.选择题 1.下列四个不同进制的数中,数值最大的是__________ A. 1001001B B. 110 O C. 71D D. 4AH 2.下列四种不同数制表示的数值最小的 ...
- 微型计算机原理中LEA,微机原理lea指令什么意思_微机原理实训箱
微机原理 8 关于指令系统 微机原理 8 关于指令系统 微机原理 数据传送指令 微机原理 数据传送指令 微机原理指令 解答 请帮我看看这几个指令设么意思 微机原理题目指令判断对错 int指令微机原理 ...
- 《微机原理及接口技术》第04章在线测试
<微机原理及接口技术>第04章在线测试 <微机原理及接口技术>第04章在线测试 剩余时间: 59:55 答题须知:1.本卷满分20分. 2.答完题后, ...
- 微型计算机原理指令系统,微机原理与接口技术 指令系统.ppt
微机原理与接口技术 指令系统 第4章 指令系统 4.1 寻址方式 4.2 8086指令系统 4.3 从80286到Pentium 系列微处理器的指令系统 第4章 指令系统 指令:计算机用以控制各个部件 ...
- 微机原理8086/8088——指令系统与寻址方式
微机原理8086/8088概念系列 微机原理8086/8088--微型计算机组成 微机原理8086/8088--微处理器功能结构 微机原理8086/8088--内部寄存器 微机原理8086/8088- ...
- 河北专接本微机原理知识点04
微机原理 第四章 汇编指令系统 一.8088/8086的寻址方式 立即数寻址方式 寄存器寻址方式 存储器寻址方式 直接寻址 寄存器间接寻址 寄存器相对寻址 基址变址寻址 相对基址变址 二.指令格式及功 ...
- 微型计算机电路试卷,微机原理试卷及答案2
填空题: 1. 从功能上分,8086CPU由_______和_______两部分组成 执行部分EU,总线接口部分BIU 2. 8086CPU采用_______和_______两级存储器寻址方式 段地址 ...
- 微型计算机接口技术论文,(微机原理与接口技术课程论文.doc
(微机原理与接口技术课程论文 <微机原理与接口技术> 论 文 学院: 班级: 姓名: 学号: 微机原理与接口技术论文 内容摘要: 微型计算机原理与接口技术是计算机科学与技术专业重要的专业基 ...
最新文章
- 工作之余如何提高个人技术水平
- mongodb studio 3t 破解无限使用脚本
- 鼠标划过表格行变色效果JS
- Keywords Search HDU - 2222(AC自动机模板)
- Linux下社交平台,Linux 启动
- Mybatis的resultMap自定义映射
- w3cSchool jquery学习
- 74LS138译码器的IP核设计
- MyBatis实现一对一,一对多关联查询
- 今日头条推荐算法原理
- uc手机浏览器 手机模拟_在PC上测试移动端网站和模拟手机浏览器的5大方法
- CTSCAPIOTHUPC2018颓废记
- ICMP重定向(ICMP redirect)实验分析
- FPGA数字信号处理(1)- AM调制的FPGA实现
- E. Tournament
- [CVE-2022-22965]Spring远程代码执行漏洞复现
- 运行时常量区-方法区
- The Triangle(数字三角形)
- 无法启动Outlook,无法打开Outlook…
- 不起眼的地推行业,有人在默默搞大钱