0
我想將下面第二個值的地址加載到寄存器中。x86和解引用標籤
這是我在Unix中的語法代碼:
.data
Lz7:
.long 24
.long 34
.long 80
.long 108
.long 101
.long 97
.long 115
.long 101
.long 32
.long 105
.long 110
...etc...
我想使用此代碼:
movl Lz7, %eax /* %g14 */
movl $4, %ebx /* %g15 */
addl %ebx /* %g15 */ , %eax /* %g16 */
但GCC在運行時抱怨總線錯誤。在GDB中,我可以看到GCC正在將標籤Lz7
轉換爲十六進制值0x2068,這看起來太小了。我也嘗試過4(Lz7),但GCC抱怨。我怎樣才能確定程序中的總線錯誤的位置?如果此代碼不正確,我應該寫什麼?
'$ MOVL LZ7,%eax'也適用。 – Nayuki 2012-03-04 20:51:03