第4章 指令系统
计算机组成原理第4章指令系统课件

4.2 指令的格式
4.2.1 指令的编码格式
操作码OC
AC1
AC2
(1)把保存操作前原来操作数的地址称为源点地址(SS), 把保存指令执行结果的地址称为终点地址或目的地址(DD)。
(2)将源点与终点操作数进行操作码规定的操作后,将 结果存入终点地址。通常二地址指令又称为双操作数指令。
ADD R0,R1表示将R0寄存器的内容和R1寄存器的内容相加以
5 异或XOR
XOR指令对两个操作数进 行按位异或运算。
4.4 指令的种类
4.4.4 移位、循环类指令
CF
位移指令SAL/SHL操作示意图
CF
SAR操作示意图
CF 0
SHR操作示意图
4.4 指令的种类
4.4.4 移位、循环类指令
不带进位标志的循环左移指令ROL MSB 操作数 LSB
CF
不带进位标志的循环右移指令ROR MSB 操作数 LSB
例如:在IBM-PC指令系统中
MOV
AX,05FFH
4.3 寻址方式
4.3.2 常用的寻址方式
2.直接寻址方式
(1)含义: 是指地址字段直接指明操作数在存储器内的位置的寻址 方法。即形式地址等于有效地址。 (2)优缺点: A、优点:简单,不需要进行加法运算。 B、缺点:地址空间指令地址字段长度的限制。
4.2 指令的格式
4.2.3 指令助记符
通常采用一些符号来代表二进制数据,这些符号即指 令助记符。
指令助记符 ADD SUB MUL DIV
助记符示例
含义
指令助记符
相加
AND
相减
OR
相乘
LOAD
相除
STORE
第四章 指令系统[一]
![第四章 指令系统[一]](https://img.taocdn.com/s3/m/0cc630d349649b6648d74742.png)
译码开始
4:16译码器 : 译码器
4:16译码器 : 译码器
4:16译码器 : 译码器
4:16译码器 : 译码器
…
15条三地址指令 15条三地址指令
…
14条二地址指令 14条二地址指令
…
31条一地址指令 31条一地址指令
…
16条零地址指令 16条零地址指令
图4.1 指令译码逻辑图
•
注意事项: 注意事项: • 短操作码不能与长操作码 的前面代码部分相同; 的前面代码部分相同; • 各指令的操作码一定不能重复,而且各类指令的 各指令的操作码一定不能重复, 格式安排应统一规整. 格式安排应统一规整.
例1(P151.题2):假设某计算机指令长度为20位,具有双操作 1(P151.题2):假设某计算机指令长度为20位 假设某计算机指令长度为20 单操作数、无操作数三类指令形式, 数、单操作数、无操作数三类指令形式,每个操作数地址 规定用6位表示, 规定用6位表示,问: 若操作码字段固定为8 现设计出m条双操作数指令,n 若操作码字段固定为8位,现设计出m条双操作数指令,n 固定为 条无操作数指令,在此情况下, 条无操作数指令,在此情况下,这台计算机最多可以设计出 多少条单操作数指令? 多少条单操作数指令? 解 : 2 8 - m - n条
(1) 三个容易混淆的基本概念
• 指令字长:一条指令中包含二进制代码的位数. 指令字长:一条指令中包含二进制代码的位数. • 存储字长:存储单元中二进制数的位数. 存储字长:存储单元中二进制数的位数. • 机器字长:计算机能直接处理的二进制数据的 机器字长: 位数,通常与主存单元的位数一致. 位数,通常与主存单元的位数一致.
例:设某机器的指令字长为16位,包括基本操作码4位 设某机器的指令字长为16位 包括基本操作码4 16 和三个地址字段,每个地址字段长4 其格式为: 和三个地址字段,每个地址字段长4位,其格式为: 15 12 11 A1 OP 8 7 A2 4 3 A3 0
微机原理 第四章 微型计算机指令系统

例: 已知: DS=2000H; SI=1000H 指令: MOV [SI+disp],AX
青岛理工大学琴岛学院
寄存器间接相对寻址过程示意图
CPU
寄存器间接相对 SI=1000H
MOV [SI+20H] 程序 ,AX
CS 偏移1000H
DS
SS
ES
位移20H
青岛理工大学琴岛学院
寄存器相对寻址过程示意图
真正数据所在的地址
青岛理工大学琴岛学院
错误指令举例: 6)基址变址寻址: MOV [BX+CX],AX ; CX不能做变址寄存器 MOV [BX+BP],AX ; BP不能作为变址寄存器 操作数的有效地址 EA等于一个基址寄存器( BX或 MOV [BX+DI],ARRAY; BP)与一个变址寄存器( SI或DI)的内容之和;
总时间=基本执行时间+计算EA的时间+执行总线读/写周期的时间
指令的基本执行时间随指令类型的不同差异很大,访问存 储器既要执行总线的读/写周期,又要计算操作数的有效地址 EA,计算EA的时间又与指令的寻址方式有关。
青岛理工大学琴岛学院
4.2 8086/8088指令系统
数据传送类指令
算术运算类指令 位操作类指令 串操作类指令 控制转移类指令 处理器控制类指令
21000H 20 位 物 理 地 址 真正数据所在的地址 Memory DS … 20000H
…
78H 21000H 56H
青岛理工大学琴岛学院
4)寄存器间接寻址:
此方式的操作数存放在存储器单元中,指令给出的 16位寄存器值就是该操作数所在存储单元的EA。
例: 已知: (DS)=2100H,(DI)=2000H 指令: MOV AX,[DI] ;(AX) ((DI)) 注:使用BX、SI、DI,操作数在DS段;BP时在SS段 其中寄存器只能是BX、SI、DI、BP
《计算机组成原理》教程第4章指令系统

4
二 指令的格式
即指令字用二进制代码表示的结构形式
包括 操作码:操作的性质 操作码 地址码:操作数(operand)的存储位置,即参加操作的 operand , 地址码 数据的地址和结果数的地址
操作码域(op) 地址码域(addr)
5
1.操作码 操作码
指令的操作码表示该指令应进行什么性质的操作。 组成操作码字段的位数一般取决于计算机指令系统的 规模。 固定长度操作码:便于译码,扩展性差 . 可变长度操作码:能缩短指令平均长度 操作码的的位数决定了所能表示的操作数,n位操 作码最多表示2n种操作
(2). 堆栈工作过程 .
(一)进栈操作 ① 建立堆栈,由指令把栈顶地址送入SP,指针 指向栈顶。 ② 进栈:(A)→Msp, (sp)-1→SP ;Msp:存储 器的栈顶单元 (二)出栈操作 (SP)+1→SP, (Msp)→A
22
五.指令类型
一个较完善的指令系统应当包括: 数据传送类指令: 例)move、load、store等 算术运算类指令: 例)add、sub、mult、div、comp等 移位操作类指令: 例) shl,shr,srl,srr 逻辑运算类指令: 例)and、or、xor、not等 程序控制类指令: 例)jump、branch、jsr、ret、int等 输入输出指令: 例)in、out等 字符串类指令: 例)如alpha中cmpbge、inswh、extbl等 系统控制类指令: 例)push、pop、test等
18
10) *段寻址方式 段寻址方式 Intel 8086 CPU中采用了段寻址方式(基址寻址的特例)。 由16位段寄存器和16位偏移量产生20位物理地址 11)*自动变址寻址 自动变址寻址 指在变址方式中,每经过一次变址运算时,都自动改变变址寄存 器的内容,以后在PDP-11中详讲.
计算机原理 第四章指令系统

4. 寄存器间接寻址方式
指令给出寄存器号,寄存器中存放着操作数的地址。
优点:寄存器的位数 较长(一般为机器字 长),足以访问整个 内存空间,这样既有 效地压缩了指令长度, 又解决了寻址空间太 小的问题。
主存单元 例: ADD (R1),(R2) R0 1000H 1000H 3A00H
R1
2C00H+ 3B00H → 3000H单元 R2
计 算 机 组 成 原 理
指令扩展举例 1
16位指令字 三地址指令范围 xxxx
0000 1110 1111 1111 1111 1111 1111 1111
xxxx xxxx xxxx
A1 A1 0000 1110 1111 1111 1111 1111 A2 A2 A1 A1 0000 1110 1111 1111 A3 A3 A2 A2 A1 A1 0000 1111
2.变长操作码,定长指令码。
操作码长度不固定,但指令码的长度固定。这种设计当操作码变 长时,地址码就缩短(地址个数变少),但指令字总长不变。 〔例〕 设某机器的指令长度为16位,包括基本操作码4位和三个 地址字段,每个地址字段长4位,其格式为: 15 14 13 12 OP 11 10 9 8 AD1 7 6 5 4 AD2 3 2 AD3 1 0
第四章
§4.1 指令格式
指令系统
(P148)
§4.2
寻址方式
§4.3 指令类型 §4.4 § 4.5 CISC和RISC 实验模型机的指令系统汇总表
§4.1 指令格式
计算机指令是计算机硬件能够识别并直接执行的操作命令,又称为 机器指令。
一、指令格式
一条指令应包括两方面的信息:操作码信息和地址码信息。 操作码OP 地址码AD
第4章 指令系统

存取。
二、对指令系统性能的要求三
4、兼容性:
系列机各机种之间具有相同的基本结 构和共同的基本指令集,因而指令系统是 兼容的,即各机种上基本软件可以通用。但 由于不同机种推出的时间不同,在结构和性 能上有差异,做到所有软件都完全兼容是不 可能的,只能做到“向上兼容”,即低档机 上运行的软件可以在高档机上运行。
a、CISC:70年代后,大多数计算机的指 令系统多达几百条。我们称这些计算机 为复杂指令系统计算机(CISC)。
b、RISC:但是如此庞大的指令系统难以 保证正确性,不易调试维护,造成硬件 资源浪费。为此人们又提出了便于LSI技 术实现的精简指令系统计算机(RISC) 返回
二、对指令系统性能的要求一
4.4、指令和数据的寻址方式
一、指令的寻址方式 二、操作数寻址方式
三、寻址方式举例
一、指令的寻址方式一
1、寻址方式:形成操作数有效地址或指令 有效(偏移)地址的方式。 2、寻址方式分为两类,既指令寻址方式和 数据寻址方式。 3、指令的寻址方式有两种,一种是顺序寻 址方式,另一 种是跳跃寻址方式。 4、操作数或指令在存储器中的地址:某个 操作数或某条指令存放在某个存储单元 时,其存储单元的编号就是地址。请看 图示
答案:
退 出 上一页 下一页 上一节 下一节 返回节目录
例三答案:
三、低级语言与硬件结构的关系
高级语言 低级语言
Visual c++、foxpro、java
与软件结构和指令系统无关 编写的程序可在不同机器上 运行
汇编语言、二进制语言
与机器、指令系统密切相关 编写的指令系统不同,不同
机器用不同汇编语言编写程 序,机器唯一可识别的是二
计算机组成原理-第4章_指令系统
7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。
第四章 指令系统小结
串联本章的问题 1问:数据可以在计算机中表示,但计算机如何 数据可以在计算机中表示, 对这些数据进行处理。 对这些数据进行处理。 答:通过指令 2问:什么是指令,指令如何构成? 什么是指令,指令如何构成? 答:指令是指示计算机执行何种操作的命令, 指令是指示计算机执行何种操作的命令, 它由操作码和地址码构成? 它由操作码和地很多指令,每条指令格式都 计算机中有很多指令, 一样吗? 一样吗? 答:不一样? 指令类型 不一样? 4问:既然不一样,那在设计指令的时候应该遵 既然不一样, 循什么原则,才能使指令系统简洁而有效呢。 循什么原则,才能使指令系统简洁而有效呢。 答:涉及的知识点:设计指令时应该考虑的因 涉及的知识点: 素
计算机组成原理(白中英)第4章指令系统
计算机组成原理(白中英)第4章指令系统指令系统概述寻址方式指令系统20XX年3月15日10时45分概述指令:是指示计算机某种操作的命令。
微指令,机器指令,宏指令指令系统:一台计算机中所有机器指令的集合。
它是机器硬件设计的依据,也是软件设计的基础。
它决定了一台计算机硬件的主要性能和基本功能。
是硬件和软件间的界面。
系列计算机:有共同的指令集,相同的基本体系结构。
CISC和*****X年3月15日10时45分2一个完善的指令系统应满足:1.完备性:指令丰富,功能齐全,使用方便。
1.完备性:指令丰富,功能齐全,使用方便。
完备性 2.有效性程序占空间小,执行速度快。
有效性: 2.有效性:程序占空间小,执行速度快。
3.规整性对称性,匀齐性,规整性:3.规整性:对称性,匀齐性,指令格式和数据格式的一致性。
据格式的一致性。
4.兼容性兼容性:4.兼容性:向上兼容”----系列机中低档机上运行“向上兼容”----系列机中低档机上运行的软件可以在高档机上运行。
的软件可以在高档机上运行。
20XX年3月15日10时45分计算机语言与硬件结构的关系高级语言的语句和用法与具体机器的指令系统无关;低级语言分机器语言和汇编语言,他们和具体机低级语言分机器语言和汇编语言,器的指令系统密切相关。
器的指令系统密切相关。
汇编语言与硬件的关系密切,编写的程序紧凑、汇编语言与硬件的关系密切,编写的程序紧凑、占内存小、速度快,占内存小、速度快,特别适合与编写经常与硬件打交道的系统软件;打交道的系统软件;而高级语言不涉及机器的硬件结构,通用性强、编写程序容易,件结构,通用性强、编写程序容易,特别适合与编写与硬件没有直接关系的应用软件。
编写与硬件没有直接关系的应用软件。
20XX年3月15日10时45分4概述机器指令的要素C C C C 操作码源操作数目的操作数下一条指令的引用指令字(简称指令)即表示一条指令的机器字。
指令字(简称指令)即表示一条指令的机器字。
第四章 AT89s52指令系统
第四章 AT89S52指令系统
1
寄存器间接寻址
• 例4-11 • MOV R0,#06H ;06H→ (R0) • MOVX A,@R0 ;((R0))→ (A) • 例4-12 MOV DPTR,#0EFFFH;0EFFFH→ (DPTR0) MOVX A, @DPTR;((DPTR0))→ (A)
• (1002H)=19H
(1006H)=2DH
• (1003H)=4DH
(1007H)=35H
第四章 AT89S52指令(系1统008H)=31H
1
4.DW(Define Word)定义双 字节数据伪指令
• 格式: Yn
[标号:] DW Y1,Y2,Y3,……,
• 该伪指令与DB伪指令的不同之处是,DW定义
第四章 AT89S52指令系统
1
变址间接寻址
• 变址间接寻址指令由基址寄存器和变址寄存器组成, 16位寄存器DPTR(数据指针)或PC(程序计数器)作为 基址寄存器,8位累加器A作为变址寄存器。
• 基址寄存器内容和变址寄存器内容相加形成新的16 位地址,该地址即为操作数的存储地址。这是一种 独特的寻址方式,A中的内容可以随程序的运行动 态变化,所以可以实现动态寻址。
• 也可写成
•
MOV A, 90H ;(90H)→ (A)
第四章 AT89S52指令系统
1
直接寻址
• MOV 0A0H , #20H ; #20H→(P2)
• MOV A, 0A0H;直接寻址,(P2) → (A)
• MOV R0, #0A0H
• MOV @R0, #40H ;#40H→(0A0)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如: MOV A,40H
表示把内部RAM 40H单元(direct)的内容传送到A。指令中 源操作数(右边的操作数)采用的是直接寻址方式。 指令中两个操作数都可由直接寻址方式给出。 例如: MOV direct1,direct2
8
具体指令:MOV
42H,62H
把片内RAM中62H单元的内容送到片内RAM中的42H单元中。 直接寻址是访问片内所有特殊功能寄存器的唯一寻址方式。
3.4.4 控制转移类指令
2
内容概要 AT89S51单片机使用MCS-51指令系统。
介绍指令系统寻址方式
对111条基本指令按功能分类详细讲解。
指令---是CPU按照人们的意图来完成某种操作的命令,它以
英文名称或缩写形式作为助记符。
汇编语言指令---用助记符、符号地址、标号等表示的书写 程序的语言。 掌握汇编语言指令是程序设计的基础。
24
(1)进栈指令
PUSH direct 首先将栈指针SP加1,然后把direct中的内容送到SP指示的内部 RAM单元中。 例如:当(SP)=60H,(A)=30H,(B)=70H时,执行下列指令
6
rel DPTR
bit
C或Cy addr11
内部RAM或特殊功能寄存器中的直接寻址位。
进位标志位或位处理机中的累加器。 11位目的地址。
addr16
@ (х)
16位目的地址。
间接寻址寄存器前缀,如@Ri,@A+DPTR。 表示х地址单元或寄存器中的内容。
((х))
→
表示以х单元或寄存器中的内容作为地址间接寻址单元的内容。
寻址方式所要解决的主要问题就是如何在整个存储器和寄存器 的寻址空间内快速地找到指定的地址单元。
下面介绍指令系统7种寻址方式。
6
1.寄存器寻址方式 指令中的操作数为某一寄存器的内容。
例如:MOV
A,Rn
;(Rn)→A,n =0~7
把Rn中的源操作数送入到累加器A中。由于指令指定了从寄存 器Rn中取得源操作数,所以称为寄存器寻址方式。 本寻址方式的寻址范围: (1)4组通用工作寄存区共32个工作寄存器。但只对当前工
解决程序转移。该寻址是以该转移指令的地址(PC值)加上
它的字节数,再加上相对偏移量(rel),形成新的转移 目的地址,从而程序转移到该目的地址。转移的目的地址 用下式计算: 目的地址=转移指令所在的地址+转移指令字节数+rel
12
其中,偏移量rel是带符号8位二进制补码数,–128~+127。 程序转移范围是以转移指令的下条指令首地址为基准地址,相
先简单介绍指令用到的符号。
Rn 当前寄存器区的8个工作寄存器R0~R7(n=0~7)。 Ri 当前寄存器区中作为间接寻址寄存器的2个寄存器R0、R1(i=0,1)。
17
direct
#data #data1
直接地址,即8位内部数据存储器单元或特殊功能寄存器的地址。
指令中的8位立即数。 指令中的16位立即数。 偏移量,8位的带符号补码数。 数据指针,可用作16位数据存储器单元地址的寄存器。
寄存器寻址 直接寻址
寄存器间接寻址 立即数寻址
基址寄存器加变址寄存器间 接寻址
相对寻址 位寻址
16
3.4
AT89S51指令系统分类介绍
共111条指令,按功能分为五类:
(1)数据传送类(28条)
(2)算术运算类(24条) (3)逻辑操作类(25条) (4)控制转移类(17条
;#data→Rn ,n =0~7
把源操作数送入当前寄存器区的R0~R7中的某一寄存器。 3.以直接地址direct为目的操作数的指令 MOV MOV direct,A direct,Rn direct,@Ri direct,#data ; (A)→direct ; (Rn)→direct,n =0~7 ; ((Ri))→direct,i =0,1 ; #data→direct
。
例如: MOV A,#40H
第一个字节是操作码,第二字节是立即数,就是放在程序存储 器内的常数。
10
5.基址寄存器加变址寄存器间址寻址方式
以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器, 以两者内容相加形成的16位地址作为目的地址进行寻址。 例如指令: MOVC A,@A+DPTR 其中,(A)=05H,(DPTR)=0400H,指令执行结果是把程
作寄存器区的8个工作寄存器寻址,指令中的寄存器名称只
能是R0~R7。 (2)部分特殊功能寄存器,如累加器A、寄存器B以及数据指
针寄存器DPTR等。
7
2.直接寻址方式
指令中直接给出操作数的单元地址,该单元地址中的内容就 是操作数,直接的操作数单元地址用“direct”表示。 例如: MOV A,direct “direct”就是操作数的单元地址。
屏蔽,反之亦然。
DPTR为16位的数据指针,分为DPH和DPL。操作十分灵活方便。
设有两个DPTR后,就可避免频繁的出入堆栈操作。
对于所有MOV类指令,累加器A是一个特别重要的8位寄存器, CPU对它具有其他寄存器所没有的操作指令。后面将要介绍 的加、减、乘、除指令都是以A作为目的操作数。
23
Rn为所选择的寄存器组中的R0~R7,直接地址direct为内部
15
表3-1
序号
7种寻址方式及其寻址空间
寻址空间 R0~R7、A、B、C(位)、DPTR等 内部128字节RAM、特殊功能寄存器 片内数据存储器、片外数据存储器 程序存储器中的立即数 读程序存储器固定数据和程序散转 程序存储器相对转移 内部RAM中的可寻址位、SFR中的可 寻址位
寻址方式
1 2
3 4 5 6 7
3. 寄存器间接寻址方式
寄存器中存的是操作数地址,即先从寄存器中找到操作数的地
址,再按该地址找到操作数。 为了区别寄存器寻址和寄存器间接寻址,在寄存器间接寻址方 式中,应在寄存器名称前面加前缀标志“@”。 例如:MOV A,@Ri ;i=0或1
9
其中, Ri的内容为40H,即把内部RAM 40H地址单元中的内容 传送给A。 4.立即数寻址方式 直接在指令中给出操作数——也称立即数。为了与直接寻址指 令中的直接地址加以区别,需在操作数前加前缀标志“#”
功能是把源操作数内容送入R0或R1指定的存储单元中。 5.16位数传送指令
MOV
指针。
DPTR,#data16;#data16→DPTR
功能是把16位立即数送入DPTR,用来设置数据存储器的地址
22
AT89S51有两个DPTR,通过设置特殊功能寄存器AUXR1中的DPS 位来选择。当DPS=1,则指令中的DPTR即为DPTR1,DPTR0被
13
7.位寻址方式
对内部RAM和特殊功能寄存器具有位寻址功能的某位内容进行 置1和清0操作。 位地址一般以直接位地址给出,位地址符号为“bit”。 例如:MOV C,bit 其具体指令: MOV C,40H
把位地址为40H的值送到进位位C。 由于AT89S51具有位处理功能,可直接对数据位方便地实现置 1、清0、求反、传送、判跳和逻辑运算等操作,为测控系 统的应用提供了最佳代码和速度,增强了实时性。
MOV MOV MOV MOV A,R6 A,@R0 A,70H A,#78H ;(R6)→A,寄存器寻址 ;((R0))→A,间接寻址 ;(70H)→A,直接寻址 ;78H→A,立即数寻址
20
2.以Rn为目的操作数的指令
MOV MOV
Rn ,A Rn ,direct
;(A)→Rn ,n =0~7 ;(direct)→Rn ,n =0~7
箭头右边的内容被箭头左边的内容所取代。
18
3.4.1
数据传送类指令
使用最频繁。一般数据传送类指令的助记符为“MOV”,通用
格式如下:
MOV
<目的操作数>,<源操作数>
数据传送类指令是把源操作数传送到目的操作数。指令执行之 后,源操作数不改变,目的操作数修改为源操作数。所以数 据传送类操作属“复制”性质,而不是“搬家”。 本类指令不影响标志位:Cy、Ac和OV,但不包括奇偶标志位P。
21
MOV
MOV MOV
direct1,direct2 ;(direct2)→direct1
把源操作数送入直接地址指定的存储单元。direct指的是内
部RAM或SFR地址。 4.以寄存器间接地址为目的操作数的指令 MOV MOV MOV @Ri,A ;(A)→((Ri)), i=0,1 @Ri,direct ;(direct)→((Ri)),i=0,1 @Ri,#data ;#data→((Ri)), i=0,1
对偏移在–128~+127之间。
例如, LJMP rel
程序要转移到该指令的PC值加3再加上rel的目的地址处。编写 程序时,只需在转移指令中直接写要转向的地址标号。 例如: LJMP LOOP
“LOOP” 为目的地址标号。汇编时,由汇编程序自动计算和
填入偏移量。但手工汇编时,偏移量的值由手工计算。
3
3.1
指令系统概述
简明、易掌握、效率较高的指令系统,复杂指令集。 按所占字节分,分三种: (1)单字节指令49条; (2)双字节指令45条;
(3)三字节指令17条。
按执行时间来分,分三种: (1)1个机器周期(12个时钟振荡周期)的指令64条; (2)2个机器周期指令45条; (3)4个机器周期——乘、除指令。
19
1.以累加器为目的操作数的指令
MOV MOV A,Rn A,@ Ri ; (Rn)→A,n =0~7 ; ((Ri))→A i =0,1
MOV
MOV
A,direct