3.1.5单片微机执行指令的过程 单片微机执行指令的过程,分为取指令和执行指令两项基 本内容。 在取指阶段,单片微机从程序存储器中取出指令操作码, 送到指令寄存器R中,通过指令译码器的译码,产生一系列的控 制信号。 在指令执行阶段中,利用指令译码产生的控制信号,进行 本指令规定的操作
单片微机执行指令的过程,分为取指令和执行指令两项基 本内容。 在取指阶段,单片微机从程序存储器中取出指令操作码, 送到指令寄存器IR中,通过指令译码器的译码,产生一系列的控 制信号。 在指令执行阶段中,利用指令译码产生的控制信号,进行 本指令规定的操作。 3.1.5 单片微机执行指令的过程
32数据传送类指令 数据传送方向及相互关系见图3-7。 数据传送指令按功能又可分为内部8位数据传送指令、16 位数据传送指令(专用于设定地址指针)、外部数据传送指令 程序存储器数据传送指令、交换指令和堆栈操作指令。助记符 有Mov、MoVx、MOVC、XCH、XCHD、SwAP、PUSH、 POP等八种。源操作数可采用寄存器、寄存器间接、直接、立 即、寄存器基址加变址等五种寻址方式,目的操作数可以采用 寄存器、寄存器间接、直接等三种寻址方式。 数据传送指令的一般操作是把源操作数传送到目的操作 数,指令执行后源操作数不变,目的操作数被修改为源操作数 若要求进行数据传送时,目的操作数不变,则可以用交换指令
3.2 数据传送类指令 数据传送方向及相互关系见图3–7。 数据传送指令按功能又可分为内部8位数据传送指令、16 位数据传送指令(专用于设定地址指针)、外部数据传送指令、 程序存储器数据传送指令、交换指令和堆栈操作指令。助记符 有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、 POP等八种。源操作数可采用寄存器、寄存器间接、直接、立 即、寄存器基址加变址等五种寻址方式,目的操作数可以采用 寄存器、寄存器间接、直接等三种寻址方式。 数据传送指令的一般操作是把源操作数传送到目的操作 数,指令执行后源操作数不变,目的操作数被修改为源操作数。 若要求进行数据传送时,目的操作数不变,则可以用交换指令
数据传送类指令不影响标志位C、AC、OV。对于P标志 般不加以说明。只有一种堆栈操作指令可以直接修改程序状态字 PSW,这时可以使某些标志位发生改变。 从图3-7中可以看出数据传送指令的特点有: (1)可以进行直接地址到直接地址的数据传送,能把一个并行 IO口中的内容传送到片内RAM单元中而不必经过累加器或工作 寄存器Rn。 (2)用R0和R1寄存器间址访问片外数据存储器256个字节址及 片内RAM中的任一单元。用DPTR间址访问片外全部64KB的数 据存储器或ⅣO
数据传送类指令不影响标志位C、AC、OV。对于P标志一 般不加以说明。只有一种堆栈操作指令可以直接修改程序状态字 PSW,这时可以使某些标志位发生改变。 从图3–7中可以看出数据传送指令的特点有: ⑴ 可以进行直接地址到直接地址的数据传送,能把一个并行 I/O口中的内容传送到片内RAM单元中而不必经过累加器或工作 寄存器Rn。 ⑵ 用R0和R1寄存器间址访问片外数据存储器256个字节址及 片内RAM中的任一单元。用DPTR间址访问片外全部64KB的数 据存储器或I/O
(3)累加器A能对Rn寄存器寻址;能与特殊功能寄存器之 间进行一个字节的数据传送;能对片内RAM直接寻址;能与片 内RAM单元之间进行低半字节的数据交换。 (4)能用变址寻址方式访问程序存储器中的表格,将程序 存储器单元中的固定常数或表格字节内容传送到累加器A中
⑶累加器A能对Rn寄存器寻址;能与特殊功能寄存器之 间进行一个字节的数据传送;能对片内RAM直接寻址;能与片 内RAM单元之间进行低半字节的数据交换。 ⑷ 能用变址寻址方式访问程序存储器中的表格,将程序 存储器单元中的固定常数或表格字节内容传送到累加器A中
3.2.1内部八位数据传送指令 主要用于80C51内部存储器和寄存器之间的数据传送 这类传送指令的格式为: MOV<目的字节>,<源字节> 它的功能是把源字节的内容送到目的字节,而源字节的内 容不变。操作属于拷贝性质。 源操作数可以有:累加器A,工作寄存器Rn(n=0,…, 7),直接地址 direct、间接寻址寄存器aRi(i=0,1)和立即数 #data等五种。 目的操作数可以有:累加器A,工作寄存器Rn(n=0,…, 7),直接地址 direct和间接寻址寄存器aRi(i=0,1)等四种 这类指令是以MOV为其助记符的,若以目的操作数分类,可将内 部八位数据传送指令分为4组
主要用于80C51内部存储器和寄存器之间的数据传送。 这类传送指令的格式为: MOV <目的字节>,<源字节> 它的功能是把源字节的内容送到目的字节,而源字节的内 容不变。操作属于拷贝性质。 源操作数可以有:累加器A,工作寄存器Rn(n=0,…, 7),直接地址direct、间接寻址寄存器@Ri(i=0,1)和立即数 #data等五种。 目的操作数可以有:累加器A,工作寄存器Rn(n=0,…, 7),直接地址direct和间接寻址寄存器@Ri(i=0,1)等四种。 这类指令是以MOV为其助记符的,若以目的操作数分类,可将内 部八位数据传送指令分为4组。 3.2.1 内部八位数据传送指令