2014-06-30 61 views
0

如何使用c語言編碼test al,al?我試過if((n & 0xFF) & 0){}但這是不正確的。將測試al,al轉換爲c

謝謝。

+5

從彙編器到C沒有1:1的映射。它都依賴於上下文。 (看一下彙編程序手冊,'test'指令的重要部分是設置標誌寄存器。) – Deduplicator

+1

+1,不管你想要做什麼,都會聽起來很糟糕。 – ams

+0

'(n&0xFF)&0'將始終爲假。在嘗試理解彙編程序之前,您需要學習一些C語言。 –

回答

5

我猜你正在檢查下一個零標誌,即jz或類似的。在這種情況下,你會想

if ((n & 0xFFFF) != 0) { 

注意

  • AX是16位不是8位(如如AL和AH的),所以你要爲0xFFFF不是0xFF的(如果你甚至需要這個限制)
  • & 0只能給= 0等錯誤。
+0

對不起,我正在測試al,al。感謝那。 –