2020年 07月 20日 星期一
您的位置: 威廉希尔主页 > 单片机技术 >

单片机电子教本教材教本教本第3章节资料

来源:未知     作者:威廉希尔     发布时间:2020-07-20 10:48         

  单片机电子教本教材教本教本第3章节资料_计算机软件及应用_IT/计算机_专业资料。本章分为七节,主要介绍: 3.1 指令格式及常用符号 3.2 80C51的寻址方式 3.3 数据传送类指令(29条) 3.4 算术运算类指令(24条) 3.5 逻辑运算与循环类指令(24条) 3.6

  本章分为七节,主要介绍: 3.1 指令格式及常用符号 3.2 80C51的寻址方式 3.3 数据传送类指令(29条) 3.4 算术运算类指令(24条) 3.5 逻辑运算与循环类指令(24条) 3.6 控制转移类指令(17条) 3.7 位操作类指令(17条) 3.1 指令格式及常用符号 3.1.1 机器指令的编码格式 一、单字节指令 1、8位编码仅为操作码: 如:INC A。该指令的编码为:0000 0100B, 其十六进制表示为04H,累加器A隐含在操作码 中。指令的功能是累加器A的内容加1。 注意:在指令中用“A”表示累加器,而用 “ACC”表示累加器对应的地址(E0H)。 2.8位编码含有操作码和寄存器编码 高5位为操作码,低3位为存放操作数的寄存器 编码。如:MOV A,R0 编码为1110 1000B,其十六进制表示为E8H (低3位000为寄存器R0的编码)。功能是将当前 工作寄存器R0中的数据传送到累加器A中。 二、双字节指令 第一字节表示操作码,第二个字节表示参 与操作的数据或数据存放的地址。 如:MOV A,#50H 编码为0111 0100B,0101 0000B。其十 六进制表示为74H,50H。功能是将立即数 “50H”传送到累加器A中。 三、三字节指令 指令的第一字节表示该指令的操作码,后 两个字节表示参与操作的数据或数据存放的 地址。如:MOV 20H,#50H 编码为0111 0101B,0010 0000B,0101 0000B。其十六进制表示为75H,20H,50H。 功能是将立即数“50H”传送到内部RAM 的 20H单元中。 3.1.2 符号指令的格式 一般格式为: 操作助记符 [目的操作数][,源操作数][;注释] 多数指令为两操作数指令;当指令操作数隐含在 操作助记符中时,在形式上这种指令无操作数;另 有一些指令为单操作数指令或三操作数指令。指令 的一般格式中使用了可选择符号“[ ]”,包含的内 容因指令的不同可以有或无。 在两个操作数的指令中,通常目的操作数写在 左边,源操作数写在右边。 如:ANL A,#40H 功能是将立即数“40H”同累加器A中的数 进行“与”操作,结果送回累加器。 ANL为“与”操作的助记符,立即数 “40H”为源操作数,累加器A为目的操作数。 注:在指令中,多数情况下累加器用“A” 表示,仅在直接寻址方式中,用“ACC”表 示累加器在SFR区的具体地址E0H。 试比较,指令MOV A,#30H的机器码为 74H、30H;而指令MOV ACC,#30H的机 器码为75H、E0H、30H。 3.1.3 符号指令及其注释中常用的符 Rn(n=0~7)--当号前选中的工作寄存器组中的 寄存器R0~R7之一; Ri(i=0,1)--当前选中的工作寄存器组中的 寄存器R0或R1; @ ---------------间址寄存器前缀; #data ------------8位立即数; #data16---------16位立即数; direct--------片内低128个RAM单元地址及SFR 地址(可用符号名称表示); addr11-----------11位目的地址; addr16-----------16位目的地址; rel-----------------补码形式表示的8位地址偏移量,值 在-128~+127范围内; bit----------------片内RAM位地址、SFR的位地址(可 用符号名称表示); /-------------------位操作数的取反操作前缀; (×)----------- 表示 × 地址单元或寄存器中的内容; ← ----------------将箭头右边的内容送入箭头左边的单 元中。 3.2 80C51的寻址方式 ? 是寻找操作数或指令的地址的方式。 ? 80C51的寻址方式有七种。即:寄存器寻 址、直接寻址、寄存器间接寻址、立即寻 址、基址寄存器加变址寄存器变址寻址、 相对寻址和位寻址。 若不特别声明,我们后面提到的寻址方式 均指源操作数的寻址方式。 3.2.1 寄存器寻址 操作数存放在寄存器中,指令中直接给出该寄存器名称的 寻址方式。可以获得较高的传送和运算速度。 寄存器可以是:R0~R7;A;B(以AB寄存器对形式出 现);DPTR。 00H 30H R0 RAM 如: MOV A,R0 30H A SFR E8H MOV A,R0 ROM 3.2.2 直接寻址 指令操作码之后的字节存放的是操作数的地 址,操作数本身存放在该地址的存储单元中 的寻址方式称为直接寻址。 直接寻址中的SFR经常采用符号形式表示。 寻址空间为:片内RAM低128字节;SFR。 50H 3AH RAM 如: MOV A,50H 3AH A SFR E5H 50H MOV A,50H ROM 3.2.3 寄存器间接寻址 寄存器中的内容为地址,从该地址去取 操作数的寻址方式称为寄存器间接寻址 。 寻址的存储空间为片内RAM或片外RAM。 ?片内RAM的数据传送采用“MOV”类指令,间接寻址寄存 器采用寄存器R0或R1(堆栈操作时采用SP); ? 片外RAM的数据传送采用“MOVX”类指令,这时间接 寻址寄存器有两种选择,一是采用R0和R1作间址寄存器, 这时R0或R1提供低8位地址(外部RAM多于256字节采 用页面方式访问时,可由P2口未使用的I/O引脚提供高位 地址);二是采用DPTR作为间址寄存器。 寄存器间接寻址对应的空间为: ?片内RAM(采用@R0,@R1或SP); ?片外RAM(采用@R0,@R1或@DPTR)。 30H R0 30H 5AH RAM 如: MOV A,@R0 5AH A SFR E6H MOV A,@R0 ROM 3.2.4 立即寻址 指令编码中直接给出操作数的寻址方式称为立即寻址。

      威廉希尔