长汇编代码问题
Posted
技术标签:
【中文标题】长汇编代码问题【英文标题】:long assembly code problem 【发布时间】:2010-12-17 12:45:27 【问题描述】:我有一个汇编程序,但是当我添加一些代码行时,它会变得混乱。 例如,当我在此程序工作时添加一个新程序时,整个程序会卡在某个点,就像它没有完成程序但停留在特定点一样。当我添加一些不影响程序的命令时也会发生同样的情况,就像代码开头的一些 mov [300h],00h。
知道如何解决这个问题吗? 我读过 jmp 命令只能跳转 128 个地址范围。真的吗?我可以绕过这个吗? 我已经看到一些程序有一个“接近”的扩展。喜欢
测试过程接近 mov al,[0300h] ... 回复 测试结束那是怎么回事?这可以帮助我吗?谢谢!
【问题讨论】:
【参考方案1】:首先,mov [300h],00h
不会影响程序。它可以很好地修改你的代码,所以不要这样做!
其次,只有条件跳转(Jcc)对-128..+127地址范围有这个限制,所以如果你认为分支太远,那么就不要
JE some_far_label
使用
JNE skip1
jmp some_far_label
skip1:
如果您还有其他问题,请发布一些代码。
编辑:mov byte [300h], 0
可能会覆盖您的代码。如果您使用的是汇编程序,则为变量分配空间:
var1 db 0
【讨论】:
非常感谢。有什么参考资料可以让我阅读有关此类场合的更多信息吗?例如 mov [300h],00h 如何影响我的代码?以上是关于长汇编代码问题的主要内容,如果未能解决你的问题,请参考以下文章