计算机结构之精华要素.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文档。上传文档
查看更多

*程序呼叫指令*引數傳輸在組合語言中,引數如何傳輸給程序呢?組合語言通常依靠硬體,來傳輸引數。比如,下列三種常見的硬體策略:使用堆疊(記憶體內部),來傳輸引數。使用暫存器視窗,來傳輸引數。使用專用的引數暫存器,來傳輸引數。*對程式設計師的影響由於組合語言在傳輸參數時,並沒有一種共同的標準,因此不同處理器可能使用各自發展的引數傳輸硬體,必要時,程式設計師甚至於可以使用不同於原先硬體機制的參數傳輸策略,來最佳化效能(比如:暫存器傳輸參數)。*參數程序呼叫呼叫程序使用r1到r8,來傳輸引數。*函數呼叫指令函數和程序有些相似函數會有傳回值程序不會有傳回值傳回值有多種建構的觀念,比如:運用堆疊建立專用暫存器使用通用暫存器當函數執行ret指令,函數會把傳回值放到以上所指定的位置,等到結束函數後,呼叫程式才能取回該傳回值。*組合語言和高階語言的互動高階程式可以直接呼叫組合語言所撰寫的程序或函數;組合語言程式也可以呼叫高階語言所撰寫的程序或函數。為什麼要混合組合語言碼和高階程式碼呢?可能的原因:底層電路硬體無法使用高階語言進行規劃改善效能瓶頸常見的情況就是:使用組合語言撰寫程序或函數,其它大部分程式則保留高階語言撰寫,最後由高階程式直接呼叫該組合語言所撰寫的程序或函數。*實作取捨因為使用組合語言來撰寫應用程式,實在非常沒有開發效率,過程也相當複雜,因此大部分的情況下,組合語言只是輔助高階語言,局部強化某些不足的功能或進行效能的改善。*變數儲存指令大部分的組合語言能讓程式設計師自行定義資料項目。比如:宣告啟始變數或非啟始變數:.word.byte或.char.long*等效宣告範例*程式規劃語言高階語言低階語言*高階語言特點多對一翻譯硬體獨立性應用導向通用階層概念*低階語言特點一對一翻譯硬體相依性系統導向專用無階層概念*階層概念低階語言沒有明顯的階層概念。低階語言想要建立階層概念,必須逐步地建構自己的階層機制。電腦科學家AlanPerlis曾經說過:因為大多數的應用程式無法直接控制底層硬體,所以某些程式規劃若涉及硬體細節時,就表示:使用的程式語言必須是低階語言,但低階語言會增加整體程式規劃的複雜度。*專用術語組合語言低階語言專用於特定的處理器組譯器將組合語言翻譯成電腦硬體所認識的二進位碼可與編譯器作一下比較*重要觀念組合語言是低階語言,可以指出各種不同處理器的特點,比如:指令集、運算元定址、暫存器、…等,因此存在多少種處理器,就會存在多少種組合語言。*組合語言想要把組合語言的程式,從某個處理器移植到另一個處理器時,必須改寫成另一種組合語言。還好!大部分的組合語言都遵循著電腦結構的基本圖像,因此可以在最短的時間內,快速地學會其它的組合語言。*敘述格式組譯器要求一行只能輸入一個指令,指令格式如下:標記:運算子 運算元1,運算元2,…標記(選項)用來標示敘述的位置運算子指出該指令想要執行的運算運算元則指出參與運算的數值**組合語言之指令行基本組合語言指令行為四欄式標籤(選用,視情況需要使用)運算子:指令助憶符號(必要)運算元(通常需要)註解(選用,最好養成說明程式習慣)*標籤欄:運算子欄運算元欄;註解欄**運算子指定CPU之動作,以指令助憶符號(instructionMnemonic)表示。依指令用途運算元有0~3個。CPU指令集格式:學習指令功能與用法。運算元欄;註解欄標籤欄:運算子欄**指令助憶符號指令助憶符號(instructionMnemonic):CPU指令集,用簡短之英文字幫助記憶。以MASM為例,如: mov(move搬移、複製)、sub(substration減)、mul(multply乘)、jmp(jump跳至位址)、call(call呼叫程序)加法指令,英文全名為addition,組合語言簡寫為add。分支指令,英文全名為branch,組合語言簡寫為b或br。副程式呼叫指令,英文全名為jumptoasubroutine,組合語言簡寫為jsr。**CPU指令集指令說明格式與要點指令說明格式與要點指令名稱:簡單說明影響旗標(狀態暫存器)功能與用途指令格式學組合語言要件?瞭解指令集指令集:MASM指令集、指引指令*註解方式為了增加這些指令的可讀性,設計師會適當地加入註解,來加以說明。註解符號比如:井字號(#)分號(;)

文档评论(0)

173****2055 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档