10.21.2006

ARM Assembly Pseudo Codes : MAP, FIELD

ARM Assembly 中MAP和FIELD是用來產生類似 C 的"structure" 的資料區塊
  MAP  0x100
A FIELD 16
B FIELD 32
C FIELD 256
以上在位址0x100的地方宣告了一個structure,A的位置是16 byte,B 32 byte,C 256 byte。
和 C的structure一樣,reference 到A時,代表位址0x100,
B 代表位址 0x100 + 0x10
C 代表位址 0x100 + 0x10 + 20

另外比較討厭的是ARM Assembly每個pseudo code幾乎都有一個簡寫符號,MAP是 " ^ ",FIELD是 " # "。

所以上例變成:
  ^  0x100
A # 16
B # 32
C # 256
要注意"#"在instruction 中代表literal。

另外,如果不是在MAP中,要宣告一塊空間,要用 " % ",使用 %符號,該位置由locator決定。

沒有留言: