Q第四节指令系统 ◆MCS-51系列单片机指令系统丰富、完整,共 有111条指令。按照它们的操作性质可划分成 数据传送、算术操作、逻辑操作、程序转移 位操作等五类 ◆按照字节数分类,则有49条单字节指令、46条 双字节指令和16条三字节指令。 ◆按指令执行时间分类,则有64条单周期指令 45条双周期指令和2条四周期指令 数据传送类指令 ◆数据传送就是将数据从一个部件传送到另一个 部件,它是单片机最基本、最主要、量最大的 操作
第四节 指令系统 MCS-51系列单片机指令系统丰富、完整,共 有111条指令。按照它们的操作性质可划分成 数据传送、算术操作、逻辑操作、程序转移、 位操作等五类。 按照字节数分类,则有49条单字节指令、46条 双字节指令和16条三字节指令。 按指令执行时间分类,则有64条单周期指令、 45条双周期指令和2条四周期指令。 一、数据传送类指令 数据传送就是将数据从一个部件传送到另一个 部件,它是单片机最基本、最主要、量最大的 操作
◆1.以累加器为目的地的指令 ◆MOVA,Rn ;A←Rn,n=0~7 ◆MOVA, direct A←( direct ◆MOVA,aRi ;A←((Ri)) ◆MOVA,#data ;A←data ◆此类指令是将工作寄存器内容或存储单元内容 或立即数送给累加器。 ◆2.以Rn为目的地的指令 ◆ MOV Rn,A ;Rn←A ◆MOV Rn, direct (direct) ◆ MOV Rn,#data RR nn data ◆此类指令是将累加器内容、存储单元内容或立 即数送工作寄存器
1.以累加器为目的地的指令 MOV A,Rn ;A←Rn,n=0~7 MOV A,direct ;A←(direct) MOV A,@Ri ;A←((Ri)) MOV A,#data ;A← data 此类指令是将工作寄存器内容或存储单元内容 或立即数送给累加器。 2.以Rn为目的地的指令 MOV Rn,A ;Rn←A MOV Rn,direct ;Rn←(direct) MOV Rn,#data ;Rn← data 此类指令是将累加器内容、存储单元内容或立 即数送工作寄存器
◆3.以直接地址为目的地的指令 ◆ MOV dircet,A ;( direct)←A ◆ MOV dircet,Rn ( direct)←Rn MOV direct1, direct2 direct1 (direct) ◆ MoV direct,aRi direct ((Ri)) ◆ MOV driect,#data (direct) data ◆此类指令是把累加器、工作寄存器、存储单元 或立即数送片内数据存储器单元中(用直接寻 址表示)
3.以直接地址为目的地的指令 MOV dircet,A ; (direct)←A MOV dircet,Rn ;(direct)←Rn MOV direct1,direct2 ; ( direct1 ) ← (direct2) MOV direct,@Ri ; ( direct ) ← ((Ri)) MOV driect,#data ;(direct)← data 此类指令是把累加器、工作寄存器、存储单元 或立即数送片内数据存储器单元中(用直接寻 址表示)
◆4.以间接地址为目的地的指令 ◆MOv@Ri,A (Ri)←A ◆MOV@Ri, direct;(Ri)← direct) ◆ MOV aRi,#data;(Ri)←data ◆此类指令是把累加器、存储单元或立即 数送片内数据存储器单元中(用间接寻 址表示)。 ◆对数据块操作,一般都采用间接寻址方 式
4.以间接地址为目的地的指令 MOV @Ri,A ;(Ri)←A MOV @Ri,direct ;(Ri)←direct) MOV @Ri,#data ;(Ri)← data 此类指令是把累加器、存储单元或立即 数送片内数据存储器单元中(用间接寻 址表示)。 对数据块操作,一般都采用间接寻址方 式
◆例将片内RAM中30H~3FH单元的内容复 制到50H~5FH单元中。 ◆MOVR0,#30H ◆ MOV RI,#50H ◆MOVR7,#10H ◆LOOP:MOvA,@R0 ◆ MOV aR1,A ◆INC RO ◆INC RI ◆ DJNZ R7,LOOP
例将片内RAM中30H~3FH单元的内容复 制到50H~5FH单元中。 MOV R0,#30H MOV R1,#50H MOV R7,#10H LOOP:MOV A,@R0 MOV @R1,A INC R0 INC R1 DJNZ R7,LOOP