FS(MASM)的LODS

时间:2012-07-14 16:49:39

标签: assembly x86 masm opcodes

我希望使用LODS操作码将FS中的双字节加载到eax。 与LODS一起使用的默认段是DS,我希望用FS覆盖它。 如何使用MASM操作码完成此操作?

00000000 (02) 6a30                     PUSH 0×30
00000002 (01) 5e                       POP ESI
00000003 (02) 64ad                     LODS EAX, [FS:ESI]

来自此处http://www.ragestorm.net/blogs/?p=369

非常感谢, Michael Engstler

2 个答案:

答案 0 :(得分:3)

1)将来,请记得发布一个代码段,如果可能的话。它总是有用的:)

2)16位实模式LODS *指令总是假设DS,ES和AX。你无法改变这一点。

3)如果您想使用FS,您可能还需要“ASSUME NOTHING”指令。例如:

ASSUME FS:NOTHING
MOV EAX, FS:[0]
ASSUME FS:ERROR

'希望有所帮助.. PSM

PS: 如果您只是想学习汇编程序,我强烈建议您尝试使用32位保护模式。如果您有兴趣,这是一个很好的资源:

答案 1 :(得分:1)

好的,我找到了答案。

lods dword ptr fs:[esi]