- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章--51单片机指令系统及汇编程序设计PPT
单片机技术及应用——基于汇编及C51程序设计第3章 51单片机指令系统及汇编程序设计主 要 章 节13.1 指令系统概述3.2 51单片机的寻址方式3.3 51单片机的指令系统3.4 51单片机汇编程序设计概述3.5 51单片机常用汇编程序设计3.1 指令系统概述1一、51单片机汇编指令格式[标号:] 操作码 [操作数1][,操作数2] [;注释](1) 操作码指明指令的功能(2) 操作数给指令操作提供数据、数据的地址或指令的地址(3) 标号是指令的符号地址,后面需带冒号(4) 注释是对指令的解释,前面需带分号3.1 指令系统概述1二、51单片机汇编指令常用符号(1) Ri和Rn (2) #data(3) #data16 (4) rel(5) addr16和addr11 (6) direct(7) bit (8) (X)(9) / 和→符号3.2 51单片机的寻址方式1一、立即寻址操作数是常数,直接在指令中给出常数以“#”符号作前缀例如: MOV A,#30H3.2 51单片机的寻址方式1四、寄存器间接寻址操作数存放在存储单元中,存储单元的地址又存放在寄存器中指令中通过相应的寄存器来提供的存储单元的地址间接寻址用到的寄存器:通用寄存器R0、R1和数据指针寄存器DPTR。访问的对象为:片内数据存储器和片外数据存储器 片内数据存储器:用R0和R1作指针 (MOV) 片内数据存储器:用R0和R1访问低端的256字节; (MOVX) 用DPTR访问整个64K;3.2 51单片机的寻址方式1访问形式:@寄存器名例如:1) MOV R1,#30H MOV A,@R12) MOV DPTR,#2000H MOV A,@DPTR3.2 51单片机的寻址方式五、变址寻址操作数存放在存储单元中操作数的地址由指令中提供的基址寄存器和变址寄存器中的内容相加得到基址寄存器是:数据指针寄存器DPTR和程序计数器PC;变址寄存器:累加器A访问的对象只能是程序存储器(MOVC)格式只有两种: MOVC A,@ A+DPTR MOVC A,@ A+PC13.2 51单片机的寻址方式六、指令寻址操作对象是地址1. 绝对寻址直接提供目的位置的地址或地址的一部分2. 相对寻址以当前程序计数器PC值加上指令中给出的偏移量rel得到目的位置的地址(1) 当前PC值是指转移指令执行时的PC值,它等于转移指令的地址加上转移指令的字节数。(2) 偏移量rel是8位有符号数,以补码表示,它的取值范围为-128~+127。 相对寻址的目的地址为:目的地址=当前PC+rel=转移指令的地址+转移指令的字节数+rel13.2 51单片机的寻址方式1七、位寻址位处理操作位的寻址方式位地址的表示:(1) 直接位地址(00H~0FFH)。例如:20H。(2) 字节地址带位号。例如:20H.2表示20H单元的2位。(3) 特殊功能寄存器名带位号。例如:P0.1表示P0口的1位。(4) 位符号地址。例如:TR0是定时/计数器T0的启动位。3.3 51单片机的指令系统13.3.1数据传送类指令 三组:普通传送指令、数据交换指令、堆栈操作指令。用到的助记符有:MOV、MOVX、MOVC、XCH、XCHD、PUSH、POP和SWAP。1. 普通数据传送指令 1)片内数据存储器传送指令MOV 指令格式:MOV 目的操作数,源操作数AARnRn@Ri@RidirectdirectDPTR#data[16]1. 普通数据传送指令总共16条注意: MOV A,A指令没有意义源操作数和目的操作数中的Rn和@Ri不能相互配对11)片内数据存储器传送指令MOV1. 普通数据传送指令12)片外数据存储器传送指令MOVX 四条,格式:MOVX A,@DPTR ;A ← (DPTR)MOVX @DPTR,A ;(DPTR) ← AMOVX A,@Ri ;A ← (Ri)MOVX @Ri,A ;(Ri)← A1. 普通数据传送指令13)程序存储器传送指令MOVC两条:一条是用DPTR基址变址寻址,一条是用PC基址变址寻址。格式如下: MOVC A, @A+DPTR ;A ← (A+DPTR) MOVC A, @A+PC ;A ← (A+PC)2. 数据交换指令有3个助记符XCH、XCHD和SWAP,5条指令,格式如下:XCH A,Rn ;A= RnXCH A ,direct ;A=(direct)XCH A, @Ri ;A=(Ri)XCHD A, @Ri ;A0~3=(Ri)0~3SWAP A ;A0~3=A4~7?13. 堆栈操作指令1堆栈操
文档评论(0)