早教吧 育儿知识 作业答案 考试题库 百科 知识分享

懂单片机的高人请进,在相对转移指令SJMP中rel是正数和负数有什么区别?参照向下面的例题分析例题:在2100H单元有SJMP指令,若rel=5AH(正数),则转移的目的地址为215CH(向后转).如果把rel=5AH后面

题目详情
懂单片机的高人请进,在相对转移指令SJMP中rel是正数和负数有什么区别?参照向下面的例题分析
例题:在2100H单元有SJMP指令,若rel=5AH(正数),则转移的目的地址为215CH(向后转).如果把rel=5AH后面的“(正数)”去掉,则转移的目的地址会是多少,为什么?
再如例题:目的地址等于2013H,SJMP指令的地址为2000H,则相对地址rel是多少,为什么?
(请重点解释为什么)
在2100H单元有SJMP指令,若rel=FOH(负数),则转移的目的地址为20F2H(向后转),这个负数FOH使用补码来表示的吗,正的FOH和负的FOH分别怎么表示?结果20F2H是正还是负的?
▼优质解答
答案和解析
5AH本身就是个正数,后面的(正数)也只是个特别说明,不写,5AH也是正数.
转移目的地址还是 215CH
rel=0A6H 这才是个负数,最高位符号位为1 0A6H就是 负的5AH 负数用补码来存,取反加1
SJMP 是2000H
2013H-2000H = 13H
13H-02H=11H 再减去指令本身的占用的2个字节的地址.
相对地址是11H