我正在Windows机器上编写一个小型x86汇编程序。有一次,我想检查存储在EDX寄存器中的值是否是指向同一程序的代码段的有效地址。任何人都可以告诉我如何做到这一点?
答案 0 :(得分:1)
在程序开始时,添加这样的标签......
The_Code_Starts_Here:
在程序结束时,添加这样的标签......
The_Code_Ends_Here:
在您想要质疑该地址有效性的部分中,请执行以下操作......
Cmp Edx, The_Code_Starts_Here ; Is it in the code segment ?
Jb Bombs_Away ; No, bomb out
Cmp Edx, The_Code_Ends_Here ; Is it in the code segment ?
Jae Bombs_Away ; No, bomb out
; Else, good stuff, go on
如果我搞砸了Jb
和Ja
命名法,那就转换它们。