单片机及接口技术10(第2章).ppt
文本预览下载声明
History of Automation and Automatic Control 第二章 单片机汇编语言及程序设计 汇编指令的基本格式——指令码的结构形式: 标号 操作码 操作数 ;注释 标号——指令的标识,表示指令的首地址; 操作码——操作的命令(指示机器执行何种操作) 操作数——参与操作的数据(是操作码的补充), 分目的操作数和源操作数。 注释——对指令功能的说明,便于程序阅读和维护, 不参与操作。 一、MCS—单片机寻址方式* 二、单片机常用指令类型* 三、单片机指令系统的几个特点* 四、单片机中的伪指令* 五、程序设计举例* 一、MCS-51单片机寻址方式 1、立即寻址 特点: ·指令码中直接含有所需寻址的操作数(立即数) ·立即数可以是8位或16位 ·立即数通常用#data或# data16表示 ·立即数只能作为源操作数 MOV A, #3AH ;A ← 3AH MOV DPTR, #1828H ; DPTR ← #1828H 2、直接寻址 特点: ·指令码中含有操作数地址(8位二进制数); ·可用于直接寻址的存储空间是:内部RAM的低128字节和特殊功能寄存器SFR; ·直接寻址通常用direct(或addr11或addr16)表示; ·指令助记符中的direct—操作数所在存储单元的物理地址。 MOV A, 3AH ;A ← (3AH) MOV A, SP ;A ← SP MOV A, 81H ;A ← (81H) 3、寄存器寻址 特点: ·操作数在R7—R0,A,B,C,DPTR中,指令码中含有 该操作数的寄存器号; MOV A, Rn ; A ← Rn INC Rn ; Rn ← Rn+1 4、寄存器间接寻址 特点: ·指令码中含有该 操作数地址的寄存器号; ·间址寄存器采用@R0,@R1,@DPTR表示; ·@R0,@R1用于对片内RAM和外部RAM (0000H~00FFH)寻址,@DPTR的寻址范围是片外ROM/RAM的全部64KB区域; ·寄存器间址指令不能用于寻址SFR MOV A, @R0 ; A ← (R0) 5、变址寻址 特点: ·指令码中隐含有作为基地址寄存器用的数据指针DPTR或程序计数器PC(存放基地址); ·指令码中也隐含有累加器A(A中存放地址偏移量,00H~FFH范围内的无符号数); ·寻址空间是程序存储器。 MOVC A, @A+PC ; A ← (A+PC) MOVC A, @A+DPTR ; A ← (A+DPTR) 6、相对寻址 特点: ·相对转移指令的指令码中含有相对地址偏移量; ·相对转移指令分为:短转移指令和长转移指令(分别为双字节和三字节); ·PC的当前值 + 相对地址偏移量rel = 下一条要执行指令的地址; ·PC的当前值是指相对转移指令从程序存储器中取出后的PC值。 2000H 8054H SJMP rel ; PC ← PC+2+rel 6、位寻址 特点: ·位寻址指令的指令码中含有位地址; ·位寻址指令中位地址用bit表示(字节地址direct); ·位寻址区:片内RAM位寻址区20H~2FH和11个SFR; ·位地址的表示方法: MOV C, 7FH ; Cy ← (7FH) MOV C, 2FH.7 ; Cy ← (7FH) MOV C, ACC.7 ; Cy ← ACC.7 A1 BIT 7FH ——位地址赋值伪指令 MOV C, A1 ; Cy ← 2FH.7 , A1 为符号位地址 二、单片机常用指令类型 数据传输指令(28条) 将源地址中操作数传送到目的地址的指令。 算数运算指令(24条) 对两个操作数进行加、减、乘、除等运算的指令。 逻辑操作和环移指令(25条) 对两个操作数进行逻辑乘、逻辑加、逻辑取反和异或等操作; 对累加器A中数进行环移(左环移、右环移,带进位、不带进位) 控制转移
显示全部