Winapi 如何将“rterrmsgs”翻译成合法的nasm风格的asm代码?
我使用IDA Pro在Windows 7 32位上反汇编SPEC 2006二进制文件 它生成一个声明如下的变量:Winapi 如何将“rterrmsgs”翻译成合法的nasm风格的asm代码?,winapi,assembly,nasm,ida,Winapi,Assembly,Nasm,Ida,我使用IDA Pro在Windows 7 32位上反汇编SPEC 2006二进制文件 它生成一个声明如下的变量: rterrs rterrmsgs <2, aR6002FloatingP> rterrmsgs <8, aR6008NotEnough> terrmsgs <9, aR6009NotEnough> rterrmsgs <0Ah, aR6010AbortHasB> rterrmsgs <10h, aR6016No
rterrs rterrmsgs <2, aR6002FloatingP>
rterrmsgs <8, aR6008NotEnough>
terrmsgs <9, aR6009NotEnough>
rterrmsgs <0Ah, aR6010AbortHasB>
rterrmsgs <10h, aR6016NotEnough>
rterrmsgs <11h, aR6017Unexpecte>
rterrmsgs <12h, aR6018Unexpecte>
所以基本上像
rterrmsgs <11h, aR6017Unexpecte>
不能使用nasm/masm直接组装成二进制,
我认为这个东西应该像数组一样工作,但基本上2,8,9是什么
rterrs rterrmsgs <2, aR6002FloatingP>
rterrmsgs <8, aR6008NotEnough>
terrmsgs <9, aR6009NotEnough>
所以我的问题是,如何调整上面的指令,使其以nasm语法重新组装
谢谢大家! 这些只是CRT结构的实例:
/* struct used to lookup and access runtime error messages */
struct rterrmsgs {
int rterrno; /* error number */
char *rterrtxt; /* text of error message */
};
例如,见:
在您的示例中,如果您采取以下措施:
rterrmsgs <10h, aR6016NotEnough>
其中,_RT_THREAD为16 0x10,_RT_THREAD_TXT的定义如下:
#define _RT_THREAD_TXT "R6016" EOL "- not enough space for thread data" EOL
有关各种消息,请参阅
希望这有助于:
/* 16 */
{ _RT_THREAD, _RT_THREAD_TXT },
#define _RT_THREAD_TXT "R6016" EOL "- not enough space for thread data" EOL