- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实习项目组合语言之定址法
實習項目:組合語言之定址法
相關知識:
何謂定址模式?
定址模式的英文原名是(AddressingMode)又可稱為定址法,也是所謂「電腦CPU找尋資料所在的方法」。不論學電腦的硬體或軟體,有兩句話可以好好體會那就是「資料在哪裡?」、「資料要去哪裡?」就如你每天從家裡出發到學校,這家裡就是類似資料在哪裡,而學校就類似資料要去哪裡。可是學校那麼大要到哪一棟的哪一樓的哪一間教室,是不是要想清楚、要看清楚?尤其我們電腦的資料是在電腦的裡裡外外遊走傳遞,如此「資料從哪裡來?要去哪裡?」這件事情就非常重要了。
根據電腦的結構,資料可能來自三個地方:
1.立即值(隨指令碼一起進入CPU) 2.某一個暫存器 3.存在於記憶體內
(一) 定址法的種類
80X86指令的定址法共分三類七大定址法,所謂的三類即立即定址法、暫存器定址法、與記憶體定址法,其中記憶體定址法又分為五種,所以總共是七大定址法。
一、立即定址法(Immediate Addressing Mode)
二、暫存器定址法(Register Addressing Mode)
三、記憶體直接定址法(Direct memory Addressing Mode)或直接定址法(Direct Addressing Mode)
四、記憶體間接定址法(Indirect memory Addressing Mode)或間接定址法(Indirect Addressing Mode)
五、基底定址法(Based Addressing Mode).
六、索引定址法(Indexed Addressing Mode)
七、基底索引定址法(Based Indexed Addressing Mode)
以下我們對各種定址法分別加以說明:
暫存器定址法(Register Addressing Mode):運算元是暫存器,就是暫存器定址法。
例如: MOV DS,AX
此指令以暫存器定址法取得,AX暫存器的資料,之後以暫存器定址法寫入到DS暫存器中。
* 例如: MOV MEM1,AX
第一個運算元MEM1 不是暫存器定址法,第二個運算元AX是使用暫存器定址法。
例如: MOV AX,BX
說明:上述指令執行完後,AX、BX內容相同。在80X86的暫存器群中,區段暫存器的使用有其限制,即區段暫存器不能互相傳送資料,例如:將CS暫存器的內容存入DS暫存器中,則必須寫成如下格式。MOV AX,CS
MOV DS,AX。
* 例 : INC AX
說明:運算元為AX暫存器。執行後,AX暫存器的內容加1。
例 : PUSH BX
說明:運算元為BX暫存器。執行後,BX暫存器的內容存入堆疊中 。
立即定址法(Immediate Addressing Mode):運算元是一個數字(立即值),就是所謂的立即定址法。* 如右例:
記憶體直接定址法(Direct memory Addressing Mode):是記憶體定址法的一種,直接定址法就是運算元直接指出資料所在記憶體的位址的方法,如右圖:
執行之後AX=5678;PI是所謂的資料標名,組譯時會算出其PI的實際位址。
* 例 : MOV AL,VALUE
說明:上述指令之運算元VALUE為一資料變數,VALUE必須在資料區段中定義。假設我們在資料區段中定義VALUE DB 100H,且記憶體100H中的資料如右圖所示,則上述指令執行完後,AL=01H。
* 例 : MOV AL,[102H]
說明:如果記憶體內容如例所示,則執行後,AL= 。
* 例 : MOV BX,400H
MOV [BX]2,56H
說明:執行後,資料56H將存入記憶體位址DS: 中。
* 例 : MOV BX,400H
MOV AL,[BX]2
說明:執行後,AL= 。
間接定址法 (Indirect Addressing Mode)
將暫存器的值當做是記憶體的位址,而暫存器可以看成是個資料的指標,到此位址去取得運算元的方法,而暫存器能是BX、BP、SI或DI,暫存器名必須用中括號[ ]括起來。如右圖所示以上是把BX內含視為一位址,再依此位址所指之內容搬至AX暫存器內。
基底定址法 (Based Addressing Mode)
BX及BP暫存器有一項特殊用途即是做為基底暫存器使,那基底定址法就是以基底暫存器所指的位址為基底,再加上一個固定的距離來得到資料所在的位址,例如:
MOV AX,[BX]+3 或 MOV AX,[BX+3] 或 MOV AX,[BX]3
以上三行是寫法不同,但是結果相同,即把BX+3這個位址的內容送給AL暫存器,舉一個例子:(資料如右圖)
執行前:已知 AX=1234H,
您可能关注的文档
最近下载
- 国家开放大学学前教育科研方法大作业答案.docx
- 配电工程 投标方案(技术方案).docx
- 2023年11月金华十校2024届级高三一模历史试卷(含答案).docx
- 2024《教育科学研究项目课题设计论证》:大班幼儿入学准备主题课程构建的实践研究7400字.doc
- 机电应用技术专业典型案例——校企融合、实景教学办学模式的创新.docx VIP
- 丙型肝炎病毒实验室检测技术规范(2023年修订版).pdf
- 中国客票销售发展模式论文.pdf
- 广东省茂名市电白区2023-2024学年七年级上学期期中数学试卷.pdf VIP
- 国家开放大学《管理英语4》边学边练Unit 5-8(答案全).docx VIP
- 《烹饪美学》 第四章 菜点造型艺术.pptx
文档评论(0)