文档详情

03第三章MCS-51的指令系统A分解.ppt

发布:2017-01-22约2.8万字共172页下载文档
文本预览下载声明
第三章 MCS-51的指令系统 第三章 MCS-51的指令系统 3.1 指令及其表示方式 3.2 寻址方式 3.3 指令系统 3.1 指令及其表示方式 3.1.1 指令格式 3.1.2 指令表示法 3.1.1 指令格式 微处理器的指令是完成一种特定操作的命令。通常,指令由操作码和操作数两部分组成一般来说.指令应具有如下功能: 操作码指明执行什么性质和类型的操作。例如,数的传送、加法、减法等。 操作数指定参加操作的数本身或者是操作数所在的地址(操作数地址)。 指定操作结果存放的地址。 指定下一条指令存放的地址(指令地址)。 3.1.1 指令格式 通常,按指令排列顺序,由CPU中的程序计数器PC指出下一条要执行指令的地址,每取一个字节,PC能自动加1,这样在指令中就不必指明下一条指令的地址。 若遇到程序转移的情况则由转移指令指明下一条指令的地址,执行完后自动地把下一条指令的地址赋予PC。 3.1.1 指令格式 此外,约定结果数的地址和一个操作数的地址相同。例如,先把一个加数存入A中,当它和另一个数相加后,其结果仍放在A中,于是可不在指令中指明该结果存放的地址。 3.1.1 指令格式 在微型机中,一般采用变长字节的指令,也就是说,不同指令用不同长度来表示,但都是字节的整数倍。MCS-51指令格式有三种形式,它们分别占有1-3个存储单元。 3.1 指令及其表示方式 3.1.1 指令格式 3.1.2 指令表示法 3.1.2 指令表示法 指令有两种表示方法:机器码表示法和助记符表示法。 指令的机器码表示法,就是用计算机能直接识别、执行的二进制代码形式表示指令,常用二进制代码的速记形式。即十六进制代码表示。 3.1.2 指令表示法 例如,一条实现A=A+07的指令用机器码表示为: (二进制代码) 24 07 (十六进制代码) 机器码表示法没有把表示法与指令的功能联系起来,因此难以理解和记忆,极易出错。 3.1.2 指令表示法 指令的助记符表示法,则是用表征指令功能的字符形式表示指令。通常用英文名称或缩写形式作为助记符。 例如,实现上述运算的指令用助记符表示为: ADD A,#07 显而易见,助记符表示法便于书写、理解和记忆,但计算机不能直接识别和执行这种以助记符表示的指令,需要经过汇编程序翻译成机器码后才能执行。 指令的一个重要组成部分是操作数,它指明了参与操作的数或数所在的地址,也就是要指出操作数的来源,这就是对操作数进行寻址。 对于相对转移指令,操作数则要指出下一条要执行指令的地址,这就是对指令地址寻址。 寻址,实际上包含了寻找操作数和寻找下一条语句所在地址两种完全不同的动作。 3.2 寻址方式 1、寻址空间 2、寻址方式 立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 变址寻址 相对寻址 位寻址 3.2 寻址方式 寻址方式就是寻找操作数地址或指令地址的方式。形成操作数地址或指令地址的过程,称为寻址过程。 MCS-51共有七种寻址方式。 3.2 寻址方式 3.2.1 寻址空间 3.2.2 立即寻址 3.2.3 直接寻址 3.2.4 寄存器寻址 3.2.5 寄存器间接寻址 3.2.6 变址寻址 3.2.7 相对寻址 3.2.8 位寻址 3.2.1 寻址空间 寻址空间包括存储器的存储单元地址和位地址。 对程序存储器、片外数据存储器都是以字节为单位寻址的; 对片内数据存储器既可以字节为单位寻址,又可以位为单位寻址。 3.2.1 寻址空间 位地址空间包括片内数据存储器地址20H-2FH区间内的128个位地址。 3.2.1 寻址空间 还包括特殊功能寄存器SFR中能被8整除的寄存器地址中的88个位地址; 3.2.1 寻址空间 片内外ROM地址 连续(0000H-FFFFH) 低4K有重叠 片内RAM地址 低128字节连续(00H-7FH) 高128字节SFR不连续,不全有效(21个有效地址) 8052高128字节RAM连续(7FH-FFH) 片外RAM地址连续(0000H-FFFFH) 位地址 低128位连续(00H-7FH) 高128位不连续,不全有效(88个有效地址) 3.2.1 寻址空间 PC可不可以访问? 3.2 寻址方式 3.2.1 寻址空间 3.2.2 立即寻址 3.2.3 直接寻址 3.2.4 寄存器寻址 3.2.5 寄存器间接寻址 3.2.6 变址寻址 3.2.7 相对寻址 3.2.8 位寻址 3.2.2 立即寻址 在这种寻址方式中,指令一般是双字节的。 其中第一个字节是操作码;第二个字节是操作数,它是直接参与操作的数,所以又称为立即数,用“#”表示。 立即数在编程时由用户指定,为一个常数。 在立即寻址方式中,仅有一条指令(MOV
显示全部
相似文档