[英]Assembly compl 32 bit, 8 bit
我正在查看一些匯編代碼,我看到:
cmpl $0x1d32, -0x4(%ebp)
由於 -0x4(%ebp) 是 1 個字節,它顯然不能在其中存儲其他值 (7474)。 因此,此代碼何時將它們顯示為相等? 它只會比較立即值的最高/最低有效字節還是有某種隱藏的字擴展?
-0x4(%ebp)
是一個地址,它沒有任何關聯的大小。 指令中的l
后綴將大小指定為 32 位整數 ( long
)。 因此,處理器將從給定地址開始獲取 4 個字節,並將其用作以小端字節序(即從最低有效字節開始)解釋它的操作數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.