jump destination too far : by 3 byte(s)

人走茶凉 提交于 2019-12-02 13:00:42

loop has limited range. It can only jump up to 127 bytes ahead or 128 back in the instruction stream measured from the start of the following instruction.

To get around that, you can do something like the following.

Instead of

label1:

<lots of code>

loop label1 

if the label is out of reach you can do something like this:

label1:

<lots of code>

loop tmp1
jmp tmp2
tmp1:
  jmp label1
tmp2:

or else use a different construct based on conditional jumps that don't have the range limitation.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!