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

《微型计算机原理及应用(》课件_第6章_2.pptxVIP

《微型计算机原理及应用(》课件_第6章_2.pptx

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

6.2MCS-51汇编指令系统;1)立即数。该操作数即为参加运算的数,在指令操作码之后直接携带,无须任何读写操作就可以即时参加运算,MCS-51单片机汇编指令中立即数形式为数据前加“#”符号前缀,8位立即数记为#data(如#30H),16位立即数记为#data16(如#2000H)。;(4)注释。用户为阅读程序方便而加注的解释说明。可选项,注释形式不限,对指令执行没有影响,只起指令功能说明作用,用半角分号“;”与操作数或指令隔开。

例如在ROM2000H处存有一条完整汇编指令:

ORG2000H

LOOP:ADDA,#0A8H;A累加器中的数与操作数A8H相加

….

指令中“LOOP”表示指令首地址2000H,“ADD”为表示加法的指令助记符,“A,#0A8H”为操作数,“;A累加器中的数与操作数A8H相加”为注释。;6.2.2MCS-51汇编指令寻址方式;2.直接寻址方式;(1)访问内部RAM可通过R0和R1作为间接寻址寄存器。;5.位寻址方式;6.变址寻址方式

MCS-51单片机的变址寻址是以数据指针DPTR或PC作为基址寄存器,以累加器

A作为变址寄存器,以两者内容相加形式新的16位地址作为操作数地址,再从该地址

读出数据送入寄存器A。;绝对寻址方式指令给出的操作数为存储器地址,绝对寻址的目的是通过改变程序指针PC的内容,实现程序的转移。绝对寻址方式对应绝对转移指令,指令中的操作数为程序转移的目标地址。;8.相对寻址方式;MCS-51指令系统共包含111条基本指令,按照指令的功能不同可分为数据传送类指令(29条)、算术运算和逻辑运算类指令(48条)、移位和位操作类指令(17条)和跳转及控制类指令(17条)4类。;(5)direct:表示片内RAM的某存储单元地址。既可以是片内RAM低128B的单元地址,也可以是高128B中特殊功能寄存器的单元地址或符号地址。

(6)addr11:用无符号数表示的11位二进制绝对地址偏移量,取值范围在0000H~07FFH,主要用于ACALL指令和AJMP指令。

(7)addr16:表示16位目的地址,主要用于LCALL指令和LJMP指令。

(8)rel:用补码形式表示的8位二进制相对地址偏移量,取值范围在-128~+127。主要用于相对转移指令,用以形成转移的目标地址。

(9???bit:表示位地址。

(10)B:表示B寄存器。

(11)ACC:寄存器A对应的SFR形式。

(12)C:表示PSW中的进位标志位Cy。

(13)$:表示当前指令的地址。;6.2.3.3.MCS-51指令长度判定规则;1.内部数据传送类指令(MOV);MOVDPTR,#1234H;例.已知R0=20H,(20H)=11H,(30H)=22H,(40H)=33H问8051执行如下指令后,累加器A、50H、R5、20H和60H单元中的内容是什么?;(3).寄存器寻址型传送指令

;;2.外RAM(或I/O)与寄存器A之间的传送指令(MOVX);3.ROM中的数据查询指令(MOVC);例.已知累加器A中有一个0~9范围内的数,用以上查表指令编出能查出0~9的平方值的程序。设平方表首地址为2000H。;ORG1FF7H

1FF7HMOVA,#data;data为0-9之一。

1FF9HADDA,#04H;A+修正量。

1FFBHMOVCA,@A+PC;查平方表。

1FFCHMOV40H,A;查得平方送内部RAM40H单元,该指令为两字节指令。

1FFEHSJMP$;停机指令,该指令为两字节指令。

2000HDB00H

2001HDB01H

2004HDB10H

2009HDB51H;4.数据交换指令;例.利用数据交换指令,将内部

RAM60H单元中的低位BCD码

转换成ASCⅡ码,并将结果存

到外部2500H中。;(1)加法指令;2).带进位CY的加法指令ADDC;3)加1指令????????;(2)减法指令;DECA;(A)-1→A

DECRn;(Rn)-1→Rn

DECdirect;(direct)-1→direct

DEC@Ri

文档评论(0)

酱酱 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档