第三章80C51单片微机的指令系统〔D〕.ppt
文本预览下载声明
第三章 80C51单片微机的指令系统 3.1 80C51指令系统概述 ⒊ 寄存器寻址 MOV A,R0 ;将R0中的数据传送至A中 INC R0 ;工作寄存器R0加1,见图3-3 MUL AB 变址寻址示意图 例如:MOVC A,@A+DPTR 假设DPTR的内容为2030H,累加器A的内容为12H。 该指令的功能是将2030H和12H相加,得到2042H作为操作数地址,在程序存储器中找到2042H单元,将其内容送至累加器A。 3.2 数据传送类指令 3.3 算术运算类指令 3.4 逻辑运算类指令 3.5 控制程序转移类指令 3.6 布尔(位)操作类指令 图3–1 立即寻址示意图 图3–2 直接寻址示意图 图3–3 寄存器寻址示意图 图3–4 寄存器间接寻址示意图 图3–5 相对寻址示意图 图3–6 变址寻址示意图 图3–7 数据传送指令示意图 图3–8 半字节交换指令示意图 图 3–9 循环移位指令示意图 图3–10 CJNE指令执行流程图 表 3–1 寻址方式与寻址空间 表3–2 字节地址和位地址的关系 表3–4 特殊功能寄存器(SFR)的位地址 表3–5 特殊功能寄存器SFR的名称和地址 JC 80H 指令MOVC A,@A+DPTR 若(A)=54H,(DPTR)=1256H; 则1256H+54H=12AAH,若(12AAH)=00H,则结果是(A)=00H 。 寻 址 方 式 寻 址 空 间 1.寄存器寻址 R0~R7、A、B、CY(bit) 、DPTR 2.直接寻址 内部RAM低128字节 特殊功能寄存器 3.寄存器间接寻址 内部RAM(@R0,@R1,@SP仅PUSH、POP) 外部RAM(@R0,@R1,@DPTR) 4.立即寻址 程序存储器 5.变址寻址 程序存储器(@A+PC,@A+DPTR) 6.相对寻址 程序存储器(PC+偏移量) 7.位寻址 内部RAM中有128个可寻址位 特殊功能寄存器中可位寻址的位 例3:求平方数,待求数在A中(远程查表法) MOV DPTR, #TABLE ;指向表首址 MOVC A,@A+DPTR ;查表得到平方数 MOV 20H,A ;存平方数 HERE:SJMP HERE TABLE∶DB 00H,01H,04H,09H ;平方表02~92(16进制) DB 16,25,36 ;十进制表示 DB 49,64,81 例4:求平方数(近程查表) ADD A,#rel ;修正偏移量 MOVC A,@A+PC ;查表得到平方数 MOV 20H,A ;存平方数 HERE∶SJMP HERE TABLE∶DB 00H,01H,04H,09H,10H ;平方表02~92 DB 19H,24H,31H,40H,51H 注∶rel=TABLE-(查表指令地址+1) ;MOVC指令为单字节。 例:设(R0)=30H,(A)=3FH,片内(30H)=BBH。 执行指令 XCH A,@R0 执行结果 (A)=BBH,(30H)=3FH。 例: 设(R0)=20H,(A)=36H),内部RAM 中(20H)=75H(0111010lB)。 XCHD A,@R0 结果为 ∶(20H)=76H,(A)=35H。 例:设(A)=36H(0011 0110B) SWAP A;执行结果为(A)=63H(0110 0011B)。 MOV R0,#2AH MOV R1,#2BH MOV A,@R0 ;2AH单元内容送A SWAP A ;A的高4位与低4位交换(a2 a3) MOV @R0,A MOV A,@R1 ;2BH单元内容送A SWAP A ; A的高4位与低4位交换(a0 a1) XCH
显示全部