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
本章主要是組合語言的基礎介紹, 包括常用的整數運算式, 字元字串的定義等基本的寫法. 組合語言也具有一般高階語言的特性保留字清單(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)
沒有留言:
張貼留言