cmp %eax,0x80498d4(,%ebx,4)
據我所知,eax寄存器正在與某些東西進行比較,但我不知道eax是什麼被比較。這個x86指令是怎麼回事?
換句話說,什麼是
x80498d4 (,%ebx,4)
是什麼意思?
cmp %eax,0x80498d4(,%ebx,4)
據我所知,eax寄存器正在與某些東西進行比較,但我不知道eax是什麼被比較。這個x86指令是怎麼回事?
換句話說,什麼是
x80498d4 (,%ebx,4)
是什麼意思?
它比較EAX到地址的內容[0x80498d4 +(4 * EBX)]
來源:http://cs.nyu.edu/courses/spring12/CSCI-GA.1144-001/addressing_modes.pdf
它需要EBX的值,多個由如圖4所示,恆定0x80498d4添加到它。該值將被解釋爲地址,並將該值的內容與寄存器eax的值進行比較。 最後,cmp指令將設置EEFLAG寄存器。
我相信這是英特爾語法中的'cmp [ebx * 4 + 80498d4h],eax'。 IOW,它將括號中的地址與'eax'中的內容進行比較。 – 2014-10-01 20:18:10