和春技術學院資訊管理系 九十三學年度第一學期 系統程式

Slides:



Advertisements
Similar presentations
天水圍的體育設施.
Advertisements

第2章 組譯器.
藥物濫用 華德學校上午校 黃秀雯.
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
大连理工大学软件学院 软件工程系 赖晓晨 计算机组成与结构 大连理工大学软件学院 软件工程系 赖晓晨
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
新世代計算機概論 第14章 程式語言.
Ch 的組合語言與系統發展.
Hadoop 單機設定與啟動 step 1. 設定登入免密碼 step 2. 安裝java step 3. 下載安裝Hadoop
主題五 CPU Learning Lab.
第1章 程式語言與Visual Basic的基礎
組合語言與系統分析 SIC程式教學.
第1章 背景.
基本程式範例.
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 廣告燈 2018年11月7日 8051 單晶片實習----E0903廣告燈.
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 霹靂燈 2018年11月7日 8051 單晶片實習---E0902霹靂燈.
電腦操作 會考電腦 浸信會永隆中學.
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
程式語言簡介.
Chapter 1 Introduction.
JDK 安裝教學 (for Win7) Soochow University
指令集架構 計算機也跟人類一樣,需要提供一套完整的語言讓人們跟它充分溝通,以完成正確的計算工作。
國立大甲高工 電機科 單晶片微電腦控制實習 輸出埠基礎實習 閃爍燈 2018年11月23日 8051 單晶片實習---E0901閃爍燈.
2-1 接腳說明 2018/11/30 第2章 系統分析.
學習目標 列出Von Neumann machine的元件以及它們的功能。
第一章 C語言概論 本章投影片僅供本書上課教師使用,非經同意請勿拷貝或轉載.
SQL Stored Procedure SQL 預存程序.
安裝JDK 安裝Eclipse Eclipse 中文化
第五章 深入研究指令集架構.
用開關選擇動作狀態 單晶片微電腦控制實習 輸入埠基礎實習 國立大甲高工 電機科 2019年1月16日
Ch07 低階程式語言 目標---研讀完本章後,你應該可以: 列出電腦可以執行的動作。 討論抽象階段與訂定具體演算步驟的關係。
第 2 章、電腦的硬體結構 作者:陳鍾誠.
Chap3 Linked List 鏈結串列.
第六章 安全衛生工作守則 6-1 前 言  6-2 訂定依據相關法令規定  6-3 工作守則製作程序及製作前應注意事項  6-4 如何訂定適合需要之安全衛生工作守則  6-5 結 論.
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
第 1 章 Java 簡介.
微處理機 Microprocessor (100上) ARM 內核嵌入式SOC原理
網頁程式設計 本章投影片錄自HTML5、CSS3、RWD、jQuery Mobile跨裝網頁設計 陳惠貞 著 碁峰資訊股份有限公司出版
CISC vs. RISC 複雜指令集電腦(Complex Instruction Set Computer: CISC)
4-15 WDT HT66F50.
第 19 章 XML記憶體執行模式.
第七單元 正反器 (教科書第四章) 數位系統實驗
第十章 指標.
第1章 背景.
CH05. 選擇敘述.
緩衝區溢位攻擊 學生:A 羅以豪 教授:梁明章
GridView操作 (II).
計算機概論 跨越講義 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 結構化VS物件導向程式設計
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
MiRanda Java Interface v1.0的使用方法
陣列與結構.
Chapter 15 檔案存取 LabVIEW中的檔案存取函數也可將程式中的資料儲存成Excel或Word檔。只要將欲存取的檔案路徑位址透過LabVIEW中的路徑元件告訴檔案存取函數後,LabVIEW便可將資料存成Excel或Word檔;當然也可以將Excel或Word檔的資料讀入LabVIEW的程式中。
4-1.3 CPU指令運作週期 P60 資訊科技概論--電腦硬體.
一、簡介 電腦硬體設計:純硬體電路(hardware)及韌體電 路(firmware)兩種方式。
利用HT66F50 SIM模組單元中PCK腳位輸出特性 控制speaker 發聲 SIM 串列界面模組
資料表示方法 資料儲存單位.
第1章、系統軟體 作者:陳鍾誠 旗標出版社.
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
期末報告第一題 通訊四甲 B 湯智瑋.
程式語言簡介 2019/7/17 明乘中學編製.
作業系統實習課(二) -Scheduler-Related System Calls-
第 4 章、組譯器 作者:陳鍾誠 旗標出版社.
開發Java程式語言的工具 JDK.
LED Pili LED 中州技術學院 電子系 副教授 余文俊.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
Chapter 4 Multi-Threads (多執行緒).
快取映射 之直接對映 計算整理.
Unix指令4-文字編輯與程式撰寫.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

和春技術學院資訊管理系 九十三學年度第一學期 系統程式 和春技術學院資訊管理系 九十三學年度第一學期 系統程式 教學投影片 講師:毛立仁

第九章 組合語言 9-1 組合語言特性 9-2 IBM 360/370 組合語言 9-3 定址摸式

9-1 組合語言(Assembly Language)特性 早期的系統程式皆是用組合語言(Assembly Language)所撰寫的,然而,現今的系統程式大多可由高階語言(High Level Language)來撰寫(C、Java、Pascal、Basic)。 機器語言(Machine Language) 及組合語言(Assembly Language)與高階語言(High Level Language)比較:

翻譯(Compile)、直譯(Interpret)與組譯(Assemble) 高階語言程式→翻譯器(Compiler)→機器語言程式 High Level Language 翻譯器的功能 Machine Language 高階語言程式→直譯器(Interpreter)→執行結果 直譯器的功能 組合語言程式→組譯器(Assembler)→機器語言程式 組譯器的功能

使用組合語言替代機器語言的優缺點 - <優點>: a. 指令為助記憶式符號(Mnemonic),記憶及撰寫時較方便。 b. 位址是以符號(Symbol)表示,較具有彈性與變化性。 c. 較機器語言(Machine Language)容易瞭解及閱讀。 d. 程式中引用資料較容易。 <缺點>: a. 必須由組合程式(Assembler)將原始程式(Source Program)轉成目的程式 (Object Code)。

使用組合語言替代高階語言的優缺點- <優點>: <缺點>: a. 執行速度快。 b. 程式佔用空間較小。 b. 與機器相關(Machine Dependent) 。 c. 不具有可攜性(Non-Portable) 。

(1) 機器指令(Machine Operation): (2) 虛擬指令(Pseudo Operation) : 組合語言的指令可分成兩大類: (1) 機器指令(Machine Operation): 為可執行的指令,有相對應的機器碼。 (2) 虛擬指令(Pseudo Operation) : 為不可執行的指令,並沒有產生對應的機器碼,只能命令組合程式做某些動作。

9-2 IBM 360/370 組合語言 用一個 IBM 360/370 之組合語言程式來介紹其指令之功能 PROG START HEAD   HEAD BALR 15,0 USING HEAD+2,15 SR 4,4 2 L 3, = F'10' 4 3,30(0,15) REPEAT 2,DATA(4) 8 2,42(4,15) A 2, =F'49' 12 2,34(0,15) ST 2, =DATA(4) 16 2,42(4,5) 4, =F'4' 20 4,38(0,15) BCT 3, * - 16 24 3,6(0,15) BR 14 28 BCR 15,14 LTORG 32 10 36 49 40 DATA DC F'1,3,3,3,3,4,5,9,0' 44 1 48 3 52  組 合 語 言 程 式 相 對 位 置 END

(1) USING: (2) START: (3) END: 此為一虛擬指令,用以指示組合程式使用那一個暫存器為基底暫存器,並指定該暫存器內所含之值為何。如:USING HEAD + 2,15 表示以編號第 15 號之暫存器為基底暫存器,而其內所含之值為 HEAD + 2。 (2) START: 此為一虛擬指令,用以指示組合程式此處為程式之開端且其名稱為何。如:PROG START 表示程式之名稱為 PROG。 (3) END: 此為一虛擬指令,用以指示組合程式此處為程式的結束。

(4) BALR: 此為一機器指令是跳躍並鏈結暫存器之縮寫。此指令是將下一個要執行指令的位址存入指定的暫存器中,然後再跳到第二個欄位暫存器所指示的位址去執行。若第二個欄位的運算元是第 0 號暫存器時,就直接去執行下一條指令。如:BALR 15,0 表示將下一條指令的位址儲存於編號第 15 號的暫存內,但是由於第二個欄位的運算元為第 0 號暫存器,故直接執行下一條指令。 (5) BR: 此為一機器指令,表示無條件跳至其後暫存器內所指示的位址處執行。如:BR 14。

(6) LTORG: 此為一虛擬指令,用以指示組合程式將文字表 中的常數從此處開始存放。此指令通常用於較長程式中。一般而言,若是沒有此一指令,則組合程式會將文字表放置於 END 指令後。 (7) DC: 此為一虛擬指令,是定義常數的縮寫。指示組合程式定義某一符號為一常數值。如:Beta DC F'10',表示 Bata 的值為 10。

(8) DS: (9) EQU: 此為一虛擬指令,是定義儲存空間之縮寫。指示組合程式預留記憶體空間。 此為一虛擬指令,亦是用以定義常數,但用 EQU 所定義的常數在程式中為絕對的,不能再變更其值。而用 DC 所定義的常數則可以重新定義新的常數值。

組合語言之指令格式 - (1) 操作碼 (Operation): 運算元欄 (Operand Field) (1) 操作碼 (Operation): 此欄位含有一已定義之機器碼。當 CPU 由記憶體中取出指令,經由指令解譯器 解讀後,此操作碼可用來告知 CPU 所要執行的動作。 (2) 運算元 (Operand): 此欄位通常含有數個運算元。當指令經解讀後,此欄位用以告知 CPU 到何處存取資料以便運算。

組合語言指令之類型 - (1)記憶體參考式指令(Memory Referenced Instruction): 指令內含有數個運算元,而其值儲存於記憶體中,必須至記憶體中讀取該運算元的值。 (2)暫存器參考式指令(Register Referenced Instruction): 指令執行時僅對暫存器的內容做運算。如:將第 5 號暫存器的值清除為零 CLR 5。

(3)暫存器對暫存器運算指令(Register-Register Instruction) : 針對兩個暫存器間做運算之指令。如:將第 5 號暫存器之值減掉第 2 號暫存器之值後,再將結果儲存於第 5 號暫存器內 SUB 5,2。 (4)輸出入指令(I/O Instruction) : 專司資料輸出入的工作或控制輸出入設備的指令。 (5)巨集指令(Macro Instruction) : 將一群指令事先以一指令替代,此指令謂巨集指令。其功能類似副程式。

9-3 定址摸式(Addressing Mode) 常見的定址模式有如下九種: 1.立即定址模式(Immediate Addressing Mode): 指令的運算元欄內的值就是所要的資料,執行時不必再做額外的記憶體讀取動作,可立即使用該運算元欄內的值做運算。

2. 直接定址模式(Direct Addressing Mode) : 指令的運算元欄內的值表示資料存放於記憶體的實際位址 (有效位址,Effective Address),故需要做一次的記憶體讀取,以取得所需之資料。此模式亦稱為絕對定址模式 。 例:MOV AX,[4567]

3.間接定址模式(Indirect Addressing Mode) : 指令的運算元欄內的值為有效位址的位址值,故需做二次的記憶體讀取,以取得所需之資料。

4.索引定址模式(Index Addressing Mode) : 將指令的運算元欄位內的值加上索引暫存器(Index Register)內的值,以求得存放資料的有效位址。在此模式中,使用者若想讀取記憶體中其它位址的資料,必須藉由改變索引暫存器內的值,而非調整運算元欄位內的值。

5. 基底定址模式(Base Addressing Mode): 將基底暫存器(Base Register)內的值加上指令的運算元欄位內的值,以得到存放資料的有效位址。在此模式中,使用者若想讀取記憶體中其它位址的資料,必須藉由改變運算元欄位內的值,而非調整基底暫存器內的值。

6. 相對定址模式(Relative Addressing Mode): 將指令的運算元欄位內的值加上程式計數器(Program Counter)內的值,以求得存放資料的有效位址。

7. 暫存器定址模定(Register Addressing Mode) : 存放資料的有效位址即是指令的運算元欄位內所指定的暫存器。 例:MOV AX,R7

8.暫存器間接定址模式(Register Indirect Addressing Mode) :存取資料的有效位址即是指令內所指定暫存器內的值。 例:MOV AX,[R7]

9. 隱含定址模式(Implied Addressing Mode) : 此模式的運算元已經被隱含於指令內。如指令 CMA 即是對累加器內值做 1 的補數 。