簡體   English   中英

如何檢查寄存器中存儲的值是代碼段中的有效地址

[英]How to check that value stored in register is a valid address in the code segment

我正在Windows機器上編寫一個小的x86 Assembly程序。 一方面,我想檢查存儲在EDX寄存器中的值是否是指向同一程序的代碼段的有效地址。 誰能告訴我如何以及是否可以這樣做?

在程序開始時,貼上這樣的標簽...

 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

如果我搞砸了JbJa術語,則只需切換它們即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM