歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

匯編語言程序設計[張緒輝][電子教案].ppt

  • 資源ID:13278361       資源大?。?span id="sce4kqq" class="font-tahoma">339.81KB        全文頁數(shù):31頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

匯編語言程序設計[張緒輝][電子教案].ppt

尋址方式,本章提要尋址的目的。立即數(shù)型尋址。寄存器型尋址。5種內存型尋址:直接尋址方式、寄存器間址尋址方式,寄存器相對尋址方式、基址變址尋址方式、基址變址相對尋址方式。內存尋址方式中缺省段寄存器的缺省規(guī)則。外設型尋址。,3.1.1立即數(shù)型尋址方式立即尋址:是直接把參與操作的數(shù)據(jù)寫在指令中,以8位或16位二進制補碼表示的有符號數(shù)緊跟在操作指令的代碼后面。例:MOVAL,30該指令中的30就是立即數(shù)。該指令將十進制形式的立即數(shù)30立即數(shù)送AL寄存器。該指令的二進制的機器指令是:1011000000011110。在該機器指令的最后8位就是十進制30的二進制數(shù)。,立即尋址還有一些比較復雜的情況。如果操作數(shù)是由數(shù)值和運算符構成的表達式,匯編程序在翻譯時會計算出表達式的值,并把計算結果以立即數(shù)形式翻譯到機器指令中。例如:MOVAL,100-30該指令中的源操作數(shù)是一個可直接計算的表達式,匯編程序在翻譯這條匯編指令時會計算出表達式的值是70,然后以70作為立即尋址方式的源操作數(shù)。,3.2寄存器型尋址方式寄存器尋址方式:存取數(shù)據(jù)到寄存器,則必須要知道該數(shù)據(jù)存放在哪個寄存器。確定寄存器的方式稱為寄存器尋址方式。例:MOVAL,30該指令就是將30存到寄存器AL中。該指令的二進制的機器指令是:1011000000011110。該指令的機器指令格式是1011wrrr,對比看rrr000,即8位通用寄存器AL的機器碼。,這種尋址方式比較簡單,就是在指令的操作數(shù)部分寫寄存器的名稱。可用的名稱有:8位的通用寄存器AH、AL、BH、BL、CH、CL、DH、DL;16位的通用寄存器AX、BX、CX、DX、SI、DI、BP、SP;16位的段寄存器CS、DS、SS、ES;,【注意】指令指針I(yè)P、標志寄存器PSW以及所有標志位的代號CF、ZF、OF等都不能作為寄存器尋址方式的操作數(shù),不允許出現(xiàn)在匯編語言的任何指令中。另外,匯編語言還規(guī)定,不允許用MOV等具有賦值功能的指令修改CS的值,也就是說,類似于“MOVCS,30”試圖對CS賦值的指令在匯編語言中是不允許的。,3.3內存型尋址方式內存是存放數(shù)據(jù)的主要部件,內存以字節(jié)為最小的存取單位,內存的標識是內存地址,所以存取內存的數(shù)據(jù)首先就是要確定數(shù)據(jù)存放在內存的哪個內存字節(jié)中,即確定內存地址,確定內存地址的方式稱為內存尋址方式。存型尋址又細分為5種具體情況,分別稱為直接尋址、寄存器間接尋址、寄存器相對尋址、基址變址和相對基址變址。段寄存器的確定有兩種情況,即缺省段寄存器和非缺省段寄存器。,3.3.1直接尋址方式操作數(shù)的偏移地址在指令中直接寫明,在程序執(zhí)行時,在取得指令時就可得到操作數(shù)在內存邏輯地址的偏移地址,直接用這個偏移地址與段寄存器的內容進行地址加法,即可獲得操作數(shù)在內存的物理地址,此時才能獲得操作數(shù)。我們把以這種得到偏移地址的方式稱為直接尋址方式。在匯編語言中,這個偏移地址通常以變量的形式出現(xiàn),在指令中就是直接寫變量的名字。,設buf是已經(jīng)定義的字節(jié)型變量,指令“MOVAL,buf”中源操作數(shù)尋址方式就是直接尋址。用方括號把變量名字括起來是直接尋址的基本寫法。上述指令中的“buf”表示以變量buf對應的偏移地址和缺省段寄存器中的值作為完整的邏輯地址,操作數(shù)在邏輯地址所確定的內存單元中。假定上述指令中變量buf的缺省段寄存器是DS,執(zhí)行上述指令時DS的值是1234H,buf的偏移地址是123H,該指令的二進制機器指令是10001010000001100010001100000001(十六進制8A062301H,匯編源程序中直接尋址一般形式是“變量數(shù)值”的寫法,匯編程序在翻譯匯編源程序先找出變量名所對應的偏移地址,再與另一個數(shù)值相加減,計算結果作為操作數(shù)的偏移地址,以直接尋址方式翻譯到機器指令中。這個結果在匯編程序翻譯源程序時就能直接得到。,3.3.2寄存器間接尋址方式操作數(shù)的偏移地址存放在寄存器,在指令中寫明從存放偏移地址的寄存器即可。因此在匯編程序翻譯匯編源程序就不能直接得到偏移地址了,而必須在程序執(zhí)行時從該寄存器中取得偏移地址。此時寄存器中存放的數(shù)據(jù)不是操作數(shù),而是操作數(shù)在內存中邏輯地址的偏移地址,因此從該寄存器中取得的數(shù)據(jù)是偏移地址,再和段寄存器內容進行地址加法運算才能得到操作數(shù)在內存的物理地址,此時才能獲得操作數(shù)。我們把以這種得到偏移地址的方式稱為寄存器間址尋址方式。,操作數(shù)的寄存器間址尋址方式的寫法是以該寄存器的名字加上方括號(以區(qū)別寄存器型尋址方式)。這表示寄存器的內容作為偏移地址,而不是參與操作的數(shù)據(jù)本身,操作數(shù)需要到內存中去找。注意與寄存器尋址方式相區(qū)分。MOVAL,BXMOVAL,SIMOVAL,BP,假定指令MOVAL,BX中寄存器BX中存放的數(shù)據(jù)是123H,BX對應的缺省段寄存器是DS,執(zhí)行該指令時DS的值是1234H,,由于在程序的執(zhí)行過程中,寄存器的內容是可變的,所以程序中欲使用的內存操作數(shù)在編寫程序時不能確定,而必須根據(jù)程序的執(zhí)行情況取得該操作數(shù)。較直接尋址方式而言,這種寄存器間址的尋址方式解決了程序執(zhí)行過程中動態(tài)讀寫內存數(shù)據(jù)。,3.3.3寄存器相對尋址方式寄存器間址尋址方式中從間址寄存器中獲得的數(shù)據(jù)是偏移地址,是相對段地址的偏移地址。如果偏移地址不是從間址寄存器中獲得的數(shù)據(jù),而是將該數(shù)據(jù)與一個16位的數(shù)據(jù)進行ALU的加法運算得到加的結果,把這個相加的結果作為偏移地址,再和段寄存器內容進行地址加法運算才能得到操作數(shù)在內存的物理地址,此時就能獲得操作數(shù)。我們把以這種得到偏移地址的方式稱為寄存器相對尋址方式。,操作數(shù)的寄存器相對尋址方式的寫法是以該方括號內填寫寄存器的名字加一個字型數(shù)據(jù),該字型數(shù)據(jù)可以是變量名,也可以是一個數(shù)值,也可以是一個數(shù)值表達式。其中的方括號不能省略,方括號中不允許出現(xiàn)一個變量減一個寄存器的寫法。(1)MOVAL,buf+SI(2)MOVAL,bufDI(3)MOVAL,buf+BP(4)MOVAL,bufBX(5)MOVAL,BX+15(6)MOVAL,BX+buf,假定指令MOVAL,BX+15中寄存器BX中存放的數(shù)據(jù)是123H,BX對應的缺省段寄存器是DS,執(zhí)行該指令時DS的值是1234H。,【例3.1】設變量bufl和buf2定義在同一個段中,偏移地址分別是102H和3ACH,寄存器BX的值是3000H。試計算下列各指令中源操作數(shù)的偏移地址值。MOVAL,bufl+BXMOVAL,BX+13MOVAL,BX+bufl-buf2MOVAL,buf2+BX4000H,3.3.4基址變址尋址方式這種尋址方式是用一個基址寄存器與一個變址寄存器的值相加,計算結果作為操作數(shù)的偏移地址。如果加法運算的最高位向前有進位則被忽略。書寫形式是用加號把兩個寄存器連接起來,并加上方括號,稱為基址變址尋址方式。,匯編語言的語法規(guī)定,必須用一個基址寄存器與一個變址寄存器相加?;芳拇嫫髦挥蠦X和BP,變址寄存器只有SI和DI組合起來只可能出現(xiàn)4種情況。MOVAL,BX+SIMOVAL,BX+DIMOVAL,BP+SIMOVAL,BP+DI匯編語言的語法還允許把基址變址方式中的兩個寄存器分別寫在兩個方括號中一起不用加號“+”。,假定指令MOVAL,BX+SI中寄存器BX中存放的數(shù)據(jù)是123H,寄存器SI中存放的數(shù)據(jù)是23H,對應的缺省段寄存器是DS,執(zhí)行該指令時DS的值是1234H,3.3.5基址變址相對尋址方式這種尋址方式是把一個基址寄存器和一個變址寄存器的值以及一個字型數(shù)據(jù)三者相加,結果作為操作數(shù)的偏移地址。字型數(shù)據(jù)可以是一個變量,也可以是一個數(shù)值。在基址變址相對尋址方式中的基址寄存器和變址寄存器的組合方式完全同基址變址尋址方式的規(guī)定,再加一個字型數(shù)值或字型數(shù)值表達式,共有8種組合形式。,MOVAL,buf+BX+SIMOVAL,buf+BX+DIMOVAL,buf+BP+SIMOVAL,buf+BP+DIMOVAL,BX+SI+bufMOVAL,BX+DI+bufMOVAL,BP+SI+bufMOVAL,BP+DI+buf與基址變址類似,相對基址變址在書寫時也可以用兩個方括號把基址寄存器和變址寄存器括起來,并且不寫加號“+”。,假定指令MOVAL,BX+SI+15中寄存器BX中存放的數(shù)據(jù)是123H,寄存器SI中存放的數(shù)據(jù)是23H,對應的缺省段寄存器是DS,執(zhí)行該指令時DS的值是1234H,,3.3.6段寄存器缺省段寄存器(1)如果尋址方式的組合中是開始的第一項是變量,例如BUF、BUF+BX、BUF+BX+SI等,則缺省段寄存器是DS。(2)如果尋址方式的組合中是開始的第一項是寄存器,例如BX、BP、SI、BP、DI、BX+SI、BP+SI、BX+SI+BUF、BP+SI+BUF等,則缺省段寄存器的確定看第一個寄存器。具體規(guī)定有如下兩種情況:BP寄存器對應的缺省段寄存器是SS。BX、SI、DI寄存器對應的缺省段寄存器是DS。,(3)如果尋址方式的組合中是開始的第一項是具體數(shù)值,例如15、15+BX、15+BX+SI、15+BP+SI等。如果該組合中只有一項數(shù)值,沒有其它項,則缺省段寄存器就是DS;如果有其它項,就看第二項,如果第二項是變量,此時按第1條原則確定缺省段寄存器,即DS;如果第二項是寄存器,此時按第2條原則確定缺省段寄存器,即是寄存器BP,則缺省段寄存器是SS,是BX、SI、DI則缺省段寄存器是DS,非缺省段寄存器非缺省段寄存器的使用也稱“段跨越”。非缺省段寄存器就是在邏輯地址中明確段寄存器,此時段地址就是指定的段寄存器。例如邏輯地址DS:BP到物理地址的轉換就是數(shù)據(jù)段寄存器DS的數(shù)據(jù)與?;刂芳拇嫫鰾P的數(shù)據(jù)經(jīng)地址加法器運算,而不是采用地址段寄存器SS。,段寄存器內容的填寫段地址填寫到段寄存器具體填寫方法如下:(1)代碼段寄存器CS的內容在程序啟動運行之前由系統(tǒng)將代碼段的段地址填寫。(2)堆棧段寄存器SS的內容在程序啟動運行之前由系統(tǒng)將堆棧段的段地址填寫。(3)數(shù)據(jù)段寄存器DS和附加數(shù)據(jù)段寄存器ES的內容由用戶程序填寫。,3.4外部設備型尋址方式計算機需要從外設獲得數(shù)據(jù),也需要將數(shù)據(jù)通過外設輸出數(shù)據(jù),從哪個外設獲得數(shù)據(jù),從哪個外設輸出數(shù)據(jù)呢?同樣的道理,必須找到這個外設,確定外設的方式就是外設型尋址方式。,8086/8088系統(tǒng)中把內存的每個字節(jié)進行編號,形成內存的物理地址,類似地也把控制各種外部設備的接口中的各部件編排號碼,每個號碼對應的一個外設部件稱為一個外設端口,這個號碼就是外設地址,又稱外設端口號。外設是多種多樣的,各自的接口也不同,但接口中的各個部件卻有一個共同特點,就是能夠以1字節(jié)為基本單位存放來自系統(tǒng)總線的數(shù)據(jù),或者向系統(tǒng)總線提供數(shù)據(jù)。,有些計算機在設計上把內存與外設端口綜合在一起,統(tǒng)一地編排一套地址,以地址本身來區(qū)分操作對象是內存還是外設,這種地址編排方式稱為統(tǒng)一編址或混合編址。8086/8088采取的是另一種地址編排方式,把外設端口與內存分開來,各編各的地址,這種編址方法稱為獨立編址。8088系統(tǒng)以專用I/O指令來區(qū)分操作對象的種類。用于外設操作的指令就只有兩條:IN和OUT。,

注意事項

本文(匯編語言程序設計[張緒輝][電子教案].ppt)為本站會員(tian****1990)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!