第03章 MCS-51单片机指令系统new.pptVIP

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

MCS-51 指令的分类 MCS-51指令系统中共有111条指令,可按如下方式进行分类。 (3)按指令功能分类: MCS-51单片机汇编程序书写格式范例 MCS-51汇编指令中的符号约定 P64 Rn(0~7):当前选中的8个工作寄存器R0~R7; Ri(i=0,1):当前选中的用于间接寻址的两个工作寄存器R0、R1; direct:8位直接地址,可以是内部RAM单元地址(00H~7FH),或是特殊功能寄存器(SFR)地址(80H~FFH) #data:指令中的8位立即数; #data16:指令中的16位常数; Addrl6:16位地址; Addr11:11位地址; A:累加器; B:专用寄存器,用于MUL和DIV指令中; C:进位标志位,或位(布尔)处理器中的位累加器; bit: 位地址,内部RAM(20H~2FH)或是特殊功能寄存器(SFR)中的可寻址位; /bit:位地址内容取反; DPTR:16位数据指针,可以作为16位地址寄存器; rel:8位带符号偏移量,用于相对转移指令中,取值范围在-128~+127之间; @:间接寻址前缀符号,用于间址寄存器前,如@Ri,@DPTR; (X):表示由X所指定的某寄存器或单元的内容; ((X)):表示由X间接寻址的单元中的内容。 (1)立即寻址方式 立即寻址方式是将操作数直接存放在指令字节中,作为指令的一部分存放在代码段里。跟在指令操作码后面的数就是参加运算的数, 该操作数称为立即数。立即数有一字节和二字节两种可能,操作数直接在指令中,不需要去寻找。 例:MOV A,#52H ;(A)←立即数52H (2)直接寻址方式 指令中直接给出了操作数所在单元的地址或名称。 例:MOV A,52H ;(A) ←(44H) (3)寄存器寻址方式 操作数为寄存器的内容。指令给出存放操作数的寄存器。 例: MOV A , R0 ; (A) ←(R1) 假若RS1=RS0=0,则R0代表00H单元 。 (4)寄存器间接寻址方式 寄存器中的数是操作数所在单元的地址。即操作数是通过指令中给出的寄存器间接得到的 例:已知PSW=00H,(00H)=60H,(60H)=3BH MOV A , @R0 ;(A)←((R0))=#3BH (5)变址寻址(基址寄存器+变址寄存器间接寻址) 以16位的地址指针寄存器DPTR或程序计数器PC寄存器为基址寄存器,以累加器 A 为变址寄存器,两者内容相加得到的16位地址作为操作数的地址。该“地址”所指的存储单元中的内容才是操作数。 使用变址寻址方式的指令只有如下3条: MOVC A , @A+DPTR MOVC A , @A+PC JMP @A+DPTR 例:下列程序段的操作过程。 (6) 位寻址方式 位寻址只在位操作指令中使用,且只针对具有位地址的单元或可进行位寻址的部分特殊功能寄存器。位地址在指令中用bit表示,而在编写汇编程序时通常以下列5种形式之一出现: 1) 直接位地址方式:如07H表示20H单元的D7位;E0H表示累加器A的D0位等; 2) 点操作符方式:如A.6(或ACC.6)表示累加器A的D6位;PSW.7表示CY ; 3) 点单元地址方式:如20H.0表示20H的D0位 ; 4) 位名称方式:如RS0、RS1、TR0、TR1等; 5) 伪指令定义方式:如LOOP BIT 20H,定义后就可以用LOOP代表位地址20H. 位寻址方式注意: ① 位寻址指令是针对一位二进制操作的,而不是一个字节; ② 位寻址的范围为20H—2FH的16个单元中的128个位地址和具有位地址的12个特殊功能寄存器的93个位地址; ③位地址里的数据只可能是一个 0 或 1。 (7) 相对寻址方式 这类寻址方式是以PC的内容为基址,加上指令中给定的偏移(rel) ,所得的结果作为转移地址,它只适用于转移指令。偏移量(rel)是8位有符号数,在-128~+127之间,用二进制补码表示。 rel取值为正表示正跳转,取值为负表示负跳转。在汇编程序中常以标号的形式表示。 操作数寻址方式及有关空间 数据传送类指令分类(5种/29条) 内部存储器间传送: (MOV——16条) 外部数据存储器与累加器间传送: (MOVX——4条) 程序存储器向累加器传送:(MOVC——2条) 数据交换:(XCH,XCHD,SWAP——5条) 堆栈操作: (PUSH,POP——2条) 数据传送指令一览表 数据传送指令一览表(续) 2. 以A为目的操作数的指令(4条)

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档