请说明, 我整天都在靠墙打我的头: 这段代码有什么问题? Whu MASM出错了吗?
LookupLoop:
and ecx, edx
movzx ecx, word ptr [edi + ecx*2]
cmp ecx, ebp
lea ebx, LeaveNowProxy
js ebx ;;;This is it. Here it fails.
jmp LeaveNowProxyEnd
LeaveNowProxy:
jmp LeaveNow
LeaveNowProxyEnd:
LoopEntry: movzx eax, word ptr [esi + ecx - 1]
cmp eax, ebx
它说:> .... \ masmx86 \ match686.asm(357):错误A2077:指令不允许NEAR间接寻址。我试图lea注册然后传递寄存器,然后我做了这个代理跳转,然后我尝试了js cs:ebx sythax。 Everythime我几乎得到了错误。
答案 0 :(得分:3)
我不相信支持基于寄存器的条件跳转。
相反,你可以尝试
jns skip
jmp ebx
skip:
答案 1 :(得分:3)
替换
lea ebx, LeaveNowProxy
js ebx
与
js LeaveNowProxy