2007年3月15日 星期四

Assembly Chapter 3 Overview

Assembly Chapter 3 Overview

本章主要是組合語言的基礎介紹, 包括常用的整數運算式, 字元字串的定義等基本的寫法. 組合語言也具有一般高階語言的特性保留字清單(reserved words), 只允許在正確的環境下使用, 程式設計師在自訂的識別碼(identifier)時, 並需注意不可是組合語言的保留字.
組合語言指令(introduction)是在程式被載入記憶體後, 由處理器執行的語法, 主要包括四個部份: Label(選用), Instruction Mnemonic(必要), Operrands(通常需要), 註解(選用), 其中instruction mnemonic是一個簡短的組譯器關鍵字, 對應相對動作的指令; label則是一種作為程式或資料位置標記的識別碼; 每個指令可以有0~3個運算元, 每個運算元可以是 暫存器,記憶體運算元,常數運算式或I/O埠. 組合語言的程式區段可分三個邏輯區段, 分別為程式碼, 資料與堆疊. 程式碼區段有可執行的指令; 堆疊區段堆放著處理程序參數, 區段變數, 及回傳位址; 而資料區段則存有變數. 使用者在自訂變數時,可依不同的型態來做設定; 例如: BYTE (定義八位元變數), WORD(定義十六位元變數), DWORD(定義三十二位元變數)...

一如大部份高階語言, 組語程式需經過組譯之後, 產生object code (OBJ), 再經由鏈結函式庫後得到執行檔(EXE), 才可以載入記憶體中執行. 一般我們所定義的變數(data labels)及組語指令(instructions)都是run time 時真正存在並會執行, 但是Directive 及Symbolic constants則是Assembly time由組譯器運用執行的指令及符號常數, 是比較重要且需釐清的觀念.
學習目標:
1. Basic element of Assembly language
  • Integer expression
  • Reserved Words and Identifiers
  • Character and string constants
  • Mnemonics and Operands


2. Defining data

  • Intrinsic Data Types
  • Data Definition Statement

3. Symbolic constants

  • Equal-sign (integer expression)
  • EQU (expression or text)
  • TEXTEQU (text macro)

沒有留言: