能力值:
( LV2,RANK:10 )
|
-
-
2 楼
mov edx,dword ptr ds:[0xFF00FF00]
|
能力值:
( LV12,RANK:340 )
|
-
-
3 楼
[QUOTE=Diabloking;1241163]mov edx,dword ptr ds:[0xFF00FF00][/QUOTE]
请教下,为什么要在前面加段寄存器呢?
|
能力值:
( LV5,RANK:70 )
|
-
-
4 楼
不是和谐了,记得以前学汇编的时候说是不能这样寻址的。
可以这样:
xor ebx, ebx
mov edx,[0xFF00FF00 + ebx]
也可以这样
mov edx,dword ptr ds:[0xFF00FF00]
|
能力值:
( LV5,RANK:70 )
|
-
-
5 楼
单片机中可以用#号来区分地址和立即数(不带#号表示该数是地址)
VC估计无法直接区分地址和立即数,得加个寻址寄存器来区分立即数。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
__declspec(naked)
|
能力值:
( LV12,RANK:340 )
|
-
-
7 楼
[QUOTE=toofunny;1241181]不是和谐了,记得以前学汇编的时候说是不能这样寻址的。
可以这样:
xor ebx, ebx
mov edx,[0xFF00FF00 + ebx]
也可以这样
mov edx,dword ptr ds:[0xFF00FF00][/QUOTE]
OD汇编就可以直接mov edx,[FF00FF00]这样
|
能力值:
( LV5,RANK:70 )
|
-
-
8 楼
[QUOTE=bxc;1241380]OD汇编就可以直接mov edx,[FF00FF00]这样[/QUOTE]
不但OD, NASM也可以。传统的汇编语言是不可以的。
另外,你这个说法也不正确,原因如下:
MOV EDX,[FF00FF00] ;;;;提示:未知标识符
正确写法:MOV EDX,[0FF00FF00h]
完成后会被OD自动更正为:MOV EDX,DWORD PTR DS:[FF00FF00]
OD里面反汇编基本都是 段寄存器:[] 的形式的,标号和变量除外
|
能力值:
( LV5,RANK:70 )
|
-
-
9 楼
经测试,不起作用。
void __declspec(naked) demo()
{
__asm{
mov edx,[0xFF00FF00]
}
}
反汇编后:
?demo@@YAXXZ PROC NEAR
mov edx, -16711936 ; ff00ff00H
?demo@@YAXXZ ENDP ; demo
|
能力值:
( LV5,RANK:70 )
|
-
-
10 楼
我傻了,在这种帖子浪费时间。
|
能力值:
( LV12,RANK:340 )
|
-
-
11 楼
[QUOTE=toofunny;1241465]不但OD, NASM也可以。传统的汇编语言是不可以的。
另外,你这个说法也不正确,原因如下:
MOV EDX,[FF00FF00] ;;;;提示:未知标识符
正确写法:MOV EDX,[0FF00FF00h]
完成后会被OD自动更正为:MOV EDX,DWORD PTR DS:[FF00F...[/QUOTE]
我OD把显示默认段给关了。。
|
|
|