单片机汇编指令问题
SJMPrel如上面这个指令中rel是什么意思?还有PC是什么意思?我看到有的资料说rel的意思是相对转移指令中的偏移量,为8位带符号补码数,但有的写成SJMPLOOP可...
SJMP rel
如上面这个指令中rel是什么意思?还有PC是什么意思?
我看到有的资料说rel的意思是相对转移指令中的偏移量,为8位带符号补码数,但有的写成SJMP LOOP 可不可以这样理解?是不是条件满足就跳到LOOP+2(LOOP的往下数第二条)啊?难道标号LOOP也是也是8位带符号补码?
本人初学单片机,请高人指点,谢谢! 展开
如上面这个指令中rel是什么意思?还有PC是什么意思?
我看到有的资料说rel的意思是相对转移指令中的偏移量,为8位带符号补码数,但有的写成SJMP LOOP 可不可以这样理解?是不是条件满足就跳到LOOP+2(LOOP的往下数第二条)啊?难道标号LOOP也是也是8位带符号补码?
本人初学单片机,请高人指点,谢谢! 展开
2个回答
展开全部
讲解指令的时候,都是说 REL 是8位带符号补码数,是相对转移指令中的偏移量。
实际编程时,都是在 SJMP 后面,写上目的地的标号。
往下看,看下一章:编程的部分,楼主就会看到,REL,根本就没有用。
在编译的时候,编译软件,就会算出这个偏移量,以《8位带符号补码数》写入机器语言代码。
所以,这个《8位带符号补码数》的偏移量,并不用《编程人》来关心。
编程时,只要写:SJMP 某某标号,即可。
有些书,总是写些机器语言方面的知识,以显得有多么的高深。
实际编程时,都是在 SJMP 后面,写上目的地的标号。
往下看,看下一章:编程的部分,楼主就会看到,REL,根本就没有用。
在编译的时候,编译软件,就会算出这个偏移量,以《8位带符号补码数》写入机器语言代码。
所以,这个《8位带符号补码数》的偏移量,并不用《编程人》来关心。
编程时,只要写:SJMP 某某标号,即可。
有些书,总是写些机器语言方面的知识,以显得有多么的高深。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询