首页
社区
课程
招聘
[求助]求教一段汇编代码
发表于: 2007-12-27 12:09 5894

[求助]求教一段汇编代码

2007-12-27 12:09
5894
.text:0065CF51 loc_65CF51:                             ; CODE XREF: SetCurHP+149j
.text:0065CF51                 mov     edx, [esp+24h+arg_C]
.text:0065CF55                 movss   xmm0, flt_DFB838
.text:0065CF5D                 lea     eax, [esp+24h+var_10]
.text:0065CF61                 push    eax
.text:0065CF62                 lea     ecx, [esi+4F0h]
.text:0065CF68                 movss   [esp+28h+var_10], xmm0
.text:0065CF6E                 mov     [esp+28h+var_C], edx
.text:0065CF72                 mov     [esp+28h+var_8], edi
.text:0065CF76                 mov     [esp+28h+var_4], ebp
.text:0065CF7A                 call    sub_406389
.text:0065CF7F                 pop     edi
.text:0065CF80                 pop     ebp
.text:0065CF81                 pop     esi
.text:0065CF82                 pop     ebx
.text:0065CF83                 add     esp, 14h
.text:0065CF86                 retn    10h
其中  movss   xmm0, flt_DFB838  这句的 xmm0 是什么东西 还有 flt_DFB838可能是个什么类型的值。怎么理解这句汇编呢?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2

Intel® 64 and IA-32 Architectures Software Developer’s Manual
3-682 Vol. 2A
MOVSS instruction when source and destination operands are XMM registers:
DEST[31:0] ← SRC[31:0];
(* DEST[127:32] remains unchanged *)
MOVSS instruction when source operand is XMM register and destination operand is
memory location:
DEST ← SRC[31:0];
MOVSS instruction when source operand is memory location and destination operand is
XMM register:
DEST[31:0] ← SRC;
DEST[127:32] ← 000000000000000000000000H;

你可以把 MOVSS看成MOV来理解, XMM0-XMM7是128位寄存器,在32位模式下可以使用;另外还有XMM8-XMM15只能在64位模式下使用。flt_DFB838我想应该是一个32位的常量地址。
2007-12-27 13:40
0
雪    币: 226
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢 inNULL的回答,128位也就是占用16个字节的寄存器吧,明白一些了,刚才搜到了一些这方面的资料,似乎这些是 SSE 指令集里面的东西,
2007-12-27 14:41
0
游客
登录 | 注册 方可回帖
返回
//