首页 理论教育单片机基础应用:条件转移指令

单片机基础应用:条件转移指令

【摘要】:条件转移指令共有8条。1.累加器判零转移指令累加器判零转移指令共有两条:这组指令的功能是对累加器的内容为“0”和不为“0”进行检测并转移。当各自的条件满足时,程序转向指定的目标地址。目标地址的计算与SJMP指令情况相同。指令执行时对标志位无影响。例如,已知累加器=00H,执行指令:2.数值比较转移指令数值比较转移指令共有4条。利用这两条指令可实现循环控制,循环次数存放于寄存器中或直接寻址单元中。

条件转移指令共有8条。

1.累加器判零转移指令

累加器判零转移指令共有两条:

这组指令的功能是对累加器(A)的内容为“0”和不为“0”进行检测并转移。当不满足各自的条件时,程序继续往下执行。当各自的条件满足时,程序转向指定的目标地址。目标地址的计算与SJMP指令情况相同。指令执行时对标志位无影响。

例如,已知累加器(A)=00H,执行指令:

2.数值比较转移指令

数值比较转移指令共有4条。

CJNE,目的操作数,源操作数,rel该指令是3字节指令,其功能是目的操作数与源操作数的内容进行比较,若

目的操作数=源操作数,则顺序执行,即(PC)←(PC)+3;

目的操作数>源操作数,则发生转移,转移地址(PC)←(PC)+3+rel,CY←0;(www.chuimin.cn)

目的操作数<源操作数,则发生转移,转移地址(PC)←(PC)+3+rel,CY←1。

具体指令如下:

例如,已知(R7)=56H,执行指令:

3.减“1”不为0转移指令

减“1”不为0转移指令共有两条:

这组指令的功能为:寄存器(或直接寻址单元)内容减1,并判其结果是否为0。若不为0,则转移到目标地址继续循环;若为0,则结束循环,程序往下执行。利用这两条指令可实现循环控制,循环次数存放于寄存器中或直接寻址单元中。

【例3-19】试分析如下程序段

完成了什么功能?

【解】该程序执行之后,(A)=10+9+8+7+6+5+4+3+2+1=37H。