AT89C51指令系统.pptVIP

  1. 1、本文档共28页,可阅读全部内容。
  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文档。上传文档
查看更多
AT89C51指令系统

第3章 AT89C51指令系统 3.1基本概念内部结构和引脚功能 机器代码:由于指令用八位二进制机器代码表示,所以,指令又称为机器代码。机器代码也可用16进制表示。例3-1的指令用十六进制表示为(省去了“H”,本书对机器代码都如此处理) 75 90 F1 ;将数据F1传送到内RAM地址 单元90中 F8 ;将寄存器A中的内容传送到 寄存器R0中 80 FE ;是短转移指令,FE是转移 相对地址。 3.1.3 汇编语言、汇编语言指令格式、常用符号 1.汇编语言:汇编语言是用助记符、字符串和数字等来表示指令的程序语言。它与机器语言指令是一一对应的,比较接近人的自然语言。 汇编语言的助记符多是与指令操作相关的英文缩写;便于记忆、修改。若将例3-1的机器语言指令用汇编语言来写便是: MOV P1,#0F1H ;意思是将数(称立即数)F1H 传送到特殊功能寄存器P1中 MOV R0,A ;将寄存器A(累加器)中的内 容传送到寄存器R0中 SJMP $ ;是短转移指令,符号$表示该 条指令的首地址。 AT89C51单片机汇编语言指令系统有42种助记符,111种指令。按指令长度可分单字节指令,双字节指令和三字节指令。按指令执行时间可分为单机器周期指令(64种),双机器周期指令(45种)的四机器周期指令(只有乘、除法指令两种)。 汇编语言比机器语言易懂、方便;但单片机CPU是不认识的,必须要将它们转换成机器语言。 2.汇编语言指令的书写格式 AT89C51汇编语言指令系统的指令格式一般为 [ 标号:]操作码 [操作数1][,操作数2][,操作数3] [;注释] 标 号:用符号表示的该条指令的首地址,根据需要设置。位于一条指令(语句)的开头,以冒号结束。它以英文字母开头,由字母、数字、下划线等组成。 操作码:操作码规定指令实现何种功能(传送、加、减……)操作。是由助记符表示的字符串,是任一指令语句不可缺少的部分,是汇编软件生成目标代码的依据。 操作数:在汇编语言中,操作数可以是被传送的数(立即数),或数在内RAM中的地址,寄存器,转移的指令地址,……。可以采用字母、字符和数字等多种表示形式。操作数个数因指令的不同而不同,多至3个操作数,各操作数之间要用“,”号分开。 注 释:为便于阅读而对指令附加的说明语句。必须以“;”开始。可以采用字母、数字和汉字等多种表示形式。 注意事项: ①每条指令必须有操作码,而方括号所括内容可有可无,由指令、编程情况决定;②标号不能采用系统中已定义过的字符(如MOV,DB等);③标号与操作码之间要有“:”隔开;④操作码和操作数之间一定要有空格;⑤操作数之间必须用“,”隔开;⑥每行只能有一条指令。 3.汇编语言常用符号 指令系统中除表示操作码的42种助记符之外(如MOV,JB……),还使用了一些符号。这些符号的含义如下: Rn——当前选中的工作寄存器组中的8个寄存器R0~R7(n=0~7) Ri——当前选中的工作寄存器组中的2个寄存器R0、R1(i=0,1). direct——8位直接地址。可以是内部RAM单元的地址(00H~7FH)或特殊功能寄存器的地址。 #data8——包含在指令中的8位二进制数。 #data16——包含在指令中的16位二进制数。 Addr16——16位二进制地址,用于LCALL、LJMP……指令中,能调用或转移到64KB程序存储器地址空间的任何地方。 Addr11——用于ACALL和AJMP指令中,可在该指令的下条指令首地址所在页的2K字节内调用或转移地址的低十一位。其含意在相关汇编语言指令中讲解。 rel——在以下相关的汇编语言指令中讲解它的意义。 DPTR——数据指针,可用作16位二进制的地址寄存器。 bit——位,内部RAM(包括特殊功能寄存器)中的可寻址位。 A——累加器。 B——特殊功能寄存器,常用于乘除法指令MUL和DIV中。 C——进位标志或进位位,或位处理器中的累加器。也可用Cy表示。 @——间址寄存器或基址寄存器的前缀,如@ Ri,@DPTR 。 / ——位操作的前缀,表示对该位操作数取反,如 / bit 。 (×)——× 中的内容。 ((×))——×中内容为地址的其中的内容。 ← 用箭头右边的内容取代箭头左边的内容。 $ —— 指本条指令的首地址。 3.1.4 汇编(编译)和编程(固化) 用汇编语言编写的程序称源程 序。单片机是不认识的。故必 须转换成二进制格式(BIN)或 十六进制格式(HEX)文件(称目 标代码文件)。一般都用计算 机软件(例Keil、Wav

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档