簡體   English   中英

裝配立即值

[英]Assembly immediate values

我是匯編語言的新手,對AT&T語法中被認為是“直接值”的東西感到有些困惑。 具體來說,我理解“$”用於表示立即值或地址,“%”用於表示寄存器,但后來我訪問“數組”的元素:

movl mem_location(%ebx,%ecx,4), %eax

為什么這個數字4之前沒有“$”,這不是一個直接值嗎?

感謝您的時間

我認為你誤解了直接價值的含義。 立即值表示該值包含在操作碼中。 如果它指的是內存(數組)或寄存器,則不是立即的。 正如Jester所指出的那樣, 4實際上是內存尋址的比例因子。 這不被視為直接價值

立即價值的一個例子就像mov eax, 123

還要注意, 立即值是一個匯編概念(它適用於許多架構),而不是特定於AT&T語法的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM