Assembler嘅HLA邊界

寫Assembly用到Marco就試過N次,之前都係用到點就學到邊,無了解過佢嘅邊界,而家差唔多去到要為自己嘅assembler研發marco,所以要先睇下HLA嘅Marco大約可以做到啲乜。沙田圖書館係有唔少好書。

書中講左句: 啲人係用Assembler嘅Marco有幾勁黎判斷個assembler有幾勁,無錯,啲人確實係甘諗。以下就係關於assembler功能上嘅總結:

  1. Compile Time Operators. (E.g. : +-*/, <<, >> =, <>)
  2. Operator Precedence and Associativity (E.g. : !, -, div, mod)
  3. Compile Time Functions
    1. Type conversion
    2. Numeric functions
    3. Character-Classification functions (E.g. : isAlpha, isDigit, isSpace)
    4. String functions
    5. Symbol information (E.g. : @size, @define @typeName, @elements, @elementSize)
    6. Misc compile time functions (E.g. : @odd, @lineNumber, @text)
    7. Compile-Time type conversions of text objects (類似php嘅多重嵌套變數, $$a)
  4. Conditional compilation (Compile-Time decisions) (E.g. : #if)
  5. Repetitive compilation (E.g. : #for)
  6. Marcos (自己定義新Marco)

Leave a Reply

Your email address will not be published. Required fields are marked *