1 / 14

Assembly Language

Assembly Language. 陳建宏 教授 E-mail: jameschen@chu.edu.tw WWW: http://www.chu.edu.tw/~jameschen/ 課程網頁 : http://www.chu.edu.tw/~jameschen/courses/98/AL/. 簡介. 課程目標 教材 課程大綱 評分方式 我們預期你 …. 課程目標. 了解組合語言的基本概念與用法,俾能進一部研習資工系進階課程 組合語言 微處理機系統 計算機結構 數位系統 系統程式 嵌入式系統. 教材.

odeda
Download Presentation

Assembly Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Assembly Language 陳建宏 教授 E-mail: jameschen@chu.edu.tw WWW: http://www.chu.edu.tw/~jameschen/ 課程網頁: http://www.chu.edu.tw/~jameschen/courses/98/AL/

  2. 簡介 • 課程目標 • 教材 • 課程大綱 • 評分方式 • 我們預期你…

  3. 課程目標 • 了解組合語言的基本概念與用法,俾能進一部研習資工系進階課程 • 組合語言 • 微處理機系統 • 計算機結構 • 數位系統 • 系統程式 • 嵌入式系統

  4. 教材 • Assembly Language for Intel-Based Computers (5th Edition) • by Kip R. Irvine • Prentice-Hall Inc. • ISBN: 0-13-204848-5 • 台灣代理: 全華科技 • http://www.prenhall.com/irvine/教材主頁 • http://kipirvine.com/asm/教材下載網址

  5. 授課大綱 • Basic Concepts • IA-32 Processor Architecture • Assembly Language Fundamentals • Data Transfers, Addressing, and Arithmetic • Procedures • Conditional Processing • Integer Arithmetic • Advanced Procedures • Strings and Arrays • Structures and Macros

  6. 評分方式 • 成績 • Midterm Exam x2 (期中紙筆考) 30%, • Final Exam (期末上機考) 30%, • Assignments (課後作業) 30%, • In-class assignments (隨堂表現) 10% • 沒交作業、錯過小考或是測驗都視作零分。只有在有醫生證明的病假時才能不參加測驗。如果可能的話,請假最好在考試前就辦好手續。

  7. 助教時間:未定 (自由參加, 有到請簽名) • 2 次 期中考, 1次期末上機考 • 點名3次不到 – 當掉

  8. 組合語言開發環境 • Microsoft Macro Assembler 8.0 (MASM) Package (x86) • MASM 是 Microsoft Macro Assembler 的縮寫,它是 微軟 為 x86微處理器家族,所寫的一套巨集組譯器。它最初是用來發展在 MS-DOS上面執行的軟體,同時,它也該系統最流行的組譯器。 • 它支援的巨集很靈巧,既廣泛又多樣性,結構化程式的慣用語法,包含高階架構式的迴圈、程序呼叫,以及輪替 (alternation)(因此,MASM 算是高階組譯器的一個範本).

  9. 起源與競爭 • 在 1990 年代初期,不管如何,有一些可供選擇的組譯器,像是 Borland TASM、共享版的 A86,以及(在 90 年代末期)NASM,都開始取得 MASM 的一些市場份量。但是在 1990 年代終,有兩種因素,使得 MASM 保住大部分的市場份量: • 一是,微軟停止把 MASM 作為商業產品一樣的出售,並開始當成免費散佈的 DDK(驅動器發展套件)之一部分;其次,MASM32 開發包、Iczelion's Win32 教材的出現,讓視窗應用程式的設計,更方便使用 MASM. • 後來在 2000 年,MASM 6.15的發行,一樣是 Visual C++ Processor Pack的一部份,費用全免。結果,在 Visual C++ 6.0後來的所有版本,所包含的 MASM 之版本,都相等該 Visual C++的版本。後來在 Visual C++ 2005,64 位元版的 MASM 出現了(檔名為 ml64.exe)。加上有龐大數量已安裝 MASM 的用戶群基礎,這些因素,使得MASM仍能繼續生存而不被淘汰。

  10. 支援 MASM 的專案 • 有許多正在進行的軟體開發專案,都有支援到 MASM,其中包括 IDE(如 WinAsm Studio,RadASM)、除錯器(像是 OllyDbg),以及 反組譯器(如 IDAPro, Interactive Disassembler) • 這個 MASM32的專案(http://www.movsd.com/)為了MASM 使用者的方便,它把許多非常令人感動的程式師所寫的程式庫(library)、程式範例 (sample code) 寶庫,以及令人感動的說明文件,全都集合在一起。也有很多網上論壇,有在支援 MASM(包括 http://www.masmforum.com). • 這些也都是沿習著著名的產品,如 Visual Basic、Visual C++、EasyCode的 IDE一樣,為 MASM 提供 視覺化(visual) 的能力。雖然這個產品上了年紀,但它仍然是最受各方支援的組譯器。

  11. MASM 的版本 • 雖然 MASM 不再是商業產品,但微軟乃繼續支援著它,因為在微軟的廠內,還是存在著大量以組語為基礎的程式碼。 • 以單獨包裝販賣的 MASM,最後版本的是 6.11. 自從微軟停止對 MASM 分開銷售後,至今他們也更新了幾次的 MASM 6.x 版。 • 6.15 版是放在 Visual C++ 6.0 Processor Pack中。 • 7.0 版是放在 Visual C++ .NET 2002。 • 7.1 版是放在 Visual C++ .NET 2003。 • 8.0 版是放在 Visual C++ .NET 2005,它也可以組譯x64的程式碼。 • 在這些新版 Visual C++的 bin 目錄中,都可以看見 ml.exe,但在 Visual C++ .NET 2005的同樣目錄中,可以看見 ml64.exe,它可以組譯x64的程式碼。它的說明文件,也都是這些新版本的 Visual C++之說明文件的一部份。 • 有一些新版本的 MASM,也會放在微軟的 SDK和 DDK中。

  12. 操作環境 • 完整安裝說明: • http://kipirvine.com/asm/gettingStarted/index.htm • 視窗方式: • Visual C++ NET 已經內建 • 簡易版本安裝方式: • 需先安裝Visual C++ 2005 (2008) Express Edition (FREE) • 下載 MASM 8.0 http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=7a1c9da0-0510-44a2-b042-7ef370530c64

  13. 不需先安裝Visual C++ Express Edition 的方式 • 直接取用MASM 8.0的功能 • 以WinZip(WinRAR)亦可解壓縮下載自微軟網站的MASMsetup.EXE,可得setup.exe。 • 再以WinZip解壓縮步驟1所得的setup.exe,可得vc_masm.msi和vc_masm1.cab兩檔。 • 再以WinZip解壓縮步驟2所得的vc_masm1.cab,可得名稱既長又怪的檔案FL_ml_exe_____X86.3643236F_FC70_11D3_A536_0090278A1BB8。 • 這個名稱既長又怪的檔案其實就是ml.exe。將FL_ml_exe_____X86.3643236F_FC70_11D3_A536_0090278A1BB8更名成ml.exe即可。

  14. 我們預期你… • 共同參與 • 出席講課及複習課是必須的。在這裡你可以了解觀念、你可以和助教或同學們一起討論、你也可以提出任何的問題。 • 考試 • 有2次考試(都是在範圍內) (請參閱課程大綱),考試目的是測驗你的觀念而不是背誦。 • 作業 • 這裡的問題集可以幫助你了解觀念,解題方法、激勵更多的思考。試著作所有題目並對照答案,並且試著參照你為何有所不能。 • 這會是一門有趣的課,期待能和你們一同努力,將會獲益良多。

More Related