8086指令系統(tǒng)指令系統(tǒng)是計算機所能執(zhí)行的全部指令的集合 程序由計算機能識別的、按一定順序排列的操作命令組成,每一條操作命令稱為一條機器指令。 尋址方式:尋找指令中所需的操作數(shù)的方式 基本數(shù)據(jù)類型8086處理器的基本數(shù)據(jù)類型是字節(jié)(8位)、字(16位)、雙字(32位) ![]() 字、雙字字、雙字在內(nèi)存中并不需要對齊至自然邊界(字、雙字的自然邊界是偶數(shù)編號的地址) 數(shù)字?jǐn)?shù)據(jù)類型![]() 指針數(shù)據(jù)類型指針是內(nèi)存單元的地址 近(Near)指針(16位)和遠(yuǎn)(Far)指針(32位) ![]() 串?dāng)?shù)據(jù)類型串是位、字節(jié)、字或雙字的連續(xù)序列 基本指令格式指令是計算機能夠識別和執(zhí)行的操作命令,由二進制數(shù)“0”、“1”組成。每條指令的編碼格式由機器指令系統(tǒng)規(guī)定。 操作碼(operationcode)用來說明指令操作的性質(zhì)與功能,常用OP表示 ![]() 尋址方式立即尋址在立即尋址(immediateaddressing)方式下,操作數(shù)直接包含在指令中,它是一個8位或16位的常數(shù),也叫立即數(shù) MOV AX,0FF00H 直接尋址再IBM PC機中,把操作數(shù)的偏移地址稱為有效地址EA (effectiveaddress) 存儲單元的有效地址直接由指令給出 操作數(shù)的物理地址=16×DS+EA 寄存器尋址在寄存器尋址(registeraddressing)方式下,操作數(shù)包含在寄存器中,由指令指定寄存器的名稱 在內(nèi)部寄存器中執(zhí)行 ![]() 寄存器間接尋址寄存器間接尋址( 寄存器間接尋址方式中存放操作數(shù)偏移地址的寄存器只允許是SI、DI、BX和BP,它們可簡稱為間址寄存器或稱為地址指針 寄存器相對尋址在寄存器相對尋址方式下,操作數(shù)在內(nèi)存中的存放地址(偏移地址)由間址寄存器的內(nèi)容加上指令中給出的一個8位或16位的偏移量組成 基址變址尋址方式基址變址尋址(basedindexedaddressing)方式的操作數(shù)的有效地址是一個基址寄存器(BX或BP)和一個變址寄存器(SI或DI)的內(nèi)容之和,兩個寄存器均由指令指定 MOV AX, [BX+SI] 相對基址變址尋址方式相對基址變址尋址(relativebasedindexed addressing)方式的操作數(shù)的有效地址是一個基址寄存器和一個變址寄存器的內(nèi)容,再加上指令中指定的8位或16位偏移量之和。 物理地址=16×DS+BX+SI+8位或16位偏移量 指令系統(tǒng)傳送類指令
數(shù)據(jù)操作類指令![]() 邏輯運算和移位指令![]() 串操作指令![]() 控制轉(zhuǎn)移指令![]() 在編寫程序時,往往把某些能完成特定功能而又經(jīng)常要用到的程序段,編寫成獨立的模塊,并把它稱為過程(procedure),習(xí)慣上也稱為子程序(subroutine) 若在過程運行中又去調(diào)用另一個過程,稱為過程嵌套 條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令是根據(jù)上一條指令執(zhí)行后,CPU設(shè)置的狀態(tài)標(biāo)志作為判別測試條件來決定是否轉(zhuǎn)移 條件轉(zhuǎn)移指令通常用在比較指令或算術(shù)邏輯運算指令之后,根據(jù)比較或運算結(jié)果,轉(zhuǎn)向不同的目的地址 ![]() ![]() 循環(huán)控制指令循環(huán)控制指令是一組增強型的條件轉(zhuǎn)移指令,用來控制一個程序段的重復(fù)執(zhí)行,重復(fù)次數(shù)由CX寄存器中的內(nèi)容決定 中斷指令所謂中斷是指計算機在執(zhí)行正常程序的過程中,由于某些事件發(fā)生,需要暫時中止當(dāng)前程序的運行,轉(zhuǎn)到中斷服務(wù)程序去為臨時發(fā)生的事件服務(wù),中斷服務(wù)程序執(zhí)行完畢后,又返回正常程序繼續(xù)運行的指令。 中斷分為外部中斷和內(nèi)部中斷 處理機控制指令![]() |
|