第三章80c51的指令系统.pptx

单片机原理 及接口技术;第三章 指令系统; MCS-51单片机汇编语言指令格式: [标号:] 操作码 [操作数] [; 注释] 例如:START: MOV A, #00H; (A) ← 00H ; 标号是用户定义的符号,标号实际上为符号地址,标号的值代表这条指令在存储器ROM中存放的位置。 标号以字母开头,后面可跟着字母或数字,以冒号“:”结尾。 标号是可有可无的,视编程者的需要而定。 在编程过程中,需要指出标号的地方,最好用一些有意义、好识别又不和通用指令重复的标号,以增强程序的可读性。; Rn: 表示当前工作寄存器R0~R7中的一个。 @Ri: 表示寄存器间接寻址,常常作间接寻址的地址指针。其中Ri代表R0和R1寄存器中的一个。 Direct: 表示内部数据存贮器单元的地址及特殊功能寄存器SFR的地址,对SFR而言,既可使用它的物理地址,也可直接使用它的名字。 #data: 表示8位立即数,即8位常数,取值范围为#00H~#0FFH; #date16: 表示16位立即数,即16位常数,取值范围为#0000H~#0FFFFH rel: 用补码形式表示的地址偏移量,取值范围为-128~+127。 bit: 表示内部RAM和SFR中的具有位寻址功能的位地址。SFR中的位地址可以直接出现在指令中,为了阅读方便,往往也可用SFR的名字和所在的数位表示。如:表示PSW中奇偶校验位,可写成D0H,也可写成PSW.0的形式出现在指令中。 @: 表示间接寻址寄存器或基址寄存器的前缀符号。 $: 表示当前指令的地址。;三、 寻址方式; 1、寄存器寻址 操作数存放在所选定的寄存器中。包括: (1)内部RAM中的32个工作寄存器R0~R7; (2)A、B、C、DPTR;; 例如: MOV A, R7 若(R7)=68H,则指令执行后(A)=68H。 寻址过程如下图所示。; 再如: INC R3 ;(R3)←(R3)+1 该指令表示将寄存器R3中的内容加1后又存放在R3中。; 2、寄存器间接寻址 指令中指出某一个寄存器的内容为操作数的地址,以符号“@”表示。寄存器中出现的数并不是参加操作的数据本身,而是操作数在存储器中的存放地址。 ; 2、寄存器间接寻址 指令中指出某一个寄存器的内容为操作数的地址,以符号“@”表示。寄存器中出现的数并不是参加操作的数据本身,而是操作数在存储器中的存放地址。 例如:MOV A,@R0 ;(A)←((R0)) 若(R0)=30H,(30H)=40H,则执行该指令后(A)=40H。如下图所示。 ; 寄存器间接寻址寻址方式可访问内部RAM的128字节,或外部RAM的低256字节。 MOV A, @Ri ;内部RAM MOVX A, @Ri ;外部RAM ; 寄存器间接寻址寻址方式可访问内部RAM的128字节,或外部RAM的低256字节。 MOV A, @Ri ;内部RAM MOVX A, @Ri ;外部RAM ; 寄存器间接寻址寻址方式可访问内部RAM的128字节,或外部RAM的低256字节。 MOV A, @Ri ;内部RAM MOVX A, @Ri ;外部RAM ;3、立即寻址 指令直接给出操作数. 例如: MOV A, #88H MOV DPTR, #1234H; MOV DPTR, #TABLE ;TABLE为标号地址 MOV P1, MOV R3,

文档评论(0)

1亿VIP精品文档

相关文档