我underdstand,這是愚蠢至極quiestion,但我找不出答案一段時間
如何正確地聲明和定義氣體「變量」 AT & T彙編語言?
例如,我想緩衝液中5個字節,2個1字節變量(最初爲0的值),與10
此代碼0和2字節的變量的2字節變量不正確地工作,至少調試器說,(在程序的第一線,這些聲明,只是nop
指令後),其b
和c
是大數字,而不是零。彙編語言定義「變量」
.bss
.lcomm r, 5
.data
a: .byte 0
b: .byte 0
c: .word 0
d: .word 10
對我來說這似乎很好。也許你的調試器讀取'b'和'c'作爲'dwords',在這種情況下'b'和'c'可能是'0x0a0000'和'0x0a00',或者更大。 – user35443
或者也許調試器顯示的地址不是值。你沒有顯示你在調試器中做了什麼,以及你使用了哪一個,但是要打印'a',你可以在'gdb'中執行'x/b&a'。 – Jester
這就是你如何在GAS程序集中定義變量。你的調試器可能不知道'b'和'c'應該是8位和16位數字。彙編器生成的調試信息不如編譯器生成的調試信息。 –