- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]02 MCS-51系列单片机指令系统
例:A= 9AH,R2= E3H,PSW= 0,执行指令 ADDC A,R2 后求: A= ,Cy= ,OV= ,AC= ,P= PSW= ? 1001 1010 1110 0011 + 0 1 0111 1101 7DH 1 1 0 0= 84H 0 0 1 0 0 0 0 1 P --- OV RS0 RS1 F0 AC CY 1.乘法指令 MUL AB ;A×B→BA 如果积大于255,则置“1”溢出标志位OV 2.除法指令 DIV AB ;A/B→A(商),余数→B 如果B的内容为“0”(即除数为“0”),则存放结果的A、B中的内容不定,并置“1”溢出标志位OV。 2.3.4 乘法和除法指令 * 关键词:指令 寻址方式 汇编语言 2.1 单片机指令基础 2.1.1 指令的概念 1、机器码指令与汇编语言指令 机器码:计算机执行命令的二进制代码 汇编语言:用助记符记忆机器码形成指令的语言 MOV A , #3AH ;将数据3AH送到A MOV A , 0A5H ;将3AH单元的内容送到A MOV A , R0 ;将寄存器R0的内容送到A “#”后面的表示是数据。没有#的表示是内存的地址 “H”表示是前面十六进制的数。当这个十六进制数大于9后,前面必须加0。 操作码 目的操作数 源操作数 注释符 2、汇编语言指令格式 【标号:】_操作码 _【目的操作数,】_【源操作数】【;注释】 标号:用于给这段程序加一个名字。编译成程序段的地址 操作码:用于告诉机器做什么事情 目的操作数:操作过后的数据存放点 源操作数:数据的来源 注释:对这条指令的解释。便于设计者记忆 上述格式不能错!!! 例子: MOV A , R0 ;将寄存器R0的内容送到A 指令的字节长度: 单字节指令,速度快,仅用一个周期,12个主频脉冲。 双字节指令,速度中,用两个周期,24个主频脉冲。 三字节指令,速度慢,用?周期,?个主频脉冲 3、指令系统 完成一条单周期指令的时间是:12/f 。如果主频是12MHz,则: 2.1.2 51单片机指令系统说明(共38条指令) 指令中的常用符号 Rn: n=(0~7),表示当前工作寄存器R0~R7中的一个 Ri: i=(0、1),代表R0和R1寄存器中的一个,用作间接寻址寄存器 dir : 8 位直接字节地址(片内 RAM 和 SFR ) #data: 8位立即数,即8位常数。可以为2进制(B)、10进制、 16进制(H)、字符(‘ ’) 指令中的常用符号 #data16: 表示16位立即数,即16位常数,取值范围为#0000H~#0FFFFH addr16 : 表示16位地址 addr11 : 表示11位地址 rel : 相对偏移量(为一字节补码)用于相对转移指令中 bit :位地址,在位地址空间中。 $: 表示当前指令的地址。 有关指令对标志位的影响参见P29表2.1 2.1.3 寻址方式 1、立即寻址 指令中直接给出操作数的寻址方式。在51系列单片机的指令系统中,立即数用一个前面加 “#“号的8位数(#data,如#30H)或16位数(#data16,如#2052H)表示。立即寻址中的数,称为立即数。立即数在程序存储器中存放 例如指令: MOV R1,#30H ;R1=30H MOV A, #3AH ;A =3AH 寻址:找到源操作数的方式 2、寄存器寻址 源操作数存放在寄存器中 寄存器可以是:A,B,DPTR,R0~R7 B 仅在乘除法指令中为寄存器寻址,在其他指令中为直接寻址。 A 可以寄存器寻址又可以直接寻址,直接寻址时写作ACC 例如:MOV A,R0 ;R0→A,A、R0均为寄存器寻址 MUL A B ;A*B→BA,A、B为寄存器寻址 3、间接寻址 操作数存放在以寄存器内容为地址的单元中。 例如: MOV R0, #20H ;先设置源操作数的地址(立即数) MOV @R0,A ;A→(20H) 地址的内部RAM MOVX A,@R1 ;外部RAM的 内容→A MOVX @DPTR,A ;A→以DPTR内容为地址的 外部RAM
文档评论(0)