2013-12-15 106 views
-5

如何將此C++代碼轉換爲彙編代碼?如何將此C++代碼轉換爲程序集?

while((A = getch()) != "0") 
{ 
    switch(A){ 
    case "x": 
    printf("x"); 
    break; 
    case "w": 
    printf("w"); 
    case "k": 
    if(cx==0) 
     continue; 
    break; 
    default: printf("error"); 
      } 
} 

特別如何轉換:getch()!=「0」;

+0

重複? [你如何從gcc的C/C++源碼獲得彙編輸出?](http://stackoverflow.com/questions/137038/how-do-you-get-assembler-output-from-cc-source-in-gcc ) – luk32

+2

這不是爲你完成工作的地方。告訴我們你曾經嘗試過什麼,什麼沒有奏效,你在哪裏掙扎,並提出具體問題。 – bolov

+3

'g ++ -S -o assembly.s mycode.cpp'完成。 – Michael

回答

1

我認爲對於x86彙編,你可以寫

call getchar 

這將導致一個陷阱。當字符準備就緒時,它將被放入eax寄存器中。然後,您可以將此值與char「0」的十進制值進行比較,即48。