第3章80C51的指令系统 《单片机原理及应用技术》 3.1.2符号指令的格式 一般格式为: 操作助记符[目的操作数[,源操作数][;注释] 多数指令为两操作数指令;当指令操作数隐含在 操作助记符中时,在形式上这种指令无操作数;另 有一些指令为单操作数指令或三操作数指令。指令 的一般格式中使用了可选择符号“[]”,包含的内 容因指令的不同可以有或无。 在两个操作数的指令中,通常目的操作数写在 左边,源操作数写在右边
3.1.2 符号指令的格式 一般格式为: 操作助记符 [目的操作数][,源操作数][;注释] 多数指令为两操作数指令;当指令操作数隐含在 操作助记符中时,在形式上这种指令无操作数;另 有一些指令为单操作数指令或三操作数指令。指令 的一般格式中使用了可选择符号“[ ]”,包含的内 容因指令的不同可以有或无。 在两个操作数的指令中,通常目的操作数写在 左边,源操作数写在右边
第3章80C51的指令系统 《单片机原理及应用技术》 如:ANLA,#40H 功能是将立即数“40H同累加器A中的数 进行“与”操作,结果送回累加器 。 ANL为“与”操作的助记符,立即数 “40H为源操作数,累加器A为目的操作数。 注:在指令中,多数情况下累加器用“A” 表示,仅在直接寻址方式中,用“ACC”表 示累加器在SFR区的具体地址EOH。 试比较,指令MOVA,#30H的机器码为 74H、30H;而指令MOV ACC,#30H的机 器码为75H、E0H、30H
如:ANL A,#40H 功能是将立即数“40H”同累加器A中的数 进行“与”操作,结果送回累加器。 ANL为“与”操作的助记符,立即数 “40H”为源操作数,累加器A为目的操作数。 注:在指令中,多数情况下累加器用“A” 表示,仅在直接寻址方式中,用“ACC”表 示累加器在SFR区的具体地址E0H。 试比较,指令MOV A,#30H的机器码为 74H、30H;而指令MOV ACC,#30H的机 器码为75H、E0H、30H
第3章80C51的指令系统 《单片机原理及应用技术》 3.1.3 符号指令及其注释中常用的符 Rn(n=0-7)-前选中的工作寄存器组中的 寄存器R0~R7之一; Ri(=0,1)-当前选中的工作寄存器组中的 寄存器R0或R1; 间址寄存器前缀; #data=-=-8位立即数; #data16----16位立即数; direct-=-片内低128个RAM单元地址及SFR 地址(可用符号名称表示);
3.1.3 符号指令及其注释中常用的符 Rn(n=0~7)--当前选中的工作寄存器组中的 号 寄存器R0~R7之一; Ri(i=0,1)--当前选中的工作寄存器组中的 寄存器R0或R1; @ ---------------间址寄存器前缀; #data ------------8位立即数; #data16---------16位立即数; direct--------片内低128个RAM单元地址及SFR 地址(可用符号名称表示);
第3章80C51的指令系统 《单片机原理及应用技术》 addr11-=-=-=-11位目的地址; addr16--=---16位目的地址; rel---------------- 补码形式表示的8位地址偏移量,值 在一128~十127范围内; bit--片内RAM位地址、 SFR的位地址(可 用符号名称表示); 位操作数的取反操作前缀; (X) 表示义地址单元或寄存器中的内容; 将箭头右边的内容送入箭头左边的单 元中。 ④☒I
addr11-----------11位目的地址; addr16-----------16位目的地址; rel-----------------补码形式表示的8位地址偏移量,值 在-128~+127范围内; bit----------------片内RAM位地址、SFR的位地址(可 用符号名称表示); /-------------------位操作数的取反操作前缀; (×)----------- 表示 × 地址单元或寄存器中的内容; ← ----------------将箭头右边的内容送入箭头左边的单 元中
第3章80C51的指令系统 《单片机原理及应用技术》 3.2 80C51的寻址方式 是寻找操作数或指令的地址的方式。 80C51的寻址方式有七种。即:寄存器寻 址、直接寻址、寄存器间接寻址、立即寻 址、基址寄存器加变址寄存器变址寻址、 相对寻址和位寻址。 若不特别声明,我们后面提到的寻址方式 均指源操作数的寻址方式
3.2 80C51的寻址方式 • 是寻找操作数或指令的地址的方式。 • 80C51的寻址方式有七种。即:寄存器寻 址、直接寻址、寄存器间接寻址、立即寻 址、基址寄存器加变址寄存器变址寻址、 相对寻址和位寻址。 若不特别声明,我们后面提到的寻址方式 均指源操作数的寻址方式