2017-07-29 33 views
2

我看到在我的objdump的一個奇怪的指令:我的objdump中這行是什麼?

64 2e 65 78 65 fs cs gs js,pn 0x4010cb 

當我嘗試使用this手動拆卸操作碼,我得到:

fs cs gs js 0x6a 

是什麼指令是什麼意思?它的意義是什麼?

信息:使用win64格式的NASM在Windows 7 64位上編譯彙編。

+6

這不是一條指令。它只是文本'd.exe'。你不能拆解它,並期望一個明智的輸出。 – Jester

回答

5

這是一個前面帶有一串前綴的跳轉指令。它解碼是這樣的:

  • 64fs段覆蓋前綴。它在這裏什麼也沒做。
  • 2ecs段覆蓋前綴。在條件跳轉指令之前,它暗示不跳轉。
  • 65gs段覆蓋前綴。它在這裏什麼也沒做。
  • 78是指令js「跳如果符號標誌設置」
  • 65是該指令的操作數。

這條指令沒有多大意義。由於編碼對應於字符串d.exe,它可能是它實際上是數據而不是代碼。也可能是彙編程序生成無用的前綴來進行某種對齊,但沒有看到該指令所處的地址,則無法測試此假設。