网站大量收购独家精品文档,联系QQ:2885784924

《单片机原理与实验教程》课件第3章.pptx

《单片机原理与实验教程》课件第3章.pptx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第3章CS-51指令系统

3.1概述

3.2寻址方式

3.3指令系统

3.4伪指令

习题与思考题

BACK

3.1概述

计算机是高度自动化的机器,它能自动进行运算和处理事务。整个自动操作过程是由CPU中的控制器完成的。控制器自动执行存放在存储器中的指令,而每一条指令规定计算机完成某种操作。计算机能直接识别的只能是0和1编码组成的指令,这种编码称为机器码或机器指令。由机器码编制的计算机能识别和执行的程序称为目标程序。

每一条指令包含两个基本部分:操作码和操作数。操作

码表明指令要执行的操作性质,操作数说明参数与操作的数据或数据所存放的地址。

MCS-51机器语言指令根据其指令编码的长短不同有单字节指令、双字节指令和三字节指令之分。

1.单字节指令

单字节指令格式由8位二进制编码表示,有两种形式:

(1)8位编码全表示操作码。例如,空操作指令NOP,其机器码为(2)8位编码中包含操作码和寄存器编码,例如:MOVA,Rn

这条指令的功能是把寄存器Rn(n=0,1,2,3,4,5,6,

7)中的内容送到累加器A中去,其机器码为

巧它由子寄存器编码

1Rn-

假设n=0,则寄存器编码为Rn=000(参见指令表),则

指令MOVA,RO的机器码为E8H,其中操作码11101表示执行把寄存器中的数据传送到A中去的操作。000为RO寄存器的编码

2.双字节指令

双字节指令格式中,指令的编码由两个字节组成,该指令存放在存储器时需要占用两个存储器单元。例如:

MOVA,#DATA

这条指令的功能是将立即数DATA送到累加器A中去。假设立即数DATA=85H,则其机器码为

西豆大学出版社

3.三字节指令

三字节指令格式中第一字节为操作码,其后两字节为操作数。例如:

MOVdirect,#DATA

这条指令的功能是把立即数DATA送到地址为direct的地址单元中去。假设direct=78H,DATA=80H,则指令MOV78H,#80H的机器码为

第一节科技大学出版社。1西安电子操作码学出版社

第字节升科吱走学出社10西要电子第皮操作数(质的地址)

第二操作数(立即数)

大学出版社

第三字节

西安由A

10000

000

用二进制编码表示的机器语言指令阅读困难,写起来费

力,且难以记忆,因此在微机控制系统中采用汇编语言

(用助记符和专门的语言规则表示指令的功能和特征)指令来编写程序。本章使用MCS-51的汇编语言来描述其指令功能。

一条汇编语言指令中最多包含四个区段,如下所示:

标号

操作码

操作数

注释

这四个区段之间要用分隔符分开:标号区段与操作码区

段之间用冒号(:)隔开,操作码与操作数之间用空格隔开,操作数与注释区段之间用分号(;)分隔。如果操作数区段中有两个以上的操作数,则在操作数之间要用逗号

(,)分隔开。例如,把立即数FOH送累加器的指令为

STARTMOVA,#0FOH立即数FOH→A

标号区段操作码区段操作数区段注释区段

标号区段是由用户定义的符号组成的,必须用英文大写

字母开始。标号区段可有可无。若一条指令中有标号区段,则该标号代表该指令第一个字节所存放的存储器单元的地址,故标号又称符号地址,在汇编时,把该地址赋值给标号。

操作码区段是指令的功能部分,不能缺省。它是便于记忆的助记符。例如,MOV是数据传送的助记符,ADD

是加的助记符。

操作数区段是指令要操作的数据信息。根据指令的不同

功能,操作数可以有3个、2个、1个或没有操作数。上例中,操作数区段包含两个数—A和#0FOH,它们之间由逗号分隔。其中第二个操作数为立即数FOH,它是用十六进制数表示的

以字母开头的数据。为区别于在操作区段出现的字符,故以字母开始的十六进制数据前都要加0,即把立即数F0H写成

OFOH(这里的H表示此数为十六进制数,若为二进制数,则用B表示,十进制数用D表示或省略)。

注释区段可有可无。加入注释的目的是为了便于阅

读。程序设计者对指令或程序段做简要的功

能说明,在阅读程序,尤其是在调试程序时会带来很大的方便。

用汇编语言指令编写的程序,计算机

文档评论(0)

乐毅淘文斋 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档