dword ptr ss:[ebp-0x4]即为内存地址,这个需要你自己先算出来。
dwordptr表示内存操作数是4个字节(Double-WORDPoinTeR,双字指针),还有wordptr表示2字节,byteptr表示一字节,qwordptr表示8字节。一般只有目标是内存源是即时数的时候才需要明确写出来:movdwordptr[eax],0因为不写的话根本判断不出来要写几个字节,编译器默认会处理成byteptr。
mov eax,dword ptr [ebp + 8] 理由:ebp和esp默认是ss段,所以根本不用显式说明。 eax,ebx,ecx,edx,edi,esi默认是ds段, eip默认是cs段。 补充: 上面给的是masm用法 nasm是mov eax,dword [ebp + 8] 我自己用的nasm,经常说nasm语法说习惯了。
mov eax,dword ptr [ebp + 8] 理由:ebp和esp默认是ss段,所以根本不用显式说明。 eax,ebx,ecx,edx,edi,esi默认是ds段, eip默认是cs段。 补充: 上面给的是masm用法 nasm是mov eax,dword [ebp + 8] 我自己用的nasm,经常说nasm语法说习惯了。
满意答案 MOV EAX,521EC0HMOV DWORD PTR SS:[EBP-0A0],EAX 立即数能直接传送给偏移地址所需要用eax过度下.还有ss:[Ebp-0a0]里要改写成ss:[Ebp-0A0]因当十六进制数首位字母时候前面要加0汇编语言爱好者您回答,请选我 00分享举报您可能感兴趣的内容广告 盛世攻速游戏 倍攻加速高爆版 盛世攻速游戏新服...
MOV是一个赋值语句,这句话的意思是:将EBP寄存器的值减1CH,然后在SS(堆栈段)寻址,找到EBP-1C这个地址的值,然后将这个值转换成 DWORD类型,也就是32位,取4字节,然后存在EAX这个寄存器里。
按指令语义来说,这是将EBP内容所指值再减去18以后的地址赋为0。一般来说,这是在栈上找到ebp-18偏移的内存双字,并把这个内存清0。这个代码应该是由编译器生成,在高级语言中用于将一个局部变量赋值为0。
32位基址寄存器是:EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP;32位变址寄存器是:EAX、EBX、ECX、EDX...
mov eax,dword ptr ss: [ebp + 0x8] 翻译结果4复制译文编辑译文朗读译文返回顶部 moveax,dwordptrss:[ ebp+0x 8] 翻译结果5复制译文编辑译文朗读译文返回顶部 运动eax, dword ptr ss :(ebp+0x8) 相关内容 a火车票购买的方式是以上三种,选一种你觉得方便的吧。最后祝你旅途愉快 正在翻译,请等待...[tran...
mov abc,dword ptr ss:[esp-158] xor ecx,ecx s1: xor eax,eax inc ecx //ecx为个数 mov al,byte ptr [abc+ecx] cmp eax,0 jnz s1 .if ecx==16 //剩下的用cmp/jn自己翻译 jmp 地址1 .else .if ecx==32 jmp 地址2 .if ecx==48 jmp 地址3 else jmp 地址4 .endif .endif .endif ...