我是CE小白,求高手指点一下图中的汇编语言各是什么意思

为什么mov[ebx+14]要加14,换成10进制也就是20,游戏中并没有20这个数啊,怎么来的?同样[ecx+18]18怎么来的?还有为什么要mov两次,mov [ebx+14],esi mov esi,[ecx+18]和mov [ebx+14],[ecx+18]意思不一样吗?没学个编程所以这些不懂,希望有高手教教,还有图上其他语言是什么意思?适当给了点奖励,请帮我解答吧!

ebx esi ecx都是寄存器。每个寄存器的功能都不一样,前面的e代表是的32位的 这应该是32位的X86单片机 ,mov [ebx+14],esi是指把esi寄存器里面的值传到[ebx+14]这个地址去,至于功能是什么要看你要做什么,代码是哪里的都不知道,还有这里的14不要转换什么进制,这只是说为在ebx的地址上偏移14个单位而已。偏移地址你根据你要实际实现的功能来的啊
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-19
label是定义跳转标签,mov[ebx+14],esi是吧esi的值传给[ebx+14],mov esi,[ecx+18],jmp是跳转指令,例如jmp returnhere就是跳转到returnhere这个标签的位置!追问

+14、+18都是位移吧,为什么要位移的?我把esi改掉之后就成了jmp了,怎样才能改回来呢?

相似回答