《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.11 數(shù)據(jù)傳送指令之輸入輸出指令_第1頁
《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.11 數(shù)據(jù)傳送指令之輸入輸出指令_第2頁
《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.11 數(shù)據(jù)傳送指令之輸入輸出指令_第3頁
《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.11 數(shù)據(jù)傳送指令之輸入輸出指令_第4頁
《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.11 數(shù)據(jù)傳送指令之輸入輸出指令_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

微機(jī)原理及應(yīng)用第五章8086指令系統(tǒng)第十一講數(shù)據(jù)傳送指令之輸入輸出指令下面我們來學(xué)習(xí)輸入輸出指令數(shù)據(jù)傳送指令之輸入輸出指令輸入輸出指令是CPU跟io端口進(jìn)行數(shù)據(jù)傳送在計(jì)算機(jī)中,可能有很多個(gè)IO接口在每個(gè)IO接口中,又會(huì)有多個(gè)IO端口,它們用于存儲(chǔ)數(shù)據(jù)的寄存器可以直接被CPU訪問CPU就是通過輸入輸出指令與IO端口之間傳送信息CPU輸入輸出指令I(lǐng)O端口數(shù)據(jù)傳送輸入輸出指令是CPU跟io端口進(jìn)行數(shù)據(jù)傳送,在計(jì)算機(jī)中,可能有很多個(gè)IO接口,在每個(gè)IO接口中,又會(huì)有多個(gè)IO端口,輸入輸出指令I(lǐng)O接口IO端口它們用于存儲(chǔ)數(shù)據(jù)的寄存器可以直接被CPU訪問,CPU就是通過輸入輸出指令與IO端口之間傳送信息輸入輸出指令I(lǐng)O接口IO端口寄存器可以直接被CPU訪問CPU通過輸入輸出指令與IO端口傳送信息將輸出數(shù)據(jù)存到AL或AX中輸入輸出指令有一些使用規(guī)則,首先,只能用累加器AL或者AX來傳輸信息,也就是說將你想要輸出給端口的數(shù)據(jù)事先存到AL或AX中,才能輸出出去,而從端口中讀入的數(shù)據(jù)也只能讀入到Al或ax中,其他寄存器不能進(jìn)行跟端口進(jìn)行數(shù)據(jù)傳送使用規(guī)則只能用累加器AL或AX來傳輸信息將讀入數(shù)據(jù)讀到AL或AX中另外,輸入輸出指令支持兩種尋址方式,一種是直接尋址,將立即數(shù)寫入到指令中,作為端口的地址,這種尋址方式支持的端口號(hào)是00~ffh,如果端口號(hào)超過了這個(gè)范圍,輸入輸出指令端口號(hào):00H~FFH直接尋址方式(立即數(shù))還可以用寄存器間接尋址方式,寄存器間接尋址就是用dx這個(gè)寄存器存放端口號(hào),它支持的端口號(hào)是0000h~ffffh,輸入輸出指令端口號(hào):00H~FFH直接尋址方式(立即數(shù))端口號(hào):0000H~FFFFH寄存器間接尋址方式(DX)使用寄存器間接尋址的輸入輸出指令,事先要把端口號(hào)傳輸?shù)絛x中,在使用dx來進(jìn)行尋址用寄存器間接尋址事先把端口號(hào)傳輸?shù)絛x中使用dx進(jìn)行尋址輸入輸出指令下面我們來看一下輸入指令,輸入指令的操作碼是in,它的功能是將端口的內(nèi)容讀入到AL或ax中輸入指令將端口內(nèi)容讀入到AL或AX中操作碼:IN它有兩個(gè)操作數(shù),一個(gè)是目的操作數(shù),就是al或ax,另外一個(gè)原操作數(shù)就是端口號(hào),可以支持直接尋址的方式,也可以支持寄存器尋址的方式將端口內(nèi)容讀入到AL或AX中操作碼:INAL或AX目的操作數(shù)端口號(hào)原操作數(shù)輸入指令直接尋址寄存器尋址我們來舉兩個(gè)例子,首先看直接尋址方式,比如INAL,80h,這里80h是端口號(hào),這條指令的含義是將80h端口里的內(nèi)容讀入到al中直接尋址方式INAL,80h端口號(hào)將80H端口內(nèi)容讀入到AL中再來看寄存器尋址的方式,如果端口號(hào)是3b0h,它大于FFH,因此不能用直接尋址方式,那么可以先將3b0h傳送到DX中,然后再用DX作為源操作數(shù),進(jìn)行寄存器尋址,所以,共有兩條指令寄存器尋址方式MOVDX,3B0H大于FFH將3B0H傳送到DX中,再用DX作為源操作數(shù)進(jìn)行寄存器尋址第一條,MovDX,3b0h是將3b0h這個(gè)端口號(hào)傳送到dx中寄存器尋址方式MOVDX,3B0H傳送到DX中第二條,INAL,DX是從DX指向的端口中讀入數(shù)據(jù)到al寄存器尋址方式MOVDX,3B0HINAL,DX從DX指向的端口中讀入數(shù)據(jù)到AL再來看一下輸出指令,輸出指令的操作碼是out,它的功能是將累加器中的內(nèi)容輸出到端口號(hào)的寄存器中輸出指令將累加器中的內(nèi)容輸出到端口號(hào)的寄存器中操作碼:OUT輸出指令同樣有兩個(gè)操作數(shù),它的目的操作數(shù)是端口號(hào)或者是dx,它的原操作數(shù)是ax或al輸出指令將累加器中的內(nèi)容輸出到端口號(hào)的寄存器中操作碼:OUT端口號(hào)或DX目的操作數(shù)AX或AL原操作數(shù)舉例說明,如果用直接尋址方式的話,端口號(hào)必須是00h~ffh的,比如指令:out68h,ax,這條指令的含義是將ax的內(nèi)容傳送到68h這個(gè)端口號(hào)里,這里請(qǐng)大家注意,68h是個(gè)立即數(shù),按照我們之前的要求,立即數(shù)是不是不能作為目的操作數(shù)使用呀?其實(shí),這里68h表示的是端口號(hào),而不是68h這個(gè)數(shù)字,所以它的含義是不一樣的,在這里可以使用直接尋址方式端口號(hào):00H~FFHOUT68H,AX將AX的內(nèi)容傳送到68H端口號(hào)里立即數(shù)端口號(hào)再來看下面這條指令端口號(hào)0fffh大于ffh,因此不能用直接尋址的方式寫輸出指令OUTPORT,累加器

;PORT:0~255OUTDX,累加器;DX表示的端口范圍達(dá)216OUT68H,AX;104號(hào)端口←[AX]

MOVDX,0FFFH;端口號(hào)存入DXOUTDX,AL;[[DX]]←[AL]MOVDX,0FFFH大于FFH只能先將0fffh傳送到dx中再用out指令將al的內(nèi)容傳送到dx指向端口號(hào)的寄存器中OUTPORT,累加器

;PORT:0~255OUTDX,累加器;DX表示的端口范圍達(dá)216OUT68H,AX;104號(hào)端口←[AX]

MOV

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論