《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.1 指令系統(tǒng)概述_第1頁(yè)
《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.1 指令系統(tǒng)概述_第2頁(yè)
《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.1 指令系統(tǒng)概述_第3頁(yè)
《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.1 指令系統(tǒng)概述_第4頁(yè)
《計(jì)算機(jī)接口技術(shù)及應(yīng)用》課件-5.1 指令系統(tǒng)概述_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微機(jī)原理及應(yīng)用第五章8086指令系統(tǒng)第一講指令系統(tǒng)概述指令系統(tǒng)概述首先,我們來(lái)看幾個(gè)概念,第一個(gè)是指令,指令是控制計(jì)算機(jī)完成指定操作并能夠被計(jì)算機(jī)所識(shí)別的命令,也就是說(shuō)我們?nèi)祟愊逻_(dá)給計(jì)算機(jī)讓他去執(zhí)行某項(xiàng)操作的一些命令指令控制計(jì)算機(jī)完成指定操作能被計(jì)算機(jī)所識(shí)別機(jī)器指令,機(jī)器指令是指令的二進(jìn)制代碼的形式。我們說(shuō)計(jì)算機(jī)能夠識(shí)別的只有二進(jìn)制數(shù),所以計(jì)算機(jī)能夠識(shí)別并且能夠看懂的指令就是二進(jìn)制的代碼表示的,比如CD21h,它的二進(jìn)制代碼的形式是這樣子的,指令寫(xiě)成這樣計(jì)算機(jī)才能夠識(shí)別,但是,寫(xiě)成這樣的指令對(duì)于人類來(lái)說(shuō)既不好識(shí)別,也不好理解機(jī)器指令指令的二進(jìn)制代碼形式例:CD21H(1100110100100001)計(jì)算機(jī)能識(shí)別,人類不好識(shí)別理解于是就有匯編指令,匯編指令是我們把二進(jìn)制的代碼用助記符的形式表示出來(lái)的指令,助記符就是幫助人來(lái)記憶的符號(hào),所以說(shuō)匯編指令純粹是為了便于人寫(xiě)代碼和看懂代碼而設(shè)計(jì)的編程語(yǔ)言,比如int21h,它就是把二進(jìn)制代碼用助記符的形式來(lái)表示了,這樣人比較容易能夠看懂,但是,這樣的話,人看懂了,計(jì)算機(jī)又看不懂了呀,沒(méi)關(guān)系,程序員開(kāi)發(fā)了編譯軟件,能夠?qū)R編語(yǔ)言編程成二進(jìn)制代碼的形式,再給計(jì)算機(jī)去執(zhí)行。匯編指令用助記符形式表現(xiàn)的指令便于人寫(xiě)代碼和看懂代碼例:INT21H編譯軟件:將匯編語(yǔ)言編程成二進(jìn)制代碼形式同學(xué)們都學(xué)過(guò)C語(yǔ)言,匯編語(yǔ)言和C語(yǔ)言的不同,C語(yǔ)言匯編語(yǔ)言C語(yǔ)言屬于高級(jí)語(yǔ)言,而匯編語(yǔ)言屬于低級(jí)語(yǔ)言,這里的高級(jí)和低級(jí)的含義是相對(duì)硬件來(lái)說(shuō)。高級(jí)語(yǔ)言C語(yǔ)言低級(jí)語(yǔ)言匯編語(yǔ)言硬件由于匯編語(yǔ)言更貼近硬件的處理,所以它屬于低級(jí)語(yǔ)言,而C語(yǔ)言更貼近人的想法和需求所以它屬于高級(jí)語(yǔ)言。學(xué)習(xí)了匯編語(yǔ)言更便于你去理解計(jì)算機(jī)的硬件在做的處理。高級(jí)語(yǔ)言C語(yǔ)言低級(jí)語(yǔ)言匯編語(yǔ)言更貼近硬件的處理更貼近人的想法和需求最后是指令系統(tǒng),指令系統(tǒng)是CPU所有指令和它的使用規(guī)則構(gòu)成的系統(tǒng),指令系統(tǒng)CPU所有指令及其使用規(guī)則的集合我們將要學(xué)習(xí)的就是8086指令系統(tǒng),包括一系列的指令和這些指令的使用規(guī)則。下面來(lái)看一下指令的基本構(gòu)成,我們這里說(shuō)的指令是匯編語(yǔ)言寫(xiě)成的指令8086指令系統(tǒng)(一系列指令及其使用規(guī)則)指令的基本構(gòu)成(匯編語(yǔ)言寫(xiě)成的指令)指令一條指令包括操作碼和操作數(shù),這里我們把操作數(shù)放到方括號(hào)里的含義是說(shuō)這個(gè)操作數(shù)它可能有也可能沒(méi)有,換句話說(shuō),在一條指令中,可能有一個(gè)操作數(shù),也可能有兩個(gè)操作數(shù),也可能沒(méi)有操作數(shù),這要看具體的指令使用規(guī)則操作碼操作數(shù)指令一條指令包括操作碼和操作數(shù),這里我們把操作數(shù)放到方括號(hào)里的含義是說(shuō)這個(gè)操作數(shù)它可能有也可能沒(méi)有,換句話說(shuō),在一條指令中,可能有一個(gè)操作數(shù),也可能有兩個(gè)操作數(shù),也可能沒(méi)有操作數(shù),這要看具體的指令使用規(guī)則該操作數(shù)可有可無(wú)可以有0個(gè)、1個(gè)或2個(gè)操作碼操作數(shù)[]指令操作碼體現(xiàn)的是我們想要需要計(jì)算機(jī)執(zhí)行什么樣的操作,說(shuō)明要執(zhí)行什么操作操作碼操作數(shù)[]指令比如,你想讓他傳送數(shù)據(jù),還是讓他進(jìn)行算數(shù)運(yùn)算,這些都在操作碼中體現(xiàn),操作碼(例:傳送數(shù)據(jù)、算數(shù)運(yùn)算)說(shuō)明要執(zhí)行什么操作操作數(shù)[]指令一般操作碼用三個(gè)大寫(xiě)字母表示,通常是對(duì)應(yīng)的英文單詞的簡(jiǎn)寫(xiě)操作碼用三個(gè)大寫(xiě)字母表示(對(duì)應(yīng)英文單詞的簡(jiǎn)寫(xiě))操作數(shù)[]指令比如數(shù)據(jù)傳送指令用MOVE的前三個(gè)大寫(xiě)字母MOV來(lái)表示,加法運(yùn)算用Addition的前三個(gè)大寫(xiě)字母ADD來(lái)表示,這才便于人去記憶和使用操作碼數(shù)據(jù)傳送指令MOVE:MOV操作數(shù)[]加法運(yùn)算Addition:ADD便于記憶便于使用指令我們說(shuō)操作數(shù)最多有兩個(gè),那我們來(lái)看兩個(gè)操作數(shù)的情況,兩個(gè)操作數(shù)中間要用逗號(hào)分隔,它們表示本操作要執(zhí)行的那個(gè)對(duì)象。比如說(shuō)我們要進(jìn)行加法運(yùn)算,那要給兩個(gè)數(shù)才能相加呀,操作碼操作數(shù)[]操作數(shù)[],本操作的執(zhí)行對(duì)象加法運(yùn)算指令所以你看ADD的后面就有兩個(gè)操作數(shù),這兩個(gè)操作數(shù)就是加數(shù)和被加數(shù)操作碼操作數(shù)[]操作數(shù)[],ADDAX,[SI+6]加數(shù)和被加數(shù)但是,操作數(shù)放的位置不一樣,它們的含義也不同指令操作碼操作數(shù)[]操作數(shù)[],位置不同,含義不同離操作碼比較近的這個(gè)操作數(shù)是目的操作數(shù),指令操作碼操作數(shù)[]操作數(shù)[],目的操作數(shù)指令操作來(lái)源或是操作后的存儲(chǔ)目的地它既可能是操作的來(lái)源,也可能是操作完成后要存儲(chǔ)的目的地操作碼操作數(shù)[]操作數(shù)[],目的操作數(shù)指令逗號(hào)后邊的這個(gè)操作數(shù)是操作數(shù)的來(lái)源操作碼操作數(shù)[]操作數(shù)[],操作數(shù)來(lái)源指令只表示來(lái)源不表示目的地他只表示操作數(shù)的一個(gè)來(lái)源不表示操作數(shù)的目的地,說(shuō)到這里,老師就要提醒同學(xué)們,源操作數(shù)可以是任何數(shù)字或者CPU能夠獲取的數(shù)值,但是目的操作數(shù)它要存放操作的結(jié)果,所以它必須是一個(gè)能夠存放數(shù)據(jù)的地方,否則就不能做目的操作數(shù)使用。操作碼操作數(shù)[]操作數(shù)[],操作數(shù)來(lái)源源操作數(shù):任何數(shù)字或者CPU能夠獲取的數(shù)值目的操作數(shù):可以存放數(shù)據(jù)的空間下面通過(guò)幾條指令來(lái)熟悉一下操作碼和操作數(shù)通過(guò)指令熟悉操作碼和操作數(shù)下面通過(guò)幾條指令來(lái)熟悉一下操作碼和操作數(shù),第一個(gè)moveax逗號(hào)bx,這里的操作碼是mov,ax和bx是兩個(gè)操作數(shù),MOVAX,BX操作碼操作數(shù)因?yàn)樗麄冇枚禾?hào)相隔了,AX更靠近操作碼因此它是目的操作數(shù),MOVAX,BX目的操作數(shù)BX在逗號(hào)的后面,所以BX是源操作數(shù)MOVAX,BX源操作數(shù)這條指令的含義是把BX的內(nèi)容傳送給AX,你看作為目的操作數(shù),AX必須要能夠存放數(shù)據(jù)的空間。MOVAX,BX含義:把BX的內(nèi)容傳送給AXAX:能夠存放數(shù)據(jù)的空間下一條指令中add是操作碼,AX是目的操作數(shù),SI加六加方括號(hào)是源操作數(shù)ADDAX,[SI+6]操作碼目的操作數(shù)源操作數(shù)這里SI+6用方括號(hào)括起來(lái)了,表示它來(lái)自內(nèi)存單元,由于這是一個(gè)數(shù)據(jù),所以它應(yīng)該在數(shù)據(jù)段里,它的段基址是DSADDAX,[SI+6]方括號(hào)表示來(lái)自內(nèi)存單元在數(shù)據(jù)段里,段基址是DSSI+6的值就是偏移地址,當(dāng)你知道了DS和SI+6的大小,就可以按圖索驥,從內(nèi)存中找到這個(gè)操作數(shù)了ADDAX,[SI+6]值為偏移地址再看下一條指令,操作碼是INC,操作數(shù)是BX加方括號(hào)INC[BX]操作碼操作數(shù)這里只有一個(gè)操作數(shù),那這個(gè)操作數(shù)既是源操作數(shù)又是目的操作數(shù)最后一條指令hlt它沒(méi)有操作數(shù),只有一個(gè)操作碼,這就是操作數(shù)是零的情況INC[BX]既是源操作數(shù)又是目的操作數(shù)這里只有一個(gè)操作數(shù),那這個(gè)操作數(shù)既是源操作數(shù)又是目的操作數(shù),最后一條指令hlt它沒(méi)有操作數(shù),只有一個(gè)操作碼,這就是操作數(shù)是零的情況HLT沒(méi)有操作數(shù),只有一個(gè)操作碼操作數(shù)是零我們將會(huì)在這一章里面介紹這些常用的指令,包括進(jìn)行數(shù)據(jù)傳送的指令,進(jìn)行算術(shù)運(yùn)算的指令,還有邏輯運(yùn)算指令,移位的指令以及串操作的指令和進(jìn)行控制轉(zhuǎn)移相關(guān)的指令數(shù)據(jù)傳送指令算術(shù)運(yùn)算指令邏輯運(yùn)算指令移位指令串操作指令控制轉(zhuǎn)移相關(guān)指令請(qǐng)同學(xué)們?cè)趯W(xué)習(xí)的過(guò)程中注意理解操作碼的含義,通過(guò)多使用去掌握這些指令的用法00000助記符數(shù)據(jù)傳送數(shù)據(jù)傳送MOV,PUSH/POP,XCHG等地址傳送LEA,LDS,LES輸入輸出IN,OUT算術(shù)運(yùn)算加法ADD,ADC,INC減法SUB,SBB,DEC,NEG,CM

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論