我用gcc -S xx.c
GCC一族:move xxx
,但我想真正的指令sll xxx
也許一個簡單的問題,但我沒有找到在谷歌的答案。
編輯:
GCC想創一個move
的insn,但MIPS沒有真正move
,用它sll $x, $x, $0
做move
事情。還用sll $0, $0, $0
來做nop
的事情。
我用gcc -S xx.c
GCC一族:move xxx
,但我想真正的指令sll xxx
也許一個簡單的問題,但我沒有找到在谷歌的答案。
編輯:
GCC想創一個move
的insn,但MIPS沒有真正move
,用它sll $x, $x, $0
做move
事情。還用sll $0, $0, $0
來做nop
的事情。
move
是MIPS組裝中的pseudo-instruction。這不是一個真正的指令,但彙編程序接受並翻譯它。
move $rt, $rs
轉換爲addi $rt, $rs, 0
。
至於使gcc輸出彙編代碼沒有僞指令,我不認爲這是可能的。
是的,我的意思是我想讓它像所有的真正insn insn不動,即使它接受它。 – Nybble 2011-06-09 02:05:01
@吳不幸的是,你必須手動翻譯它(或者在你的腦海中)。海灣合作委員會產生僞指令,無法關閉此功能。 – 2011-06-09 02:06:46
您能否提供您看到這些說明的代碼?被移動的變量的值可能會提示爲什麼gcc使用「move」而不是「sll」 – Gangadhar 2011-06-08 08:56:48
很確定相關命令是'gcc -S xx.c'。這是首都S,而不是小寫字母s。這有幫助嗎? – susmits 2011-06-08 13:42:01
@susmits:你說得對,謝謝,這是我的打字錯誤:) – Nybble 2011-06-09 01:58:48