CJNERn, #data, rel; A≠#data,(PC)+ 3 + rel→(PC)
这条指令 我这么理解 不知道对不对:假设data=100,那么如果A的内容不等于100则 当前的PC指向(PC)+3+rel的地址,但为什么是加3呢?
如果A的内容等于100,则程序往下执行,也就是(PC)+1→(PC).
有理解错误的地方请高手指出.谢谢
作者:还我今生 2008-1-28 20:51:00
cjne a,#100,next ;判断计数器是否满100?
mov temp,#0;满100就清零重新开始
next: ljmp stlop;不满就循环执行
这里中的rel是怎么算的呢,难道就是next吗?
作者:还我今生 2008-1-28 20:57:00
无论A等于或不等于100,都是pc+3.
rel是目标地址减去当前地址的值,带符号的。由编译器自动计算。
作者:bsbjx 2008-1-29 7:52:00
你给标号就行了,至于偏移是多少,编译器会自动帮你计算好的 作者:xwj 2008-1-29 8:33:00
多谢 我明白了 顿悟 作者:还我今生 2008-1-29 21:27:00