汇编循环的一点问题(分在另一个帖子里)

pimlyb 2007-07-18 08:22:29
http://community.csdn.net/Expert/topic/5652/5652453.xml?temp=.3883631
这个帖子是我的,那个问题没人解决,所以我用那个帖子给分。

正题:在用masm5编译时,由于循环过长,出现了jump out of range的问题,请问如何处理?(在masm5环境下)。谢谢!
...全文
125 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
czlyc006 2007-07-19
  • 打赏
  • 举报
回复
需要jmp的地方有很多功能代码吗?是的话可以把这些代码写成一个子过程,然后call过去,就可以回避jmp跳不到的情况了
pimlyb 2007-07-19
  • 打赏
  • 举报
回复
谢谢楼上二位,到那个帖子留言,我给你们分。
zara 2007-07-18
  • 打赏
  • 举报
回复
哦, 使用的是 Masm5, 这个对上面的方法的支持好像不是很完善, 最好是能够使用 Masm6 或以上版本进行编译. Masm5, 还是采用 hkbyest(落叶树) 介绍的方法吧.
zara 2007-07-18
  • 打赏
  • 举报
回复
可以考虑在程序的开始加上:
.model small ; 这个可以根据自己实际程序的内存模式进行改动
.386
这样程序可以使用 386 级的指令, 可以在条件转移指令上使用 [-32K,32K) 的转移范围
hkbyest 2007-07-18
  • 打赏
  • 举报
回复
条件跳转的偏移距离为-128~~~+127,既然距离太远无法使用的话,
那么用
mov cx,10
loop1:
.
.
.
dec cx
cmp cx,0
jne lp
jmp next
lp:
jmp near ptr loop1
.
.
.
next:
.
.
.

这样代替应该可以吧。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧