组合语言补充讲义.PPTVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
组合语言补充讲义

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 的累加器暫存器,目前已沒有人直接用機器語言寫程式 機器語言程式範例 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的特色 Pep/7的記憶體 指令格式 指令指標是由以下幾個部分組成的: 運算碼( The operation code ) 暫存器設定(The register specifier): 0代表 A 暫存器,1 代表 X 暫存器 定址模式(The addressing-mode specifier) 指令格式 運算碼 指定將要執行何種指令(以下僅列 7 個) 指令格式 佔1個位元的暫存器指標 的值 若為 0,則代表暫存器 A(累加器)參與運算 若為 1 ,則代表暫存器 X(指標暫存器)參與運算 指令格式 機器碼 (1/6) 機器碼 (2/6) 機器碼 (3/6) 機器碼 (4/6) 機器碼 (5/6) 機器碼 (6/6) Ch

文档评论(0)

2105194781 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档