单片机原理和应用3-.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及应用 教师:王灿运 第三章 MCS-51单片机的指令系统 MCS-51单片机的指令系统 汇编语言指令的格式 单片机的寻址方式 二、程序设计语言 程序设计语言分为机器语言、汇编语言和高级语言。 1、机器语言 用二进制(或十六进制)码表示一条指令,是计算机能够直接识别和执行的语言。 2、汇编语言 用助记符、符号和数字等来表示指令的程序语言,易于理解和记忆,与机器语言指令一一对应。 三、汇编语言的指令格式 [标号:] 操作码 [操作数] [;注释] []内的部分可以舍取;各字段间要用分隔符分隔,字段内部不能使用分隔符。可用作分隔符的有空格、冒号、逗号、分号等。其中操作数通常分为目的操作数和源操作数,因此,格式也可写为 [标号:] 操作码 [目的操作数] [源操作数] [;注释] 1、标号 语句地址的标志符号。标号的规定: ①由1-8个ASCⅡ符号组成②第一个字符必须是字母③不能使用汇编语言已定义的符号④后面必须跟冒号⑤可有可无 2、操作码 用于规定语句执行的操作,它是汇编语句中唯一不能缺少的部分。由指令助记符或伪指令助记符表示。 3、操作数 用于给指令的操作提供数据或地址。分目的操作数和源操作数,其数目可有多个,每个操作数间用逗号分开 4、注释 对语句的解释说明。必须以“;”开头,可有多行,每行都用分号开头 四、常见符号 (1) Rn——选定当前工作寄存器组(0~3组中的一个)的通用寄存器R0~R7。 (2) @Ri——通用寄存器R0~R1(i=0,1)间接寻址的片内RAM单元(Ri只是Rn中的R0、R1) (3) @——间接寻址前缀。 (4) direct——8位直接地址(片内RAM或SFR)。 (5) #data——立即数(除MOV DPTR ,#data16 中的立即数为16位二进制数外,其余均为8位二进制数)。 (6) #——立即数前缀。 (7) addr16——16位(二进制数)目的地址,供LCALL和LJMP指令使用。 (8) addr11——11位(二进制数)目的地址,供ACALL和AJMP指令使用。 (9) rel——8位符号偏移量(以二进制补码表示),常用于相对转移指令。 (10) bit——位地址(用8位二进制数表示,使用时只有根据另一操作数情况来区别是位 地址还是字节地址,如 MOV C,20H 和MOV A,20H ,由于C是位标志,而A是累加器,故前者的20H为位地址,后者的20H为字节地址)。 (11) /——位取反前缀。/bit表示位地址bit的内容取反后再参与运算。 注意:位地址bit的原内容不变。 (12) (×)——表示×地址单元中的内容(该地址可以是8位的,也可以是16位的)。 (13) ((×))——表示以×地址单元中的内容作为新地址的其单元中的内容。 (14) $——当前指令存放的地址。 (15) ←——数据传输方向(即由右边的源操作数指向左边的目的操作数)。 第二节 MCS-51单片机的寻址方式 所谓寻址方式, 就是寻找操作数地址的方式, 在用汇编语言编程时, 数据的存放、传送、 运算都要通过指令来完成。 编程者必须自始至终都要十分清楚操作数的位置, 以及如何将它们传送到适当的寄存器去参与运算。 2、直接寻址 在指令中含有操作数的直接地址,该地址指出了参与运算的数所在的字节单元地址或位地址(位寻址)。直接寻址的寻址范围: (1)内部数据存储器的低128字节,00H~7FH; (2)特殊功能寄存器,注意除A、B、DPTR外,其他SFR只能采用直接寻址方式。 (3)位寻址:所有可寻址位; 例如:MOV A, 70H ;A ←(70H) MOV C, 70H ;CY ←(70H) 注意:对累加器直接寻址和位寻址时,要用符号“ACC”或直接地址“E0H”,以区别于寄存器寻址。 3、寄存器间接寻址 指令中指出某一个寄存器的内容为操作数的地址,以符号“@”表示。其寻址范围: (1)以R0,R1为地址指针,寻址内部RAM 00~7FH和外RAM的低256B; (2)以堆栈SP为地址指针,寻址栈区单元; (3)以DPTR,或R0、R1(须用P2指定高8位地址)为地址指针,寻址外部RAM的64KB空间和扩展I/O口。 例题:已知(R0)=31H,(31H)=56H 执行指令 MOV A,@R0;结果是? 区别: MOVX A,@DPTR ;A ←((DPTR)) MOVX A,@R0 ;A ←((P2R0)) 4、立即寻址 操作数以常数的形式出现,直接跟在操作码后面,以指令字节的形式存放在ROM中。在操作数前面加

文档评论(0)

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

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

1亿VIP精品文档

相关文档