我在賠率明白爲什麼初始化使用.int
的整數數組後不movl
然而,隨着.byte
做它的工作完美的作品「.INT」與「.BYTE」創建於GNU彙編器陣列
PS我使用的是AT & T語法只是如此,這是從一開始就
這裏明確的代碼:
.data
IntArray:
.int 1, 2
CharArray:
.byte 1,2
.text
.globl _start
_start:
movl IntArray, %eax <--- fails
movb CharArray, %eax <-- works
順便說一句,這是「正確」的方式向基地址複製到寄存器因爲它正在複製第一個字節而不是我想要的地址。
我已搜查幾十個在數十個環節,我只看到人們使用.byte
初始化數組。那麼.int
有什麼用?也許我沒有用它適當
有人能提供一些線索,請!!!!
你用什麼彙編的基地址?因爲這看起來不像你使用的是GNU彙編器。 – fuz
對不起,我刪除了一些被忽略的不可打印的字符。我強迫我的vim打印它們,因爲我有時會遇到一個令人討厭的問題。我從vim編輯器被直接複製(雖然去除了他們,但顯然有些就剩了:() 是的這是非常GNU彙編 – HighOnMeat
我很困惑,因爲佈局是很奇怪的。通常標籤去的第一列和指令(例如'.data'或'text')與助記符(即第二列)進入相同的列。您的佈局令人困惑。 – fuz