什么是MOV EAX,DWORD PTR SS的含义:[EBP + 8H]我怎样才能把它翻译成AT& T公司的格式? [英] What's the meaning of MOV EAX, DWORD PTR SS:[EBP+8h] and how can I translate it into AT&T format?
问题描述
我使用code :: Blocks的,以code,而code我引用一个是从Visual C ++,所以我有区别的困难...:(
全code是这里
NAKED无效ijlWrite()
{
__asm {
PUSH EBP
MOV EBP,ESP
MOV EAX,DWORD PTR SS:[EBP + 8H]
MOV ECX,ssQuality
MOV DWORD PTR DS:[EAX + 50H],ECX
MOV EDX,DWORD PTR SS:[EBP + 0CH]
PUSH EDX
MOV EAX,DWORD PTR SS:[EBP + 08H]
PUSH EAX
CALL lpfnIJLWrite //一个全局变量
POP EBP
RETN
}
}
我会,如果你翻译它们都非常感激。
P.S。我也不知道怎么翻译RETN。怎么做?该cheatsheet文件不具备这样的事情:(
MOV EAX,DWORD PTR SS:[EBP + 8H]
等同于
MOVL%SS:8(%EBP),EAX%
您只要将源和目标的顺序, DWORD
转化为一个→
后缀。在%SS:
preFIX严格必要的,它使用 EBP
基于内存访问时的默认
I'm using Code::Blocks to code, but one of the code I referenced is from Visual C++,so I have difficulties on the difference...:(
the full code are here
NAKED void ijlWrite()
{
__asm {
PUSH EBP
MOV EBP, ESP
MOV EAX, DWORD PTR SS:[EBP+8h]
MOV ECX, ssQuality
MOV DWORD PTR DS:[EAX+50h], ECX
MOV EDX, DWORD PTR SS:[EBP+0Ch]
PUSH EDX
MOV EAX, DWORD PTR SS:[EBP+08h]
PUSH EAX
CALL lpfnIJLWrite //a global variable
POP EBP
RETN
}
}
I'll be very grateful if you translate them all.
P.S. I also don't know how to translate RETN. how to do it? The cheatsheet doesn't have such things:(
MOV EAX, DWORD PTR SS:[EBP+8h]
is equivalent to
movl %ss:8(%ebp), %eax
You just swap the order of the source and destination, the DWORD
translates to an l
suffix. The %ss:
prefix is strictly unnecessary, it's the default when using EBP
based memory access.
这篇关于什么是MOV EAX,DWORD PTR SS的含义:[EBP + 8H]我怎样才能把它翻译成AT& T公司的格式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!