MAP 0x100以上在位址0x100的地方宣告了一個structure,A的位置是16 byte,B 32 byte,C 256 byte。
A FIELD 16
B FIELD 32
C FIELD 256
和 C的structure一樣,reference 到A時,代表位址0x100,
B 代表位址 0x100 + 0x10
C 代表位址 0x100 + 0x10 + 20
另外比較討厭的是ARM Assembly每個pseudo code幾乎都有一個簡寫符號,MAP是 " ^ ",FIELD是 " # "。
所以上例變成:
^ 0x100要注意"#"在instruction 中代表literal。
A # 16
B # 32
C # 256
另外,如果不是在MAP中,要宣告一塊空間,要用 " % ",使用 %符號,該位置由locator決定。
沒有留言:
張貼留言