2011-04-06 123 views
2

我想了解一些彙編代碼:彙編代碼「movl%1,%% ebx」是什麼意思?

movl $244, %eax 
movl %1, %%ebx 

第一個手段把數字244到寄存器EAX,但到底是什麼第二平均?在此先感謝您的幫助

P.S see the difference %1 and $244 and %eax and %%ebx 
+0

我重新打,因爲你忘了告訴,這個彙編代碼是內聯彙編 – VGE 2011-04-07 19:02:39

回答

3

movl %1, %%ebx

movl將第一個參數移到第二個參數。第一個參數是變量%1。第二個參數是寄存器%%ebx。編譯器將雙百分號更改爲單百分號所以你也可以一樣好寫:

movl %1, %ebx

+0

烏姆的環境中使用,其實我不相信你可以刪除額外的百分比(你會得到「操作數在%-letter後丟失」)。如果你正在使用擴展的asm(這個OP如%1所示),你必須使用'%% ebx'。 %eax消失的原因是OP從其他地方複製(即不擴展asm)。 – 2014-10-08 06:51:21