[英]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.