1
我想在C代碼中使用匯編使用C變量。 我的代碼如下所示:內聯彙編在C:INT命令和C變量
__asm { INT interruptValue };
其中「interruptValue」是一個變量,我從用戶那裏得到(例如15或15小時)。 當我嘗試編譯,我得到:
Assembler error: 'Invalid instruction operands'
我不知道什麼是正確的類型interruptValue。我試了很久\ int \ short \ char \ char *但是他們都沒有工作。
作爲一個有趣的練習,你很可能中斷使用自修改代碼編寫一個變量,您只需將INT指令的第二個字節的值更改爲您想要的任何中斷。 – Falaina 2009-10-01 14:59:29
@Falaina:你需要注意INT 3,因爲它有不同的操作碼,但是聽起來不錯。 – 2009-10-01 15:23:03
@Falina:我如何修改代碼?我能想到的只是將指令放在一個不同的函數中,然後用函數地址的偏移量來改變一些字節。 – Eldad 2009-10-04 16:39:56