資源描述:
《《指令系統(tǒng)》課件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、《微機原理及應(yīng)用》主講教師陳瑋第三章8086/8088指令系統(tǒng)一、指令格式與尋址方式二、數(shù)據(jù)傳送類指令三、算術(shù)運算指令四、邏輯運算指令五、移位指令作業(yè)六、串操作指令七、控制轉(zhuǎn)移指令八、處理器控制指令作業(yè)2021/9/42一、指令格式與尋址方式指令(Instruction)是指示CPU執(zhí)行某種操作的命令;指令系統(tǒng)(InstructionSet)是某一CPU所能執(zhí)行的全部指令的集合,也稱為指令集;8086/8088的指令系統(tǒng)完全相同。指令是構(gòu)成程序的基礎(chǔ),程序是指令的有序組合,CPU執(zhí)行程序就是執(zhí)行一條
2、條指令。1、指令格式2、尋址方式2021/9/43二、數(shù)據(jù)傳送類指令1、通用數(shù)據(jù)傳送指令2、地址傳送指令3、狀態(tài)標志傳送指令2021/9/44三、算術(shù)運算指令1、加法運算指令2、減法指令3、乘法指令4、除法指令例題2021/9/45四、邏輯運算指令1、“與”運算指令A(yù)ND2、“或”運算指令OR3、“非”運算指令NOT4、“異或”運算指令XOR5、測試指令TEST2021/9/46五、移位指令1、邏輯移位指令2、算術(shù)移位指令3、循環(huán)移位指令4、通過進位位循環(huán)移位指令例題2021/9/47七、控制轉(zhuǎn)移指
3、令1、控制轉(zhuǎn)移指令的尋址方式2、無條件轉(zhuǎn)移指令3、條件轉(zhuǎn)移指令4、循環(huán)控制指令5、過程調(diào)用和返回指令2021/9/48八、處理器控制指令1、標志位操作指令2、與外部事件協(xié)調(diào)同步的指令3、空操作指令2021/9/491、指令格式(1)操作碼指定CPU執(zhí)行某種操作,如傳送、運算等;(2)操作數(shù)為參與操作的數(shù)據(jù),如寄存器中的數(shù)據(jù)或內(nèi)存單元中的數(shù)據(jù)等。①包含一個操作數(shù)的指令稱為單操作數(shù)指令;②包含兩個操作數(shù)的指令稱為雙操作數(shù)指令;③在指令執(zhí)行過程中使用的操作數(shù),保持原值不變的稱為源操作數(shù);④不保留原值而將處
4、理結(jié)果存入其中的稱為目的操作數(shù)。操作碼操作數(shù)一條指令通常包括兩部分:操作碼和操作數(shù)。格式:2021/9/4102、尋址方式(AddressingMode)(1)指令尋址方式指令通常是順序存放的,因此只要通過對指令指針自動加1,便形成下條指令地址;只有當遇到轉(zhuǎn)移指令或調(diào)用指令時,根據(jù)轉(zhuǎn)移目標去修改IP或CS。(2)操作數(shù)尋址方式所謂操作數(shù)尋址方式,就是尋找指令中所需操作數(shù)的方法。2021/9/4112、尋址方式(AddressingMode)操作數(shù)的來源①包含在指令中,緊跟在操作碼之后,稱為立即數(shù);②
5、操作數(shù)在CPU的某個寄存器中;③操作數(shù)在內(nèi)存的某單元中,這時指令中給出的是操作數(shù)所在單元的地址,或者是產(chǎn)生該地址的計算方法;④操作數(shù)在某I/O端口中。2021/9/4122、尋址方式(AddressingMode)由于操作數(shù)的不同來源,產(chǎn)生了三大類尋址方式。(1)立即數(shù)尋址(2)寄存器尋址(3)內(nèi)存尋址例題2021/9/413(1)立即(數(shù))尋址當操作數(shù)就在指令中時,稱為立即(數(shù))尋址。這種操作數(shù)稱為立即數(shù),8位或16位均可。如:①MOVAL,12H說明:這條指令的功能就是將立即數(shù)12H傳送到寄存器
6、AL中。執(zhí)行完該條指令后,(AL)=12H或表示成:AL=12H2021/9/414(1)立即(數(shù))尋址②MOVAX,1234H說明:這條指令的功能就是將立即數(shù)1234H傳送到寄存器AX中。執(zhí)行完該條指令后,(AX)=1234H或表示成:AX=1234H2021/9/415(1)立即(數(shù))尋址③MOVAL,12H這是一條雙操作數(shù)指令。其中:*MOV就是操作碼,*立即數(shù)12H稱為源操作數(shù);*寄存器AL稱為目的操作數(shù)。特點:*源操作數(shù)在執(zhí)行指令后,它的值不會發(fā)生變化;*立即數(shù)不能作為目的操作數(shù)。2021
7、/9/416(2)寄存器尋址(SegmentAddressing)當操作數(shù)在寄存器中時為寄存器尋址(或稱寄存器直接尋址)。如:①MOVAL,12H說明:目的操作數(shù)AL即為寄存器尋址。②MOVAX,BX說明:這條指令的功能就是將寄存器BX的內(nèi)容傳送到寄存器AX中。執(zhí)行完該條指令后,AX的內(nèi)容和BX的內(nèi)容一樣,表示成AX=BX;2021/9/417(3)內(nèi)存尋址(MemoryAddressing)當操作數(shù)在內(nèi)存中時為內(nèi)存尋址,稱其為內(nèi)存操作數(shù)。注意:一條指令中只允許有一個內(nèi)存操作數(shù)!*內(nèi)存尋址時,指令中
8、給出的是操作數(shù)的有效地址EA或產(chǎn)生EA的計算方式。*EA即是邏輯地址中的偏移地址。2021/9/418(3)內(nèi)存尋址(MemoryAddressing)①直接尋址②寄存器間接尋址③相對基址/變址尋址④基址變址尋址⑤相對基址變址尋址2021/9/419①直接尋址EA由指令中直接給出的16位偏移量單獨構(gòu)成時稱為內(nèi)存尋址中的直接尋址。*16位偏移量應(yīng)帶有方括號。如:(1)MOVAL,[1234H]說明:根據(jù)指令EA=1234H,段地址即取當前數(shù)據(jù)段DS(設(shè)DS=2000H)