在单片机原理中,rel具体是什么意思?怎么用?

如题所述

rel 是偏移量,就是相对一条指令来说的相对地址 每条指令都是要占用地址的不过写汇编时直接写绝对地址就行 想跳转到哪里就在那里做个标记 象 xx:这样djnz r7,xx;就在满足要求的时候就能跳转到地址为xx:的地方了,编译时汇编程序会自动将绝对地址换算成偏移量 在写跳转时候 不用管rel什么的例如:SJMP rel ;中跳到PC+2+rel 中PC表示 sjmp这条指令的地址 每条指令都有他的地址(都有它的PC指针地址的)其中中2是这整条语句的长度 这整体的意思就是 要跳到 这整条语句开始的地址 加上被它这条地址占据的2个地址 再加rel偏移量在实际编程中只要在一个地方标记xx:语句;当运行到sjmp xx;的时候就会跳到标记地址为xx的地方了 其中xx可以使任何标记
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-05-21
你说的应该是跳转指令后面的rel助记符吧rel是relative的简写,表示相对当前地址的跳转偏移,它是一个有符号数。具体范围要参阅处理器的指令手册。以常见的51系列为例,它是一个8位有符号数,因此范围是-128至127。现在一般都不用自己去计算具体的数值了,汇编器和链接器会做好转换和重定位工作的。本回答被网友采纳
相似回答