Chapter 07 低階程式語言.

Slides:



Advertisements
Similar presentations
6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
Advertisements

1 Chemical and Engineering Thermodynamics Chapter 2 Conservation of mass and energy Sandler.
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
第七章 抽樣與抽樣分配 蒐集統計資料最常見的方式是抽查。這 牽涉到兩個問題: 抽出的樣本是否具有代表性?是否能反應出母體的特徵?
: A-Sequence 星級 : ★★☆☆☆ 題組: Online-judge.uva.es PROBLEM SET Volume CIX 題號: Problem D : A-Sequence 解題者:薛祖淵 解題日期: 2006 年 2 月 21 日 題意:一開始先輸入一個.
:Word Morphing ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10508:word morphing 解題者:楊家豪 解題日期: 2006 年 5 月 21 日 題意: 第一行給你兩個正整數, 第一個代表下面會出現幾個字串,
3Com Switch 4500 切VLAN教學.
Reference, primitive, call by XXX 必也正名乎 誌謝 : 部份文字取於前輩 TAHO 的文章.
如何將數字變成可用之資訊 現代化資料處理與應用概念. 如何將數字變成可用之資訊 人最容易接受的訊息是圖像化資訊。 在一堆數字中,要進行比較分析,一般會使用表格形 式計算與分析。 所以一般我們會將數字依關聯性, 轉換成表格計算與分析。 此表格一般稱試算表或稱表格。 再將結果轉換為圖表,進行比較與分析。
1 Web of Science 利用指引 單元二 瀏覽與處理查詢結果. 2 瀏覽檢索結果 查出的結果,預設以時間排列, 使用者可改變結果的排列方式: 還可以依被引用次數、相關度、 第一作者、刊名、出版年等排序 回到前先查的結果畫面 點選想看資料的完整書目 本館訂購範圍的期刊 全文,便可直接連結.
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
: ShellSort ★★☆☆☆ 題組: Problem D 題號: 10152: ShellSort 解題者:林一帆 解題日期: 2006 年 4 月 10 日 題意:烏龜王國的烏龜總是一隻一隻疊在一起。唯一改變烏龜位置 的方法為:一隻烏龜爬出他原來的位置,然後往上爬到最上方。給 你一堆烏龜原來排列的順序,以及我們想要的烏龜的排列順序,你.
Chapter 2 聯立線性方程式與矩陣 緒言 線性方程式組 (systems of linear equations) 出現 在多數線性模式 (linear model) 中。根據以往解 題的經驗,讀者們也許已發現方程式的解僅與 該方程式的係數有關,求解的過程也僅與係數 的運算有關,只要係數間的相關位置不改變,
1.1 電腦的特性 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。 電腦能夠快速處理資料:電腦可在一秒內處理數百萬個 基本運算,這是人腦所不能做到的。原本人腦一天的工 作量,交給電腦可能僅需幾分鐘的時間就處理完畢。
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
第一章 計算機系統的主要架構.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
第三章 變數與繫結 陳維魁 博士 儒林圖書公司. 2 大綱  變數的定義  變數元件  儲存區配置問題  參考的透明性  完全計算  捷徑計算  繫結 (binding)  繫結時間  精選習題.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
第一章 演算法:效率、分析與量級 1.1演算法 1.2發展有效率演算法的重要性 1.3演算法的分析 1.4量級(Order)
JAVA 程式設計與資料結構 第十章 GUI Introdution III. File Chooser  File Chooser 是一個選擇檔案的圖形介面, 無論我們是要存檔還是要開啟檔案,使 用這個物件都會讓我們覺得容易且舒適。
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
計算機概論 - 排序 1 排序 (Sorting) 李明山 編撰 ※手動換頁.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology MATLAB 操作與 系統動態模擬 SIMULINK 李達生.
第三章 自動再裝載運用篇 使用時機:裝載計劃完成時,尚有剩餘空 間的情形,維持已固定計劃而繼續做裝載 最佳化。以支持次日裝載計劃而提前調整 作業模式。 裝載物品設定和裝載容器設定如前兩章介 紹,於此不再重複此動作,直接從裝載計 劃設定開始,直接從系統內定的物品和容 器選取所需.
Chapter 2 Getting Started Insertion Sort: 能有效率地排序小數字的演算法 範例 :
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
資料結構實習-一 參數傳遞.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
計算機概論 演算法與程式語言 李明山.
4 堆疊與佇列 4.1 前言 四種基本的資料結構 (可儲存資料的容器) 陣列 (Array)、串列(List): 最基本
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/25 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH 2.4~CH 2.6 &
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
Image Interpolation Use SSE 指導教授 : 楊士萱 學 生 : 楊宗峰 日 期 :
資料結構實習-二.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
© The McGraw-Hill Companies, Inc., 2006© The McGraw-Hill Companies, Inc., 2007 Chapter 4 IP 定址:分級式定址.
Chapter 10 m-way 搜尋樹與B-Tree
What is Computer.
演算法課程 (Algorithms) 國立聯合大學 資訊管理學系 陳士杰老師 Course 7 貪婪法則 Greedy Approach.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/30 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH7.1~CH /12/26.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 壹 企業研究導論.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
7.4 程式範例 在螢幕上寫出“Hello” 的程式 (參考 code/pep-p200.odc).
數字系統與資料表示法 教師: 陳炯勳 數系轉換 r進制數字 稱為 base r或 radix r 有r個計數符號,計數順序逢r歸零(進位) A n A n - 1 ‥‥A 2 A 1 A 0 ﹒A -1 A -2 ‥‥A -m 其中A n 及A.
Microsoft Excel.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
計 算 機 概 論 Chapter 10 作業系統. Ch010 作業系統 2 學習目標  描述作業系統的兩個主要任務  定義記憶體及程序管理  解釋邏輯位址與實體位址間的關係  基礎:第 5.2 節 范紐曼 電腦架構  ( 第 5 章講義第 頁 )
幼兒行為觀察與記錄 第八章 事件取樣法.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
1 資料表示法 Chien-Chang Chen Hsuan-Chuang University.
Presentation transcript:

Chapter 07 低階程式語言

學習目標 列出電腦可以執行的動作 討論抽象層級與訂定具體演算法步驟的關係 描述 Pep/7 虛擬機器的重要特色 分辨 立即定址模式(immediate addressing mode ) 及 直接定址模式 (direct addressing mode) 將一簡單的演算法 轉換成 機器語言程式

學習目標(續) 分辨出 機器語言(machine language) 及 組合語言(assembly language) 的不同 描述建立及執行組合語言的步驟 將一簡單的演算法則轉換成組合語言程式 分辨出要送給組譯器 (assembler) 的指令 及 要被轉譯(translated) 的指令 描述兩種測試程式的方法 設計及實現 一個簡單組合語言程式之測試計畫

7.1 電腦的動作 電腦是可程式化的電子裝置,它可以儲存、擷取及運算資料 資料及運用資料的指令都是二進制的數元串列,在邏輯上(指他們都是 0 與 1 的序列)是相同的,它們可以被儲存在相同的地方,這也是范紐曼機器的基本概念 儲存、擷取及運算就是電腦處理資料的動作

7.2 抽象階段 本節討論抽象(abstraction)的不同等級 如何知道演算法中某個步驟是否夠具體? 取決於程式語言的支援程度 如第六章(p156)的 “將表單依字母順序排序” 及 “列印表單”,是抽象還是具體?依程式語言的不同共有 4 種可能。如果是抽象,就要再定義其完整細節 本章先討論將虛擬碼轉為機器語言及組合語言 第 8 章討論將虛擬碼轉為可支援的抽象等級較高的高階程式語言

7.3 機器語言 機器語言(machine language):建立於特定電腦硬體中的指令,只能於該特定機種執行 1950 年代時,因為還沒有中高階程式語言的概念及其相關編譯器,軟體工程師別無選擇的只能用機器語言寫程式

機器語言 每一種處理器( processor,即 CPU )都有其自己特有的一組機器指令,每一個指令需要一個二進碼來表示 處理器及其所能執行的機器指令之間的關係密切,兩者是完全整合在一起的 每一個機器語言指令僅僅做一個非常低階的工作,例如將某記憶體位址的內容上載到 CPU 的累加器暫存器,目前已沒有人直接用機器語言寫程式

機器語言程式範例 將 0 與 1 的位元串以 16 進制表示,最後以 zz 表示程式結束, zz 是用來告訴 Pep7 模擬器 “不用再讀了”,不是機器語言程式的一部份

Windows 範例 “0x1001453” 指令參考 的 “0x0000000” 記憶體位置不能為 written 畫面

Pep/7:一部虛擬電腦 一部虛擬電腦就是一台假想的機器,但是包含了真實電腦所應具備的一些重要特徵 由 Stanley Warford 所設計的 Pep/7 具有32個機器語言指令 (所以需要 5 個位元來表示各個指令) 我們不完整介紹 Pep/7 所有指令,只看其中幾個指令,重點在了解機器語言如何運作

Pep/7的特色 記憶單元是由 4,096 個位元組( 4096 x 8 個位元)的記憶體所組成,4096 = 212,所以需要 12 個位元來表示某一記憶體位置 字組 (word) 長度是2個位元組(即 16 個位元 ),資訊流入或流出 ALU 的基本長度是 16 位元

Pep/7的特色 有 7個暫存器,我們將焦點放在以下 4 個 程式計數器(Program Counter,簡寫為 PC),2 bytes,存放下一個將被執行的指令的位址 指令暫存器(Instruction Register,簡寫為 IR),3 bytes,含有目前正在執行的指令的拷貝 指標暫存器(X 暫存器),2 bytes,存放陣列相關運算的指標值 累加器(A 暫存器),2 bytes,存放資料及運算後的結果

Pep/7的特色 Pep/7 有 4 個狀態位元(status bits),我們僅展示以下 2 個: N: (Negative) 當累加器的值為負 ,則其值為 1;否則為 0 Z: (Zero) 當累加器的值為 0 ,則其值為 1;否則為 0 狀態位元用於設計 迴圈 及 IF-ELSE 程式碼

Pep/7的特色 圖 7.1 Pep/7 的架構– CPU 的暫存器

Pep/7的記憶體 4095 圖 7.1 Pep/7 的架構– 記憶體

指令格式 一個指令包含兩個部分 : 8位元的指令設定(instruction specifier) 16位元的運算元設定(operand specifier)(不一定要有) 圖 7.2 Pep/7 的指令格式

指令格式 指令指標是由以下幾個部分組成的: 運算碼( The operation code ) 暫存器設定(The register specifier): 0代表 A 暫存器,1 代表 X 暫存器 定址模式(The addressing-mode specifier) 暫存器設定(R)

指令格式 運算碼 指定將要執行何種指令(以下僅列 7 個) 單一位元組(unary)指令 LOADA or LOADX

指令格式 佔1個位元的暫存器指標 的值 若為 0,則代表暫存器 A(累加器)參與運算 若為 1 ,則代表暫存器 X(指標暫存器)參與運算 佔2個位元的定址模式指標指示如何解譯指令的運算元部分,本章僅展示 00 (immediate,組合語言以 i 表示)、01(direct ,組合語言以 d 表示)

指令格式 圖 7.3 立即模式定址與直接模式定址間的差異

機器碼 (1/6) LOADA 0007, i (08 00 07) 0007 直接載入 A 暫存器 LOADX 001F, i (0C 00 1F) 0007 直接載入 X 暫存器

機器碼 (2/6) LOADA (001F), d (09 00 1F) 記憶體位址 001F 及 0020 的內容載入 A 暫存器 LOADX (001F),d (0D 00 1F) 記憶體位址 001F 及 0020 的內容載入 X 暫存器

將 A 暫存器內容第 1 byte 存到記憶體位址 000A ,第 2 byte存到記憶體位址 000B 機器碼 (3/6) STOREA (000A), d (11 00 0A) 將 A 暫存器內容第 1 byte 存到記憶體位址 000A ,第 2 byte存到記憶體位址 000B ADDA 20A, i (18 02 0A) 將 A 暫存器內容再加上 020AH

將 A 暫存器內容再加上記憶體位址 020AH 及 020BH的內容 機器碼 (4/6) ADDX 20A, i (1C 02 0A) 將 X 暫存器內容再加上 020AH ADDA (20A), d (19 02 0A) 將 A 暫存器內容再加上記憶體位址 020AH 及 020BH的內容 23

將 X 暫存器內容再加上記憶體位址 020AH 的內容 機器碼 (5/6) ADDX (20A), d (1D 02 0A) 將 X 暫存器內容再加上記憶體位址 020AH 的內容 CharI (000A) (D9 00 0A) 將 輸入字母存在記憶體位址 000AH

機器碼 (6/6) CharO h#41,i (E0 00 41) 41H 是 ‘A’ 字元的 ASCII 碼 輸出 ‘A’ 字元 CharO (000A), d (E1 00 0A) 輸出 記憶體位址 000A的內容(那個 byte)

勘誤 第 190 -- 204 頁,specifier 的中文由 指標 改為 設定 如 指令指標 改為 指令設定,運算元指標 改為運算元設定,暫存器指標 改為 暫存器設定,定址模式指標 改為 定址模式設定 第 191 頁,第 2 段第 8 列,”記憶體位址” 後增加 “的內容” 第 191 頁,圖 7.3 ,運算元設定右方空格由 5 個改為 4 個,資料又方 17 格改為 16 格 第 191 頁,最後一段第 1, 2 列,虛指令(unary instruction)應為單一位元組指令