草庐IT

windows - 什么是 fs :[register+value] meaning in assembly?

xorebx,ebxmoveax,DWORDPTRfs:[ebx+0x3]我知道这段代码的第一行,但是fs:[ebx+0x3]是什么?为什么它在编译时给我一个错误?test.asm:2:error:comma,colon,decoratororendoflineexpectedafteroperand 最佳答案 xor操作码将EBX设置为0。因此mov操作码访问位于fs:[3]的DWORD。这将访问Win32ThreadInformationBlock's的最后一个字节CurrentStructuredExceptionHandli

windows - 从 Windows 路径 : C:\Program Files (x86)\Sublime Text 3 在 git bash 中启动 sublime text 3

我需要在windows10上运行sublime3,Sublime安装目录为:C:\ProgramFiles(x86)\SublimeText3。我试过这些;$c:/Program\Files\(\x86\)/Sublime\Text\3/sublime_text.exe$c:/Program\Files\(x86)/Sublime\Text\3/sublime_text.exe$c:/Program\Files(x86)/Sublime\Text\3/sublime_text.exe;我多次尝试出现语法错误,Nosuchfileordirectory。 最佳

Windows32 API : "mov edi,edi" on function entry?

我在Windows7中单步执行结构化错误处理恢复代码(例如,SEH处理程序完成并传回“CONTINUE”代码后会发生什么)。这是一个函数,它被称为:7783BD9Fmovedi,edi7783BDA1pushebp7783BDA2movebp,esp7783BDA4push17783BDA6pushdwordptr[ebp+0Ch]7783BDA9pushdwordptr[ebp+8]7783BDACcall778692DF7783BDB1popebp7783BDB2ret8我习惯了“pushebp/movebp,esp”的函数prolog。目的何在的“movedi,edi”?

c++ - 反汇编二进制文件中的 HIGHLOW 是什么意思?

我刚刚第一次使用DUMPBIN,我在输出文件中反复看到术语HIGHLOW:BASERELOCATIONS#711000RVA,E0SizeOfBlock...3B5HIGHLOW2001753D___onexitbegin3C1HIGHLOW2001753D___onexitbegin...我很好奇这个词代表什么。我没有在Google或Stackoverflow上找到任何关于它的信息。 最佳答案 Toapplyafixup,adeltaiscalculatedasthedifferencebetweenthepreferredbas

windows - 我怎么能说 64 位,使用 c :\program files (x86) and for 32-bit use the c:\program files?

我必须启动32位图标模块,在64位中也必须启动32位图标模块,但路径是使用JNLP/ws时的一个问题。InnoSetup,如果它的64位PC使用c:\programfiles(x86)\而不是(x64)我该如何设置。对于普通的一般32位使用c:\programfiles\ArchitecturesInstallIn64BitMode=x64[Files];InstallMyProg-x64.exeifrunningin64-bitmode(x64;seeabove),;MyProg.exeotherwise.Source:"MyProg-x64.exe";DestDir:"{app}"

windows - NASM 教程使用 int 80h,但这不适用于 Windows

我在完成FASM后开始使用NASMAssembler。我在Windows操作系统中对此进行编码。我的代码如下:section.data;Constantmsg:db"HelloWorld!"msg_L:equ$-msg;Current-msg1section.bss;Varialblesection.text;Codeglobal_WinMain@16_WinMain@16:moveax,4movebx,1;Wheretowrteitout.Terminalmovecx,msgmovedx,msg_Lint80hmoveax,1;EXITCOMMANDmovebx,0;NoErorin

c - 这两个循环中哪个更快?

我需要遍历一组字节,搜索一个4字节的值(所有4个字节都相同)。数据的长度是可变的,这些字节可以在数据中的任何地方;我正在寻找第一个实例。我试图找到可能最快的实现,因为此逻辑在我的代码的关键部分运行。这只会在Windows下的x86和x64上运行。typedefunsignedcharByte;typedefByte*BytePtr;typedefunsignedintUInt32;typedefUInt32*UInt32Ptr;constByteMARKER_BYTE=0xAA;constUInt32MARKER=0xAAAAAAAA;UInt32nDataLength=...;Byt

c - 为什么 64 位 Windows 上原生 long 原语的大小只有 4 个字节?

有人能告诉我这有什么意义,以及如何让它停止吗?说真的,我是疯了还是64位Windows长类型只有4个字节?这有什么意义?我认为nativelongprimitive大小应该与native寄存器大小相同。[32-bitLinux]me@u32:~$./sizes32sizeof(char):1sizeof(short):2sizeof(int):4sizeof(long):4sizeof(longlong):8[64-bitLinux]me@u64:~$./sizes64sizeof(char):1sizeof(short):2sizeof(int):4sizeof(long):8siz

windows - x86 32 位汇编代码是否有效 x86 64 位汇编代码?

Isallx8632-bitassemblycodevalidx8664-bitassemblycode?我想知道32位汇编代码是否是64位汇编代码的子集,即每个32位汇编代码都可以在64位环境中运行?我想答案是肯定的,因为64位Windows能够执行32位程序,但后来我看到64位处理器支持32位兼容模式?如果不是,请提供一个不是有效64位汇编代码的32位汇编代码的小例子,并解释64位处理器如何执行32位汇编代码。 最佳答案 现代x86CPU具有三种主要操作模式(此描述已简化):在实模式下,CPU在禁用分页和分段的情况下执行16位代

windows - 最大线程数

这个问题在这里已经有了答案:What'sthemaximumnumberofthreadsinWindowsServer2003?(8个答案)关闭9年前。Delphi开发的32位和64位应用程序的最大线程数是多少?我需要知道在32位应用程序上同时运行的线程的限制是多少,因为我正在进行性能分析并且我想让操作系统管理正在等待的线程的执行顺序。