登陆
|
注册
|
搜索
|
最近新帖
发帖子
|
共享我的资料
|
精华帖子
|
热门话题
导航:
老古网
→
老古论坛
→
XMOS公共讨论区
→
XMOS开源项目区
→
单片机程序设计
→
嵌入式系统
→
广告区域
→
→问一个关于汇编指令的问题[sailer]
*第16463篇: 问一个关于汇编指令的问题
楼 主:
sailer
2003年9月23日10:21
问一个关于汇编指令的问题
书上说JMP指令是单字节双周期指令 字节数在SJMP AJMP LJMP中是最少的,机器周期数大家都一样,寻址范围比AJMP要大,如此说来那三条语句存在的价值是什么?有什么特殊的功能吗?疑惑ing......
第
2
楼:
红心J
2003年9月23日12:19
JMP @A+DPTR确实是间接跳转,单
JMP @A+DPTR确实是间接跳转,单字节,双周期,但使用前必须要为条件赋值。
比较一下JMP @A+DPTR与LJMP,
如果程序要跳转到一个新地址NEW_ADR,则实现过程对比如下:
(1)MOV DPTR,#NEW_ADR ;字节:3 周期:2
CLR A ;字节:1 周期:1
JMP @A+DPTR ;字节:1 周期:2
;合计: 字节:5 周期:5
(2)LJMP NEW_ADR ;字节:3 周期:2
第
3
楼:
sailer
2003年9月23日12:28
JMP好像也可以直接用啊
确实没有未条件赋值 就像用ajmp一样的用 JMP NEW_ADR 没发现程序错误啊
继续困惑ing...
第
4
楼:
红心J
2003年9月23日12:39
您可能使用的是伟福编译器。
标准汇编语
您可能使用的是伟福编译器。
标准汇编语句没有JMP NEW_ADR这一句。
伟福编译器编译时根据跳转地址情况将JMP NEW_ADR编译为以下三种指令:
(1)SJMP NEW_ADR
(2)AJMP NEW_ADR
(3)LJMP NEW_ADR
您可考察一下:将JMP NEW_ADR编译好的机器码反汇编,看看是那条指令。
第
5
楼:
sailer
2003年9月23日13:33
果然!
多谢大虾指教!感激不尽!
>>>>>>对该主题发表你的看法
本主题贴数
5
,分页:
[第1页]
[上一篇主题]:
急招
[下一篇主题]:
帮帮忙