PersonalCorpus 版 (精华区)
·LJMP addr16 (长转移指令)
第一条指令称为长转移指令,指令提供16位目标地址,将指令
中第二字节和第三字节地址码分别装入PC的高8位中,所以无条件转
移的目标地址范围是64K字节空间。
·AJMP addr11 (绝对转移)
第二条指令称为绝对转移指令,指令提供11位目标地址,所以
,无条件转移的目标地址范围是从下条指令开始的2K字节空间。
·SJMP rel (短转移,相对转移)
第三条指令称为相对短转移指令,指令控制程序无条件的转向指定
地址。该指令的rel是一个带符号的相对偏移量,范围为-128~+12
7。负数表示向后转移,正数表示向前转移。这条指令的优点是指令
给出的是相对转移地址,不具体指出地址值,这样当程序地址发生
变化时,只要相对地址不发生变化,该指令就不需作任何改动。在
用汇编语言写程序时,rel是一个标号,由汇编程序在汇编过程中自
动计算偏移地址。在手工汇编时,可用下式计算偏移地址:
向后转移时:rel=FEH-(源、目的地址的绝对值)
向前转移时:rel=(源、目的地址差的绝对值)-2
·JMP @(A)+DPTR
第四条指令称为散转指令(又称为间接转移指令),该指令把累加
器A中的8位无符号数与作为基址寄存器DPTR中的16位数据相加,所
得的值送入PC作为转移的目的地址。该指令执行后不影响累加器A和
数据指针DPTR中的原内容,也不影响任何标志位。这条指令的特点
是其转移地址不是编程时确定的,而是在程序运行时动态决定的。
因此,可以在DPTR中装入多条转移程序的首地址,而由累加器A中的
内容来动态选择该时刻应转向那一条分支程序。
;
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.346毫秒