Transcript Document

課程簡介與背景知識介紹
組合語言
971版
教材
敎科書介紹
• Intel-base computers
– KIP R. IRVINE, Assembly Language for INTELbased Computers, 5th Edition, Pearson.
• 王國華、白能勝、曾鴻祥編譯,組合語言,第五版,
全華圖書印行,書號:培生05976。ISBN 978-986-154610-0。
• ARM series processor
– Peter Knaggs and Stephen Welsh, ARM: Assembly
Language Programming, School of Design,
Engineering & Computing, August 31, 2004
教材
敎科書介紹(續)
• Features of Assembly Language for INTELbased Computers, 5th Edition:
–
–
–
–
–
教材
Intel IA-32組合語言
IA-32架構介紹
組語的基礎
巨集
高階語言介面
敎科書介紹
• ARM: Assembly Language Programming
–
–
–
–
–
–
–
–
–
教材
電子書
Assembler
Architecture
Instruction Set
Addressing mode
Program
Data Movement
Subroutine
…
教學目標
• 資工系教學目標
–培養具有增進或改善數位生活之各式系統設計與
實作能力的科技人才。
•數位生活系統
–嵌入式系統
•撰寫程式
•組合語言課程教學目標
–學習組合語言的程式設計的基本技巧,並認識
IA-32和ARM組合語言。使學生具備入門的技術,
能夠看懂與編寫IA-32與ARM組合語言程式。
教材
評分方式
• 期中考25%
• 期末考40%(整學期授課範圍)
• 平常分數35%
– 上課態度:基本分:70 (50%)
•
•
•
•
•
•
•
•
•
•
•
教材
全勤:+5
課堂練習:完成+1/每次
未被扣分:+5
缺課(未事先請假):-2/每節
遲到/早退:-1/每次
上課吵鬧:-1/每次
不聽勸告: -1/每次
上課玩電動:-10/每次
上課時做與課堂無關事項:-2/每次
不帶課本: -1/每次
缺考: -10/每次
– 小考/作業:(50%)
基本概念
• 組譯器(Assembler)
– 是一個能將組合語言的來源碼或原始碼(sourcecode),轉換成機器語言的公用程式。
• 連結器(Linker)
– 是一個能將組譯器產生的若干檔案,結合成單一
的可執行程式的公用程式。
• 除錯器(Debugger)
– 是一個能讓程式設計人員能夠逐步追蹤程式的執
行過程與檢視暫存器與記憶體內容的公用程式。
教材
基本概念
• 整合發展環境
– 將編輯器、組譯器、連結器、除錯器等整合在一
起的人機介面程式。
– 例:
• Visual Studio .Net 2005
• Visual C++ 2005 Express
教材
基本概念
• 組合語言和機器語言
– 一對一關係。
– 機器語言指令:
• 由0與1組成的特定二進位pattern
• 例:
1011100010111
– 組合語言指令
• 由助憶碼(mnemonic)表示
• 例:
add eax ,Y ;將Y的值存放到EAX暫存器。
教材
基本概念
• 組合語言和高階語言關係
– 高階語言的每個敘述 對應 多個組合語言敘述的
組合。
• 組合語言
– 通常有特定的格式。例:
Label
教材
add
AX, BX
; 將AX和BX暫存器的值相加
發展環境建構
• 組譯程式安裝
– Ref: http://kipirvine.com/asm/gettingStarted/index.htm#Required
– If you are using Visual Studio 2005 Professional or Team Suite, these
products already contain the Microsoft Assembler 8.0.
• Step 1: Install Visual C++ 2005 Express
Edition
• Step 2: Download and Install the Microsoft
Assembler
• Step 3: Installing the Book's Example
Programs
• Step 4: Building a Sample Assembly Language
Program
• Step 5: Running the Sample Program in Debug
Mode
教材
發展環境建構
• 函式庫與範例程式下載
– 進入網站: www.asmirvine.com
– 點入超連結:Link Libraries and Example Programs
– 下載: IrvineExamples.exe (a self-extracting archive file)
• 透過超連結:
– Complete set of example programs and link libraries
• After the file has been saved,
• 函式庫安裝
– 執行 IrvineExamples.exe
• Double-click on the self-extracting archive file to extract its contents.
• The programs are normally installed in the c:\Irvine folder, but you
have the option of changing the location.
教材
發展環境建構
• Installing the Book's Example
Programs
– get the latest copy of the book's link
libraries and example programs.
• The examples are stored in a selfextracting archive file that automatically
extracts to the c:\Irvine folder.
• Unless you have some objection to using
that location, do not alter the path.
– (Lab managers: you can designate c:\Irvine
directory as read-only.)
– If you plan to change the installation location,
read our instructions relating to changing
project properties.
教材
Irvine’s Examples
• The folllowing files will be copied into the c:\Irvine directory:
•
•
•
•
•
•
•
•
•
•
•
Filename
Description
GraphWin.inc Include file for writing Windows applications
Irvine16.inc
Include file used with the Irvine16 link library (16-bit applications)
Irvine16.lib
16-bit link function library used with this book
Irvine32.inc
Include file used with the Irvine32 link library (32-bit applications)
Link16.exe
16-bit linker
Irvine32.lib
32-bit link function library used with this book
Macros.inc
Include file containing macros (explained in Chapter 10)
SmallWin.inc Small-sized include file, used by Irvine32.inc
User32.lib
Link library with Windows functions.
make16.bat
Batch file for building 16-bit applications
VirtualKeys.inc Keyboard code definitions file, used by Irvine32.inc
A subdirectory named Examples will contain all the example programs shown in the
book.
教材