单片机技术及其应用

!!!!!!!!!!!!"

"

"

"

技术讲座

单片机技术及其应用

黄志坚!,赵旭东"

(!#广州珠江钢铁有限公司,$!%&’%;"#广州奥特技术有限公司)

(接上期)(()控制转移类指令

控制转移类指令共有!&条,用于改编程序的执行

顺序。

!无条件转移指令

)#长转移指令

*+,-)../!(;-0#)../!(

这条指令完成把!(位地址传送给-0,实现程序

的转移。因为操作码提供!(位地址,所以可在(123

程序存储器范围内跳转。该指令为三字节指令。

4#绝对转移指令

5+,-)../!!;-0#(-0)6",-0!%7%#

)../!!

这条指令的功能是:先将-0的内容加",使-0

指向本绝对转移指令的下一条指令,然后把)../!!送

入-0的低!!位,-0的高$位保持不变,形成新的-0

值,实现程序的转移。指令的转移范围是下一条指令

地址所在"8页面内。

例:在程序中"%&%97"%&!9地址单元有绝对转移

指令

"%&%95+,-!(59

程序计数器-0加"后的内容为"%&"9

(%%!%%%%%%!!!%%!%),以!!位绝对转移地址替代-0的

低!!位内容,形成目的地址为"!(59

(%%!%%%%!%!!%!%!%)。

:#短转移指令

;+,-/<=;-0#(-0)6",-0#(-0)6/<=

这条指令的功能是:先将-0的内容加"(此指令长度为两字节),再与/<=相加形成目的转移地址。/<=是>位的补码表示的相对偏移量,其转移范围是以本指令所在地址加"为基准,向低地址转移!">3,向高地址转移!"&3。

.#变址寻址转移指令

+,-?56@-AB ;-0#(5)6(@-AB )

这条指令的功能是将累加器5中的内容与!(位

@-AB 内容相加所得的和装入-0,完成程序的转移。

本指令常用于以跳转表实现多分支转移。

例:设累加器5为%7(之间的偶数,要求根据5

的值转入不同的处理程序。

,CD @-AB ,E +,-A53*

+,-?56@-AB

+,-A53*:5+,--BCF%

5+,--BCF!

5+,--BCF"5+,--BCF’

程序中以+,-A53*符号地址开始的一段转移指令构成了跳转表。表中-BCFC 7-BCF’分别为各处理程序的入口地址。"条件转移指令条件转移指令是指当某种条件满足时转移才进行,否则程序将顺序执行。条件转移指令采用相对寻址方式指示转移的目的地址。)#累加器判零条件转移指令+G /<=;(5)H %,-0#(-0)6"6/<=;(5)$%,-0#(-0)6"+IG /<=;(5)$%,-0#(-0)6"6/<=;(5)H %,-0#(-0)6"4#比较条件转移指令比较转移指令共有1条,它们的功能是把两个操作数作比较,若二者不相等则转移,否则顺序执行。0+IJ 5,E .)K),/<=;(5)$.)K),转移0+IJ 5,.L/<:K ,/<=;(5)$(.L/<:K ),转移0+IJ BM ,E .)K),/<=;(BM )$.)K),转移0+IJ ?BL ,E .)K),/<=;(BL )$.)K),转移这1条指令都是三字节指令,都执行以下操作:())若目的操作数H 源操作数,则0N H %,-0#(-0)6’(4)若目的操作数O 源操作数,则0N H %,-0#(-0)6’6/<=(:)若目的操作数P 源操作数,则0N H !,-0#(-0)6’6/<=:#减!条件转移指令

@+IG BM ,/<=;BM #(BM )Q !;若BM H %,则-0#(-0)6";若BM $%,则-0#(-0)6"6/<=

@+IG .L/<:K ,/<=;.L/<:K #(.L/<:K )Q !;若(.L/<:K )H %,则-0#(-0)6’;若(.L/<:K )$%,则-0#(-0)6’6/<=例:将内部B5,中从@5A5开始的!%个无符号数相加,结果送内部B5,的;R,单元,设相加结果不超过十进制数"$$。,CD B%,E @5A5;地址块首地址送B%,CD B’,E %59;计数器初值0*B 5*CC-:5@@5,?B%;累加一次SI0B%;地址指针加!,指向下一个数

?!"#?《机床与液压》"%%%#IT#’

万方数据

相关文档
最新文档