第二章 MCS-51系列单片机的指令系统及汇编语言程序设计.ppt

第二章 MCS-51系列单片机的指令系统及汇编语言程序设计.ppt

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

第二章 MCS-51系列单片机的 指令系统及汇编语言程序设计 2.1 指令格式与寻址方式 2.1.1 指令格式 2.1.2 MCS-51单片机指令中常用符号含义 2.1.3 MCS-51单片机的寻址方式 MCS-51单片机汇编语言指令格式为: 标号 标号是程序员根据编程需要给指令设定的符号地址,可有可无; 标号由1~8个字符组成,第一个字符必须是英文字母,不能是数字或其它符号; 标号后必须用冒号; 在程序中,不可以重复使用。 操作码 操作码表示指令的操作种类,规定了指令的具体操作。 比如:ADD(加操作),MOV (数据的传送操作)。 操作数或操作数地址 操作数或操作数地址表示参加运算的数据或数据的地址。操作数和操作码之间必须用逗号分开。操作数一般有以下几种形式: 没有操作数项,操作数隐含在操作码中,如RET指令; 只有一个操作数,如CPL A指令; 有两个操作数,如MOV A,#00H指令,操作数之间以逗号相隔; 有三个操作数,如CJNE A,#00H,NEXT指令,操作数之间也以逗号相隔。 注释 注释是对指令的解释说明,用以提高程序的可读性;注释前必须 以“;”和指令分开,注释在每条指令后都可以设有。 2.1.2 指令中符号的意义说明 Rn 当前工作寄存器中的某一个,即R0~R7; Ri R0或者R1 Direct 单片机内部RAM低128字节中的某个字节地址, 或者是某个专用寄存器的名字; #data 8位(1字节)立即数 #data16 16位(2字节)的立即数 Addr16 16位目的地址,在LJMP和LCALL的指令中采用 Addr11 11位目的地址,只在AJMP和ACALL指令中采用 Rel 相对转移指令中的偏移量。 DPTR 数据指针(由DPH和DPL构成) Bit 内部RAM(包括专用寄存器)中可寻址位的地址或名字 A 累加器ACC B B寄存器 @ 间接寻址标志 / 加在位地址前,表示对该位状态取反 (X) 某寄存器或某单元的内容 ((X)) 由X间接寻址的单元中的内容 2.1.3 MCS-51单片机的寻址方式 MCS-51有7种不同的寻址方式: 立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 位寻址 变址寻址 相对寻址 1、立即寻址 MOV A,#40H;将40H这个立即数传送给累加器ACC,“#”符号称为立即数符号,40H在这里称为立即数。 比如: MOV DPTR,#6789H MOV R0,#23H 2、直接寻址 MOV A,30H;将内部RAM30H单元内的数传送给累加器ACC。 MOV A,60H ADD A,30H INC 70H MOV 30H,70H DEC 50H 例如:MOV A,30H ;假如(30H)=55H 3、寄存器寻址 MOV A,R0 数据存放在R0~R7中的某个通用寄存器内,或者放在某个专用寄存器中。 比如: MOV A,R7 MOV A,SBUF ADD A,R0 4、寄存器间接寻址 在51单片机中有两个寄存器可以用于间接寻址,它们是R0和R1。当指向片外的64KB的RAM地址空间时,可用DPTR作间接寄存器。 MOV A, @R0 假如R0寄存器中的数据是50H,则以上指令的意思是:将内部RAM中50H单元内的数传送给累加器ACC。 Exp:假如R1内的数是70H,在内部RAM的70H单元中存放的数据是00H,在执行以下指令后,外部RAM中3FFFH单元的内容是00H。 MOV A,@R1 MOV DPTR,#3FFFH MOVX @DPTR,A 5、位寻址 当单片机要进行某一位二进制数操作时,可采用位寻址。 Exp:SETB C 指令含义:将专用寄存器PSW中的CY位置为1。 CLR P1.0;将单片机的P1.0清“0”。 SETB P1.0;将单片机的P1.0置“1”。 6、变址寻址 Exp:MOVC A,@A+DPTR 指令含义:假设在执行指令前,数据指针DPTR中的数据是1000H,累加器ACC中的数据

文档评论(0)

cgtk187 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档