1、第三章 MCS-51系列单片机的指令系统及汇编语言程序设计3.1 指令格式与寻址方式3.1.1 指令格式3.1.2 指令中常用符号含义3.1.3 寻址方式 MCS-51单片机汇编语言指令格式为:3.1.1 指令格式标号: 操作码 操作数或操作数地址 ;注释MCS-51单片机汇编语言指令由以下几个部分组成: 标号 操作码 操作数或操作数地址 注释标号 标号是程序员根据编程需要给指令设定的符号地址,可有可无; 标号由 18个字符组成,第一个字符必须是英文字母,不能是数字或其它符号; 标号后必须用冒号(:); 在程序中,不可以重复使用。操作码操作码表示指令的操作种类,规定了指令的具体操作。它确定了本
2、条指令完成什么样的操作功能。 比如: ADD(加操作),MOV (数据的传送操作)。 操作码是用英文缩写的指令功能助记符。 任何一条指令都必须有该助记符项 , 不得省略。 操作数或操作数地址操作数或操作数地址表示参加运算的数据或数据的地址。操作数和操作码之间必须用逗号分开。操作数一般有以下几种形式: 没有操作数项,操作数隐含在操作码中, 如 RET指令 ; 一个操作数, 如 CPL A指令 ; 两个操作数, 如 MOV A, #00H指令 ,操作数之间以逗号相隔; 三个操作数, 如 CJNE A,#00H,NEXT指令 ,操作数之间也以逗号相隔。 注释注释是对指令的解释说明,用以提高程序的可读
3、性;注释前必须以 “ ; ” 和指令分开,注释在每条指令后。 数据传送类指令助记符与操作 3.1.2 指令中常用符号 (1) Ri和 Rn: R表示当前工作寄存器区中的工作寄存器 , i表示 0或 1, 即 R0和 R1。 n表示 0 7, 即 R0 R7, 当前工作寄存器的选定是由 PSW的 RS1和 RS0位决定的。 (2) data: 表示立即数 , data为 8位常数。 data是指包含在指令中的 8位立即数。 (3) data16: 包含在指令中的 16位立即数。 (4) rel: 相对地址 , 以补码形式表示的地址偏移量 , 范围为 -128 +127, 主要用于无条件相对短转移指令SJMP和所有的条件转移指令中。 (5) addr16: 16位目的地址。 目的地址可在全部程序存储器的 64 KB空间范围内 , 主要用于无条件长转移指令 LJMP和子程序长调用指令 LCALL中。 (6) addr11: 11位目的地址。 目的地址应与下条指令处于相同的 2 KB程序存储器地址空间范围内 , 主要用于绝对转移指令 AJMP和子程序绝对调用指令 ACALL指令中。