我希望使用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
答案 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]