版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
微機原理及應用第五章8086指令系統第一講指令系統概述指令系統概述首先,我們來看幾個概念,第一個是指令,指令是控制計算機完成指定操作并能夠被計算機所識別的命令,也就是說我們人類下達給計算機讓他去執行某項操作的一些命令指令控制計算機完成指定操作能被計算機所識別機器指令,機器指令是指令的二進制代碼的形式。我們說計算機能夠識別的只有二進制數,所以計算機能夠識別并且能夠看懂的指令就是二進制的代碼表示的,比如CD21h,它的二進制代碼的形式是這樣子的,指令寫成這樣計算機才能夠識別,但是,寫成這樣的指令對于人類來說既不好識別,也不好理解機器指令指令的二進制代碼形式例:CD21H(1100110100100001)計算機能識別,人類不好識別理解于是就有匯編指令,匯編指令是我們把二進制的代碼用助記符的形式表示出來的指令,助記符就是幫助人來記憶的符號,所以說匯編指令純粹是為了便于人寫代碼和看懂代碼而設計的編程語言,比如int21h,它就是把二進制代碼用助記符的形式來表示了,這樣人比較容易能夠看懂,但是,這樣的話,人看懂了,計算機又看不懂了呀,沒關系,程序員開發了編譯軟件,能夠將匯編語言編程成二進制代碼的形式,再給計算機去執行。匯編指令用助記符形式表現的指令便于人寫代碼和看懂代碼例:INT21H編譯軟件:將匯編語言編程成二進制代碼形式同學們都學過C語言,匯編語言和C語言的不同,C語言匯編語言C語言屬于高級語言,而匯編語言屬于低級語言,這里的高級和低級的含義是相對硬件來說。高級語言C語言低級語言匯編語言硬件由于匯編語言更貼近硬件的處理,所以它屬于低級語言,而C語言更貼近人的想法和需求所以它屬于高級語言。學習了匯編語言更便于你去理解計算機的硬件在做的處理。高級語言C語言低級語言匯編語言更貼近硬件的處理更貼近人的想法和需求最后是指令系統,指令系統是CPU所有指令和它的使用規則構成的系統,指令系統CPU所有指令及其使用規則的集合我們將要學習的就是8086指令系統,包括一系列的指令和這些指令的使用規則。下面來看一下指令的基本構成,我們這里說的指令是匯編語言寫成的指令8086指令系統(一系列指令及其使用規則)指令的基本構成(匯編語言寫成的指令)指令一條指令包括操作碼和操作數,這里我們把操作數放到方括號里的含義是說這個操作數它可能有也可能沒有,換句話說,在一條指令中,可能有一個操作數,也可能有兩個操作數,也可能沒有操作數,這要看具體的指令使用規則操作碼操作數指令一條指令包括操作碼和操作數,這里我們把操作數放到方括號里的含義是說這個操作數它可能有也可能沒有,換句話說,在一條指令中,可能有一個操作數,也可能有兩個操作數,也可能沒有操作數,這要看具體的指令使用規則該操作數可有可無可以有0個、1個或2個操作碼操作數[]指令操作碼體現的是我們想要需要計算機執行什么樣的操作,說明要執行什么操作操作碼操作數[]指令比如,你想讓他傳送數據,還是讓他進行算數運算,這些都在操作碼中體現,操作碼(例:傳送數據、算數運算)說明要執行什么操作操作數[]指令一般操作碼用三個大寫字母表示,通常是對應的英文單詞的簡寫操作碼用三個大寫字母表示(對應英文單詞的簡寫)操作數[]指令比如數據傳送指令用MOVE的前三個大寫字母MOV來表示,加法運算用Addition的前三個大寫字母ADD來表示,這才便于人去記憶和使用操作碼數據傳送指令MOVE:MOV操作數[]加法運算Addition:ADD便于記憶便于使用指令我們說操作數最多有兩個,那我們來看兩個操作數的情況,兩個操作數中間要用逗號分隔,它們表示本操作要執行的那個對象。比如說我們要進行加法運算,那要給兩個數才能相加呀,操作碼操作數[]操作數[],本操作的執行對象加法運算指令所以你看ADD的后面就有兩個操作數,這兩個操作數就是加數和被加數操作碼操作數[]操作數[],ADDAX,[SI+6]加數和被加數但是,操作數放的位置不一樣,它們的含義也不同指令操作碼操作數[]操作數[],位置不同,含義不同離操作碼比較近的這個操作數是目的操作數,指令操作碼操作數[]操作數[],目的操作數指令操作來源或是操作后的存儲目的地它既可能是操作的來源,也可能是操作完成后要存儲的目的地操作碼操作數[]操作數[],目的操作數指令逗號后邊的這個操作數是操作數的來源操作碼操作數[]操作數[],操作數來源指令只表示來源不表示目的地他只表示操作數的一個來源不表示操作數的目的地,說到這里,老師就要提醒同學們,源操作數可以是任何數字或者CPU能夠獲取的數值,但是目的操作數它要存放操作的結果,所以它必須是一個能夠存放數據的地方,否則就不能做目的操作數使用。操作碼操作數[]操作數[],操作數來源源操作數:任何數字或者CPU能夠獲取的數值目的操作數:可以存放數據的空間下面通過幾條指令來熟悉一下操作碼和操作數通過指令熟悉操作碼和操作數下面通過幾條指令來熟悉一下操作碼和操作數,第一個moveax逗號bx,這里的操作碼是mov,ax和bx是兩個操作數,MOVAX,BX操作碼操作數因為他們用逗號相隔了,AX更靠近操作碼因此它是目的操作數,MOVAX,BX目的操作數BX在逗號的后面,所以BX是源操作數MOVAX,BX源操作數這條指令的含義是把BX的內容傳送給AX,你看作為目的操作數,AX必須要能夠存放數據的空間。MOVAX,BX含義:把BX的內容傳送給AXAX:能夠存放數據的空間下一條指令中add是操作碼,AX是目的操作數,SI加六加方括號是源操作數ADDAX,[SI+6]操作碼目的操作數源操作數這里SI+6用方括號括起來了,表示它來自內存單元,由于這是一個數據,所以它應該在數據段里,它的段基址是DSADDAX,[SI+6]方括號表示來自內存單元在數據段里,段基址是DSSI+6的值就是偏移地址,當你知道了DS和SI+6的大小,就可以按圖索驥,從內存中找到這個操作數了ADDAX,[SI+6]值為偏移地址再看下一條指令,操作碼是INC,操作數是BX加方括號INC[BX]操作碼操作數這里只有一個操作數,那這個操作數既是源操作數又是目的操作數最后一條指令hlt它沒有操作數,只有一個操作碼,這就是操作數是零的情況INC[BX]既是源操作數又是目的操作數這里只有一個操作數,那這個操作數既是源操作數又是目的操作數,最后一條指令hlt它沒有操作數,只有一個操作碼,這就是操作數是零的情況HLT沒有操作數,只有一個操作碼操作數是零我們將會在這一章里面介紹這些常用的指令,包括進行數據傳送的指令,進行算術運算的指令,還有邏輯運算指令,移位的指令以及串操作的指令和進行控制轉移相關的指令數據傳送指令算術運算指令邏輯運算指令移位指令串操作指令控制轉移相關指令請同學們在學習的過程中注意理解操作碼的含義,通過多使用去掌握這些指令的用法00000助記符數據傳送數據傳送MOV,PUSH/POP,XCHG等地址傳送LEA,LDS,LES輸入輸出IN,OUT算術運算加法ADD,ADC,INC減法SUB,SBB,DEC,NEG,CM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 職業規劃心得與收獲
- 安徽工地消防安全柜批發指南
- 美國電影人工智能插畫集
- 高鐵職業規劃論文研究
- 打樁機消防安全操作規范
- 數控研磨工安全宣傳能力考核試卷含答案
- 濕法紡紡絲操作工崗前跨領域知識考核試卷含答案
- 失智老年人照護員崗前安全宣傳考核試卷含答案
- 鉭鈮分離工崗前安全管理考核試卷含答案
- 電工合金熔煉及熱變形工崗位專業能力考核試卷含答案
- 營銷總監2025年半年度匯報
- 芯片采購框架協議書模板
- 高低壓配電柜包裝標準操作規程
- AI與疫苗接種策略的智能優化
- 醫患溝通中的風險防范策略實踐
- TGGW102-2019普速鐵路線路修理規則
- TCGMA033001-2018壓縮空氣站能效分級指南
- 2025年計算機等級考試一級計算機基礎及WPSOffice應用試題附答案
- DB15∕T 2676-2022 鹽堿地改良效果評估技術規程
- 放射科CT檢查造影劑使用須知
- 藥店店長年終總結與計劃
評論
0/150
提交評論