2016-10-14 50 views
0

我一直在使用yasm彙編語言,並且生成了一個包含以下內容的列表文件。我需要幫助瞭解如何計算第一列中的內存位移。提前致謝。如何計算組件中的內存位移?

1        %line 1+1 memory.asm 
2        [section .data] 
3 00000000 04000000    a dd 4 
4 00000004 CDCC8C40    b dd 4.4 
5 00000008 00000000<rept>  c times 10 dd 0 
6 00000030 01000200    d dw 1, 2 
7 00000034 FB     e db 0xfb 
8 00000035 68656C6C6F20776F72- f db "hello world", 0 
9 00000035 6C6400 

回答

0

彙編是生產字節(機器代碼),從某些起始地址(這裏0)和彼此相鄰鋪設它們。因此,首先a dd 4產生4個字節的數據04 00 00 00,因此地址0,1,2和3處的存儲器被填滿。下一個空閒插槽位於地址4處。出現b dd 4.4,再長4個字節。 c times 10 dd 0長度爲40個字節,因此8 + 40 = 48(0x30)=>下一個空閒插槽。