欢迎来到天天文库
浏览记录
ID:26778855
大小:449.85 KB
页数:73页
时间:2018-11-28
《安全生产技术安全生产事故案例分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章单片机的指令系统本章内容单片机的指令格式单片机指令格式符号的意义单片机指令介绍单片机的寻址方式第一节指令系统概述指令是供给用户使用单片机的软件资源,它是CPU控制计算机进行某种操作的命令。全部指令的集合是指令系统。指令常用它的英文名称或缩写形式作为助记符,以助记符表示的指令称为计算机的汇编语言,用指令编写的程序称为汇编语言程序。一、指令的概念1、机器码指令与汇编语言指令MCS-51单片机的指令有两种表达方式:即机器码指令和汇编语言指令。机器码指令定义:用二进制代码(或十六进制数)表示的指令特点:能够直接被计算机硬件识别和执行,但不易阅读和记忆。例如指令INCA执行累加器A加
2、1操作,其二进制代码为“00000100B”,用十六进制数表示的机器码指令为"04H"。汇编语言指令定义:用助记符来表示的指令。例如用“MOV”表示数据的传送。特点:不能被计算机硬件直接识别和执行,必须通过某种手段(汇编)把它变成机器码指令才能被机器执行。编写的程序效率高,占用存储空间小,运行速度快,能编写出最优化的程序。2、汇编语言的语句格式MCS-51汇编语言的语句格式:〔<标号>〕:<操作码>〔<操作数>〕;〔<注释>〕即一条汇编语句是由标号、操作码、操作数和注释4个部分所组成,其中方括号括起来的是可选择部分,可有可无,视需要而定。汇编语言的语句格式1)标号标号是语句地址的标志符号,
3、有了标号,程序中的其它语句才能访问该语句。有关标号的规定如下:标号是由1-8个ASCII字符组成,但头一个字符必须是字母,其余字符可以是字母、数字或其它特定字符。不能使用本汇编语言已经定义了的符号作为标号,如指令助记符、伪指令记忆符以及寄存器的符号名称等。同一标号在一个程序中只能定义一次,不能重复定义。标号的有无取决于本程序中的其它语句是否需要访问这条语句。2)操作码操作码用于规定语句执行的操作内容,操作码是以指令助记符或伪指令助记符表示的,操作码是汇编指令格式中唯一不能空缺的部分。汇编语言的语句格式3)操作数操作数用于给指令的操作提供数据或地址。4)注释注释不属于语句的功能部分,它只是对
4、语句的解释说明。5)分界符(分隔符)分界符用于把语句格式中的各部分隔开,以便于区分,包括空格、冒号、分号或逗号等多种符号。冒号(:)用于标号之后空格()用于操作码和操作数之间逗号(,)用于操作数之间分号(;)用于注释之前汇编语言的语句格式3、指令的长度在MCS-51指令系统中,有一字节、二字节和三字节等不同长度的指令。1)一字节指令一字节指令只有一个字节,操作码和操作数信息同在其中。2)二字节指令二字节指令包括二个字节,其中第一个字节为操作码,第二个字节是操作数。3)三字节指令三字节指令中,操作码占一个字节,操作数占两个字节。二、MCS-51单片机的寻址方式寻址:如何指定操作数的所在单元。
5、根据指定方法的不同,MCS-51单片机共有7种寻址方式。汇编语言的语句格式1、寄存器寻址方式定义:操作数在寄存器中。在寄存器寻址方式的指令中以符号名称来表示寄存器。例如指令:MOVA,R0;把寄存器R0的内容传送到累加器A中寻址范围:·通用寄存器,共有4组共32个通用寄存器。·部分专用寄存器。例如累加器A、B寄存器及数据指针DPTR等。2、直接寻址方式定义:指令中操作数直接以单元地址的形式给出。例如指令:MOVA,3AH;把内部RAM3AH单元中的数据传送给累加器A寻址范围:·低128单元。在指令中直接以单元地址形式给出。·专用寄存器。专用寄存器除以单元地址形式给出外,还可以以寄存器符号形
6、式给出。寻址方式3、寄存器间接寻址方式定义:寄存器中存放的是操作数的地址,即操作数是通过寄存器间接得到的。注意:在寄存器间接寻址方式中,应在寄存器的名称前面加前缓标志“@”。例如:假定R0寄存器的内容是3AH,则指令:MOVA,@Ro;以R0寄存器内容3AH为地址,把该地址单元的内容送累加器A寻址方式寻址范围:·内部RAM低128单元只能使用R0或R1作间址寄存器(地址指针),其通用形式为@Ri(i=0或1)。·外部RAM64KB只能使用DPTR作间址寄存器,其形式为@DPTR。·外部RAM的低256单元间址寄存器为DPTR、R0、R1,例如MOVXA,@R0;即把R0指定的外部RAM单元
7、的内容送累加器A·堆找操作指令(PUSH和POP)即以堆找指针(SP)作间址寄存器的间接寻址方式。寻址方式4、立即寻址方式定义:操作数在指令中直接给出。例如:MOVA,#3AHMOVDPTR,#3000H寻址方式5、变址寻址方式定义:以DPTR或PC作基址寄存器,以累加器A作变址寄存器,并以两者内容相加形成的16位地址作为操作数地址,以达到访问数据表格的目的。(A中的数为无符号数)。例如:MOVCA,@A+DPTR;把D
此文档下载收益归作者所有