教科书:系统程式- 第3 章、组合语言.PDFVIP

教科书:系统程式- 第3 章、组合语言.PDF

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

第3 章、組合語言 作者:陳鍾誠 旗標出版社 第3 章、組合語言  3.1 基本範例  3.2 陣列存取  3.3 副程式呼叫  3.4 進階語法  3.5 實務案例:IA32 的組合語言 CPU0 的組合語言  前置表示法  CPU0 的組合語言一律採用目標在前的撰寫方式。  範例  ADD R1, R2, R3 相當於 R1 = R2 + R3 3.1 基本範例  資料移動  基本數學運算  模擬條件判斷  模擬迴圈  一個完整範例-- 從 1 加到 10 資料移動  C 語言  組合語言  以組合語言移動記憶體資料 基本數學運算 模擬條件判斷 模擬迴圈 一個完整範例- 從 1 加到 10 3.2 陣列存取  字串複製 (指標版)  字串複製 (索引版)  整數陣列的複製 字串複製 (指標版) 字串複製 (索引版) 整數陣列的複製 3.3 副程式呼叫  單層次的副程式呼叫  參數的傳遞方法– 使用暫存器  多層次的副程式呼叫  參數的傳遞方法– 使用堆疊 單層次的副程式呼叫  參數的傳遞方法– 使用暫存器 指令CALL [0x30] 的執行過程 (1) PC=PC + 4; 在指令擷取之後PC 從28 變為2C 。 (2) LR = PC; 將 PC 存入到連結暫存器LR 中。 (3) PC=PC + 30 記憶體 0028 2B 00 00 30 =CALL [0x30] ALU (1) 暫存器 002C (加法運算) 00 00 00 5C (3) PC = 00 00 00 2C 005C IR = 2B 00 00 30 (CALL [0x30]) (2) LR = 00 00 00 2C 圖3.1 指令CALL [0x30] 的執行過程 指令 RET 的執行過程 記憶體 ALU 0028 2B 00 00 30 CALL [0x30] (加法器…) 暫存器 PC=002C … … PC =00 00 00 70 PC=0070 2C 00 00 00 RET IR = 2C 00 00 00 (RET) 將LR 放回 PC LR = 00 00 00 2C 圖3.2 指令RET 的執行過程 多層次的副程式呼叫  參數的傳遞方法– 使用堆疊  避免上下層函數用到同一個暫存器,所產生的覆蓋現象。  將 LR 儲存到堆疊中,以免在下一層 CALL 返回位址被覆蓋掉。 範例3.12 的片段 f1: i

文档评论(0)

170****0571 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档