將這個C代碼翻譯成程序集時,只有一件小事情被卡住了。這是我堅持的代碼行。將C程序翻譯成IA32程序集(非常快)
if (input == '\n')
我的彙編代碼迄今(此行)是
movl input, %eax #%eax = input
cmpl ___, %eax
如何比較輸入到 '\ n'?我是直接比較它還是首先將它移入內存?謝謝。
將這個C代碼翻譯成程序集時,只有一件小事情被卡住了。這是我堅持的代碼行。將C程序翻譯成IA32程序集(非常快)
if (input == '\n')
我的彙編代碼迄今(此行)是
movl input, %eax #%eax = input
cmpl ___, %eax
如何比較輸入到 '\ n'?我是直接比較它還是首先將它移入內存?謝謝。
嘗試
cmp 0x0D,%eax
0X0D是回車ASCII碼,或者你可以嘗試的0x0A爲換行符。
@Serge Ballesta對不起,我的壞。 0x0D是回車符,0x0A是換行符。再次抱歉。我把他們混淆在腦海中。 –
'cc program.c -S && cat program.s'或'cc program.c && objdump -dr a.out' –
什麼意思是「非常快」? –