版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 8086指令系統(tǒng)的特點(diǎn)指令系統(tǒng)的特點(diǎn) 8086的尋址方式的尋址方式 8086指令系統(tǒng)指令系統(tǒng) 第三章第三章 8086的指令系統(tǒng)的指令系統(tǒng) 1. 指令系統(tǒng)的兼容性指令系統(tǒng)的兼容性 2. 靈活的指令格式靈活的指令格式 3. 指令的尋址能力和數(shù)據(jù)存取能力強(qiáng)指令的尋址能力和數(shù)據(jù)存取能力強(qiáng) 4. 具有處理多種類型數(shù)據(jù)的能力具有處理多種類型數(shù)據(jù)的能力 5. 便于構(gòu)成多處理機(jī)系統(tǒng)便于構(gòu)成多處理機(jī)系統(tǒng)一、 8086指令系統(tǒng)的特點(diǎn)指令系統(tǒng)的特點(diǎn) 有效地址有效地址EA(Effective Address) 尋址方式尋址方式 8086的指令格式及數(shù)據(jù)類型的指令格式及數(shù)據(jù)類型 二、 8086的尋址方式的尋址方式 1
2、. 有效地址有效地址EA (Effective Address) 當(dāng)當(dāng)8086CPU的執(zhí)行部件的執(zhí)行部件EU需要讀需要讀/寫存儲器寫存儲器操作數(shù)時(shí),它必須把一個(gè)偏移地址送給總線接操作數(shù)時(shí),它必須把一個(gè)偏移地址送給總線接口部件口部件BIU。 BIU把這個(gè)偏移地址和段地址的把這個(gè)偏移地址和段地址的首址相加,產(chǎn)生首址相加,產(chǎn)生20位物理地址,然后執(zhí)行存取位物理地址,然后執(zhí)行存取操作數(shù)所需的總線周期。操作數(shù)所需的總線周期。 尋址所需的偏移地址即為有效地址,用尋址所需的偏移地址即為有效地址,用EA表示。它是一個(gè)表示。它是一個(gè)16位的無符號數(shù),代表被尋位的無符號數(shù),代表被尋址的操作數(shù)在存儲器中的位置距離該
3、段起點(diǎn)的址的操作數(shù)在存儲器中的位置距離該段起點(diǎn)的字節(jié)數(shù)。如圖所示:字節(jié)數(shù)。如圖所示: 2. 尋址方式尋址方式 尋址方式大致分為以下類型:立即尋址、尋址方式大致分為以下類型:立即尋址、寄存器尋址、直接尋址、寄存器間接尋址、基寄存器尋址、直接尋址、寄存器間接尋址、基址尋址、變址尋址、基址加變址尋址、串尋址址尋址、變址尋址、基址加變址尋址、串尋址和輸入和輸入/輸出端口尋址。輸出端口尋址。78H56H34H12H34H12H56H78H操作碼操作碼(1) 立即尋址立即尋址 操作數(shù)作為立即數(shù)直接存在指令中,可操作數(shù)作為立即數(shù)直接存在指令中,可為字節(jié)、字、雙字。例:為字節(jié)、字、雙字。例: MOV CX,
4、12345678H低地址低地址高地址高地址CS段段CX(2)寄存器尋址)寄存器尋址 操作數(shù)在寄存器中,指令中用操作數(shù)在寄存器中,指令中用3位字段指令寄存位字段指令寄存器號碼。對于器號碼。對于16位操作數(shù),寄存器可以是位操作數(shù),寄存器可以是AX、BX、CX、DX、SI、DI、SP和和BP;對于;對于8位操作數(shù),寄存位操作數(shù),寄存器可以是器可以是AL、AH、BL、BH、CL、CH、DL、DH。例:例: MOV AX, BX 78H56H34H12HAX78H56H34H12HBX34H12H00H操作碼操作碼(3)直接尋址)直接尋址 指令中的操作數(shù)部分直接給出操作數(shù)的有效地指令中的操作數(shù)部分直接給
5、出操作數(shù)的有效地址址EAEA,操作數(shù)可以是,操作數(shù)可以是1616位或位或3232位整數(shù),操作數(shù)默認(rèn)位整數(shù),操作數(shù)默認(rèn)在在DSDS段中,例:段中,例: MOV AX, 3000H低地址低地址高地址高地址CS段段30H34H12HAXDS段段5000053000DS300053000+5000(4)寄存器間接尋址)寄存器間接尋址 存儲存儲操作數(shù)的有效地址,可直接取自基址操作數(shù)的有效地址,可直接取自基址寄存器或變址寄存器之一。只要對基址寄存器寄存器或變址寄存器之一。只要對基址寄存器或變址寄存器的值做適合的修改,一條指令就或變址寄存器的值做適合的修改,一條指令就可以對許多不同的存儲單元進(jìn)行操作。這種尋
6、可以對許多不同的存儲單元進(jìn)行操作。這種尋址方式可以用于表格處理,只需修改寄存器內(nèi)址方式可以用于表格處理,只需修改寄存器內(nèi)容就可對表格中的不同項(xiàng)進(jìn)行操作。容就可對表格中的不同項(xiàng)進(jìn)行操作。操作碼操作碼低地址低地址高地址高地址CS段段34H12H34H12HAXSS段段7000073000SS7000300073000+MOV AX, BPBP(5)基址尋址)基址尋址 在基址尋址中,有效地址是位移量值和在基址尋址中,有效地址是位移量值和寄存器寄存器BX或寄存器或寄存器BP的內(nèi)容之和。的內(nèi)容之和。低地址低地址高地址高地址CS段段操作碼操作碼00H15H34H12H34H12HAXFS段段7000073
7、500BX150073500+DS7000 02000MOV DX, BX+1500(6)變址尋址)變址尋址 所謂變址尋址,就是以指定的變址寄存器的所謂變址尋址,就是以指定的變址寄存器的內(nèi)容,加上指令中給定的內(nèi)容,加上指令中給定的8位或位或16位位移量,作位位移量,作為操作數(shù)的地址,即為操作數(shù)的地址,即 EA=變址寄存器變址寄存器+位移量。位移量。SI、DI為基址寄存器為基址寄存器, DS為默認(rèn)段寄存器。變?yōu)槟J(rèn)段寄存器。變址尋址適用于對一維數(shù)組的元素進(jìn)行操作。址尋址適用于對一維數(shù)組的元素進(jìn)行操作。(7)基址加變址尋址)基址加變址尋址 操作數(shù)的有效地址是一個(gè)基址寄存器和一操作數(shù)的有效地址是一個(gè)
8、基址寄存器和一個(gè)變址寄存器的內(nèi)容再加上指令中指定的個(gè)變址寄存器的內(nèi)容再加上指令中指定的8位位或或16位位移量之和?;芳幼冎穼ぶ分饕糜谖晃灰屏恐汀;芳幼冎穼ぶ分饕糜诙S數(shù)組操作和二重循環(huán)。例:二維數(shù)組操作和二重循環(huán)。例: MOV AX, BX+SI MOV EAX, EDX+EBP(8)串尋址)串尋址 串尋址訪問的串尋址訪問的操作數(shù),不能用通常的存儲操作數(shù),不能用通常的存儲器尋址方式,而是隱含地運(yùn)用變址寄存器。當(dāng)器尋址方式,而是隱含地運(yùn)用變址寄存器。當(dāng)執(zhí)行串命令時(shí),設(shè)定執(zhí)行串命令時(shí),設(shè)定SI指向源字符串的第一個(gè)指向源字符串的第一個(gè)字節(jié)或字,字節(jié)或字,DI指向目的字符串的第一個(gè)字節(jié)或指向
9、目的字符串的第一個(gè)字節(jié)或字,且目的字符串必須存放在附加段中。在重字,且目的字符串必須存放在附加段中。在重復(fù)操作中,復(fù)操作中,CPU自動地調(diào)整自動地調(diào)整SI和和DI的內(nèi)容,以的內(nèi)容,以獲得后續(xù)的字節(jié)或字。獲得后續(xù)的字節(jié)或字。 3. 8086的指令格式及數(shù)據(jù)類型的指令格式及數(shù)據(jù)類型 指令由操作碼和操作數(shù)兩部分組成。指令由操作碼和操作數(shù)兩部分組成。8086是變字節(jié)指令,一條指令一般由是變字節(jié)指令,一條指令一般由16個(gè)字節(jié)組個(gè)字節(jié)組成(加上前綴字節(jié),最長的可為成(加上前綴字節(jié),最長的可為7字節(jié)指令)。字節(jié)指令)。指令的操作碼采用二進(jìn)制代碼表示本指令所執(zhí)指令的操作碼采用二進(jìn)制代碼表示本指令所執(zhí)行的操作,
10、通常用指令的第一個(gè)字節(jié)表示。有行的操作,通常用指令的第一個(gè)字節(jié)表示。有時(shí)由于用時(shí)由于用8位不夠,因此在指令的第二個(gè)字節(jié)中位不夠,因此在指令的第二個(gè)字節(jié)中還可能占有還可能占有3位操作碼。除此以外的其它字節(jié)或位操作碼。除此以外的其它字節(jié)或位則用來表示操作數(shù)。位則用來表示操作數(shù)。 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令 算術(shù)運(yùn)算指令算術(shù)運(yùn)算指令 位處理指令模式系統(tǒng)位處理指令模式系統(tǒng) 串操作指令串操作指令 程序控制轉(zhuǎn)移指令程序控制轉(zhuǎn)移指令三、 8086指令系統(tǒng)指令系統(tǒng) 1. 數(shù)數(shù) 據(jù)據(jù) 傳傳 送送 指指 令令 數(shù)據(jù)傳送指令負(fù)責(zé)把數(shù)據(jù)、地址傳送到數(shù)據(jù)傳送指令負(fù)責(zé)把數(shù)據(jù)、地址傳送到寄存器或存儲單元中,以及實(shí)現(xiàn)存儲器和寄
11、寄存器或存儲單元中,以及實(shí)現(xiàn)存儲器和寄存器、寄存器之間、寄存器存器、寄存器之間、寄存器AL和和AX與與I/O端端口之間的字節(jié)或字的傳送。它可分為以下四口之間的字節(jié)或字的傳送。它可分為以下四類:通用數(shù)據(jù)傳送、累加器專用傳送(輸入類:通用數(shù)據(jù)傳送、累加器專用傳送(輸入/輸出數(shù)據(jù)傳送)、目標(biāo)地址傳送和標(biāo)志寄存輸出數(shù)據(jù)傳送)、目標(biāo)地址傳送和標(biāo)志寄存器傳送。器傳送。(1)通用數(shù)據(jù)傳送)通用數(shù)據(jù)傳送 MOV 傳送指令傳送指令 格式為:格式為:MOV OPRD1, OPRD2 執(zhí)行操作執(zhí)行操作: ( OPRD1 ) ( OPRD1 ) 該指令把一個(gè)字節(jié)或字操作數(shù)從源傳送到目的,該指令把一個(gè)字節(jié)或字操作數(shù)從源
12、傳送到目的,能實(shí)現(xiàn)能實(shí)現(xiàn)CPU內(nèi)部寄存器之間的數(shù)據(jù)傳送、寄存器與內(nèi)部寄存器之間的數(shù)據(jù)傳送、寄存器與存儲器之間的數(shù)據(jù)傳送、立即數(shù)傳送到存儲器之間的數(shù)據(jù)傳送、立即數(shù)傳送到CPU內(nèi)部通內(nèi)部通用寄存器和存儲器。但要注意以下幾點(diǎn):用寄存器和存儲器。但要注意以下幾點(diǎn): 1)寄存器不能為)寄存器不能為IP;2)允許用段寄存器作為一個(gè)目的操作數(shù)時(shí),不允許用)允許用段寄存器作為一個(gè)目的操作數(shù)時(shí),不允許用 CS段寄存器;段寄存器;3)MOV指令的目的操作數(shù)不允許用立即數(shù)方式;指令的目的操作數(shù)不允許用立即數(shù)方式;4) 不允許兩個(gè)段寄存器之間直接傳送信息;不允許兩個(gè)段寄存器之間直接傳送信息;5) 不允許用不允許用MO
13、V指令在兩個(gè)存儲單元之間直接傳送數(shù)指令在兩個(gè)存儲單元之間直接傳送數(shù) 據(jù),而應(yīng)間接通過據(jù),而應(yīng)間接通過CPU內(nèi)部寄存器來實(shí)現(xiàn)。內(nèi)部寄存器來實(shí)現(xiàn)。 PUSH 進(jìn)棧指令進(jìn)棧指令 格式為:格式為: PUSH OPRD 執(zhí)行操作執(zhí)行操作: SP SP-2 該指令把一個(gè)字操作數(shù)從源傳送到堆棧的頂部。該指令把一個(gè)字操作數(shù)從源傳送到堆棧的頂部。常用于在調(diào)用過程前把參數(shù)入棧,常用于在調(diào)用過程前把參數(shù)入棧,16位寄存器(包位寄存器(包括段寄存器)、存儲器單元的內(nèi)容都可入棧。括段寄存器)、存儲器單元的內(nèi)容都可入棧。 POP 出棧指令出棧指令 格式為:格式為: POP OPRD 執(zhí)行操作執(zhí)行操作: SP SP+2 該
14、指令把該指令把SP所指向的堆棧頂部的一個(gè)字傳送到所指向的堆棧頂部的一個(gè)字傳送到指定目的操作數(shù),同時(shí)修改堆棧指針,即指定目的操作數(shù),同時(shí)修改堆棧指針,即SP SP+2。 XCHG 交換指令交換指令 格式為:格式為:XCHG OPRD1, OPRD2 執(zhí)行操作執(zhí)行操作: ( OPRD1 ) ( OPRD1 ) 該指令把一個(gè)字節(jié)或字的源操作數(shù)與目的操作該指令把一個(gè)字節(jié)或字的源操作數(shù)與目的操作數(shù)相交換,即該指令的兩個(gè)操作數(shù)中必須有一個(gè)為數(shù)相交換,即該指令的兩個(gè)操作數(shù)中必須有一個(gè)為寄存器操作數(shù),且段寄存器不能作為一個(gè)操作數(shù)。寄存器操作數(shù),且段寄存器不能作為一個(gè)操作數(shù)。 (2)累加器專用傳送)累加器專用傳
15、送 IN 輸入指令輸入指令 長格式為:長格式為: IN AL, PORT; (字節(jié)字節(jié)) IN AX, PORT; (字字) 執(zhí)行操作執(zhí)行操作: (AL) (PORT) (AX) (PORT) 短格式為:短格式為: IN AL, DX; (字節(jié)字節(jié)) IN AX, DX; (字字) 執(zhí)行操作執(zhí)行操作: (AL) (DX) (AX) (DX+1,DX) 該指令把一個(gè)字節(jié)或字由輸入端口傳送到該指令把一個(gè)字節(jié)或字由輸入端口傳送到AL或或AX,端口地址由指令中的,端口地址由指令中的PORT或者或者DX規(guī)定。若由規(guī)定。若由PORT所規(guī)定可尋址所規(guī)定可尋址256個(gè)端口;若個(gè)端口;若由由DX所規(guī)定可尋址所規(guī)
16、定可尋址64K個(gè)端口。當(dāng)端口號大于個(gè)端口。當(dāng)端口號大于256時(shí),只能使用短格式,但必須先把端口號放時(shí),只能使用短格式,但必須先把端口號放到到DX寄存器中。寄存器中。 OUT 輸入指令輸入指令 長格式為:長格式為: OUT AL, PORT; (字節(jié)字節(jié)) IN AX, PORT; (字字) 執(zhí)行操作執(zhí)行操作: (AL) (PORT) (AX) (PORT) 短格式為:短格式為: OUT AL, DX; (字節(jié)字節(jié)) OUT AX, DX; (字字) 執(zhí)行操作執(zhí)行操作: (AL) (DX) (AX) (DX+1,DX) XLAT 換碼指令換碼指令 格式為:格式為: XLAT OPRD 執(zhí)行操作執(zhí)
17、行操作: AL (BX+AL) 該指令完成一個(gè)字節(jié)的查表轉(zhuǎn)換。該指令完成一個(gè)字節(jié)的查表轉(zhuǎn)換。(3)目標(biāo)地址傳送)目標(biāo)地址傳送 LEA 有效地址送寄存器指令有效地址送寄存器指令 格式為:格式為: LEA r, src 執(zhí)行操作執(zhí)行操作: r ADR(src);W 該指令把源操作數(shù)偏移量(而不是它的值)傳該指令把源操作數(shù)偏移量(而不是它的值)傳送到目的操作數(shù)所在的送到目的操作數(shù)所在的16位寄存器。位寄存器。 LDS 指針裝入寄存器和指針裝入寄存器和DS指令指令 格式為:格式為: LEA r, src 執(zhí)行操作執(zhí)行操作: r (EA) DS (EA+2) ; DW 該指令把源操作數(shù)的連續(xù)四個(gè)字節(jié)(目
18、標(biāo)指針,該指令把源操作數(shù)的連續(xù)四個(gè)字節(jié)(目標(biāo)指針,包括一個(gè)段地址和一個(gè)地址偏移量)的雙字存儲器包括一個(gè)段地址和一個(gè)地址偏移量)的雙字存儲器傳送到一對目的寄存器。傳送到一對目的寄存器。 LES 指針裝入寄存器和指針裝入寄存器和ES指令指令 格式為:格式為: LES r, src 執(zhí)行操作執(zhí)行操作: r (EA) ES (EA+2) ; DW 該指令除將地址指針的段地址部分送入該指令除將地址指針的段地址部分送入ES外,外,其余與其余與LDS指令類似。指令類似。(4)標(biāo)志寄存器傳送)標(biāo)志寄存器傳送 LAHF 標(biāo)志寄存器低字節(jié)送標(biāo)志寄存器低字節(jié)送AH指令指令 格式為:格式為: LAHF 執(zhí)行操作執(zhí)行操
19、作:(AH) Flag的低字節(jié)的低字節(jié) 該指令把標(biāo)志寄存器中的該指令把標(biāo)志寄存器中的SF、ZF、AF、PF和和CF分別傳送到分別傳送到AH寄存器的相應(yīng)位,但本身不影響寄存器的相應(yīng)位,但本身不影響這些標(biāo)志位。這些標(biāo)志位。 SAHF AH送標(biāo)志寄存器低字節(jié)指令送標(biāo)志寄存器低字節(jié)指令 格式為:格式為: LAHF 執(zhí)行操作執(zhí)行操作: Flag的低字節(jié)的低字節(jié) (AH) 該指令把該指令把AH寄存器的相應(yīng)位分別傳送到標(biāo)志寄存器的相應(yīng)位分別傳送到標(biāo)志寄存器中的寄存器中的SF、ZF、AF、PF和和CF ,但本身不影,但本身不影響溢出標(biāo)志位響溢出標(biāo)志位OP、方向標(biāo)志位、方向標(biāo)志位DF、中斷標(biāo)志位、中斷標(biāo)志位IF
20、和跟蹤標(biāo)志位和跟蹤標(biāo)志位TF 。 PUSHF 標(biāo)志進(jìn)棧指令標(biāo)志進(jìn)棧指令 格式為:格式為: PUSHF 執(zhí)行操作執(zhí)行操作: SP SP-2; (SP+1, SP) Flag 該指令把整個(gè)標(biāo)志寄存器推入堆棧保存,同時(shí)該指令把整個(gè)標(biāo)志寄存器推入堆棧保存,同時(shí)修改堆棧指針。這條指令對標(biāo)志位沒有影響。修改堆棧指針。這條指令對標(biāo)志位沒有影響。 POPF 標(biāo)志進(jìn)棧指令標(biāo)志進(jìn)棧指令 格式為:格式為: POPF 執(zhí)行操作執(zhí)行操作:Flag (SP+1, SP) ; SP SP+2 該指令把現(xiàn)行堆棧指針?biāo)敢粋€(gè)字傳送給標(biāo)志該指令把現(xiàn)行堆棧指針?biāo)敢粋€(gè)字傳送給標(biāo)志寄存器,同時(shí)相應(yīng)地修改堆棧指針。這條指令執(zhí)行寄存器,
21、同時(shí)相應(yīng)地修改堆棧指針。這條指令執(zhí)行后,后,8086的標(biāo)志位取決于原堆棧頂部的內(nèi)容。的標(biāo)志位取決于原堆棧頂部的內(nèi)容。 2. 算算 術(shù)術(shù) 運(yùn)運(yùn) 算算 指指 令令 8086以多種形式提供以多種形式提供4種基本的算術(shù)運(yùn)算,種基本的算術(shù)運(yùn)算,可用于字節(jié)(可用于字節(jié)(8位)或字(位)或字(16位)的帶符號或不位)的帶符號或不帶符號的運(yùn)算帶符號的運(yùn)算 。若是帶符號運(yùn)算,則用補(bǔ)碼表。若是帶符號運(yùn)算,則用補(bǔ)碼表示。示。(1)加法運(yùn)算)加法運(yùn)算 ADD 加法運(yùn)算指令加法運(yùn)算指令 格式為:格式為:ADD OPRD1, OPRD2;B/W 執(zhí)行操作執(zhí)行操作: OPRD1 OPRD1 + OPRD2 該指令完成兩個(gè)操
22、作數(shù)相加,結(jié)果送到目標(biāo)操該指令完成兩個(gè)操作數(shù)相加,結(jié)果送到目標(biāo)操作數(shù)。作數(shù)。 ADC 加法運(yùn)算指令加法運(yùn)算指令 格式為:格式為:ADC OPRD1, OPRD2;B/W 執(zhí)行操作執(zhí)行操作: OPRD1 OPRD1 + OPRD2 該指令與該指令與ADD類似,不同之處只是在兩個(gè)操作類似,不同之處只是在兩個(gè)操作數(shù)相加時(shí),要把進(jìn)位標(biāo)志數(shù)相加時(shí),要把進(jìn)位標(biāo)志CF的現(xiàn)行值加上去,結(jié)的現(xiàn)行值加上去,結(jié)果送到目標(biāo)操作數(shù)。果送到目標(biāo)操作數(shù)。 INC 增量指令增量指令 格式為:格式為:ADC OPRD;B/W 執(zhí)行操作執(zhí)行操作: OPRD OPRD + 1 該指令是使操作數(shù)的內(nèi)容加該指令是使操作數(shù)的內(nèi)容加1,然
23、后把結(jié)果送,然后把結(jié)果送回到此操作數(shù)?;氐酱瞬僮鲾?shù)。 DAA 十進(jìn)制數(shù)加法調(diào)整指令十進(jìn)制數(shù)加法調(diào)整指令 格式為:格式為:DAA; B 該指令為該指令為BCD碼十進(jìn)制數(shù)加法調(diào)整指令,對碼十進(jìn)制數(shù)加法調(diào)整指令,對在在AL中的兩個(gè)組合的中的兩個(gè)組合的BCD碼相加后的結(jié)果進(jìn)行校碼相加后的結(jié)果進(jìn)行校正,以產(chǎn)生正確的正,以產(chǎn)生正確的BCD碼相加的和。碼相加的和。 AAA 十進(jìn)制數(shù)加法調(diào)整指令十進(jìn)制數(shù)加法調(diào)整指令 格式為:格式為:AAA; B 該指令為該指令為ASCII碼十進(jìn)制數(shù)加法調(diào)整指令,對碼十進(jìn)制數(shù)加法調(diào)整指令,對在在AL中的兩個(gè)非組合的中的兩個(gè)非組合的ASCII碼相加后的結(jié)果進(jìn)行碼相加后的結(jié)果進(jìn)行校
24、正,以產(chǎn)生正確的非組合的校正,以產(chǎn)生正確的非組合的ASCII碼相加的和。碼相加的和。 (2)減法運(yùn)算)減法運(yùn)算 SUB 減法運(yùn)算指令減法運(yùn)算指令 格式為:格式為:SUB OPRD1, OPRD2;B/W 執(zhí)行操作執(zhí)行操作: OPRD1 OPRD1 - OPRD2 該指令完成兩個(gè)操作數(shù)相加,結(jié)果送到目標(biāo)操該指令完成兩個(gè)操作數(shù)相加,結(jié)果送到目標(biāo)操作數(shù)。作數(shù)。 SBB 減法運(yùn)算指令減法運(yùn)算指令 格式為:格式為:ADC OPRD1, OPRD2;B/W 執(zhí)行操作執(zhí)行操作: OPRD1 OPRD1- OPRD2- CF 該指令與該指令與SUB類似,不同之處只是在兩個(gè)操作類似,不同之處只是在兩個(gè)操作數(shù)相減
25、時(shí),要把減去進(jìn)位標(biāo)志數(shù)相減時(shí),要把減去進(jìn)位標(biāo)志CF的值,結(jié)果送到的值,結(jié)果送到目標(biāo)操作數(shù)。目標(biāo)操作數(shù)。 DEC 減量指令減量指令 格式為:格式為:DEC OPRD;B/W 執(zhí)行操作執(zhí)行操作: OPRD OPRD - 1 該指令是將操作數(shù)的值減該指令是將操作數(shù)的值減1,再將結(jié)果送回到,再將結(jié)果送回到此操作數(shù)。此操作數(shù)。 NEG 取補(bǔ)指令取補(bǔ)指令 格式為:格式為:NEG OPRD; B/W 執(zhí)行操作執(zhí)行操作: OPRD 0-OPRD 該指令將指令中給出的操作數(shù)取補(bǔ),再將結(jié)果該指令將指令中給出的操作數(shù)取補(bǔ),再將結(jié)果送回送回。 CMP 比較指令比較指令 格式為:格式為:CMP OPRD1, OPRD2
26、 執(zhí)行操作執(zhí)行操作: ( OPRD1 ) ( OPRD1 ) 該指令完成兩個(gè)操作數(shù)相減,結(jié)果反映在標(biāo)志該指令完成兩個(gè)操作數(shù)相減,結(jié)果反映在標(biāo)志位,并不回送任何操作數(shù)。它的執(zhí)行結(jié)果影響標(biāo)志位,并不回送任何操作數(shù)。它的執(zhí)行結(jié)果影響標(biāo)志位位AF、CF、OF、PF、SF和和ZF。通常在該指令后。通常在該指令后面跟一條條件轉(zhuǎn)移指令,檢查標(biāo)志位的狀態(tài)以決定面跟一條條件轉(zhuǎn)移指令,檢查標(biāo)志位的狀態(tài)以決定程序的轉(zhuǎn)向。程序的轉(zhuǎn)向。 DAS 十進(jìn)制數(shù)減法調(diào)整指令十進(jìn)制數(shù)減法調(diào)整指令 格式為:格式為:DAS; B 該指令為該指令為BCD碼十進(jìn)制數(shù)減法調(diào)整指令,對碼十進(jìn)制數(shù)減法調(diào)整指令,對在在AL中的兩個(gè)組合的中的兩個(gè)
27、組合的BCD碼相減后的結(jié)果進(jìn)行校碼相減后的結(jié)果進(jìn)行校正,以產(chǎn)生正確的正,以產(chǎn)生正確的BCD碼相減的差。碼相減的差。 AAS 十進(jìn)制數(shù)減法調(diào)整指令十進(jìn)制數(shù)減法調(diào)整指令 格式為:格式為:AAS; B 該指令為該指令為ASCII碼十進(jìn)制數(shù)減法調(diào)整指令,對碼十進(jìn)制數(shù)減法調(diào)整指令,對在在AL中的兩個(gè)非組合的中的兩個(gè)非組合的ASCII碼相減后的結(jié)果進(jìn)行碼相減后的結(jié)果進(jìn)行校正,以產(chǎn)生正確的非組合的校正,以產(chǎn)生正確的非組合的ASCII碼相減的差。碼相減的差。 (3)乘法運(yùn)算)乘法運(yùn)算 MUL 無符號數(shù)的乘法指令無符號數(shù)的乘法指令 格式為:格式為:MUL OPRD; B/W IMUL 帶符號數(shù)的乘法指令帶符號數(shù)
28、的乘法指令 格式為:格式為:IMUL OPRD; B/W AAM ASCII碼十進(jìn)制碼十進(jìn)制乘法調(diào)整指令乘法調(diào)整指令 格式為:格式為: AAM(4)除法運(yùn)算)除法運(yùn)算 DIV 無符號數(shù)的除法指令無符號數(shù)的除法指令 格式為:格式為:DIV OPRD; B/W IDIV 帶符號數(shù)的除法指令帶符號數(shù)的除法指令 格式為:格式為:IMUL OPRD; B/W AAD ASCII碼十進(jìn)制碼十進(jìn)制除法調(diào)整指令除法調(diào)整指令 格式為:格式為: AAD CBW 將帶符號的字節(jié)數(shù)據(jù)擴(kuò)展為將帶符號的字節(jié)數(shù)據(jù)擴(kuò)展為 字?jǐn)?shù)據(jù)的指令字?jǐn)?shù)據(jù)的指令 格式為:格式為:CBW CWD 將帶符號的字節(jié)數(shù)據(jù)擴(kuò)展為將帶符號的字節(jié)數(shù)據(jù)擴(kuò)展
29、為 雙字?jǐn)?shù)據(jù)的指令雙字?jǐn)?shù)據(jù)的指令 格式為:格式為:CWD 3. 位位 處處 理理 指指 令令 模模 式式 系系 統(tǒng)統(tǒng) 8086指令系統(tǒng)提供了三組字節(jié)和字的指令系統(tǒng)提供了三組字節(jié)和字的位處理指令,分別為:邏輯運(yùn)算指令、移位處理指令,分別為:邏輯運(yùn)算指令、移位指令和循環(huán)移位指令。位指令和循環(huán)移位指令。 (1)邏輯運(yùn)算指令邏輯運(yùn)算指令 NOT 取反指令取反指令 格式為:格式為:NOT; B/W 執(zhí)行操作執(zhí)行操作: OPRD OPRD的反碼的反碼 該指令對源操作數(shù)各位取反,形成反碼,常用該指令對源操作數(shù)各位取反,形成反碼,常用于將某個(gè)數(shù)據(jù)先變成反碼,再加上于將某個(gè)數(shù)據(jù)先變成反碼,再加上1,便得到補(bǔ)碼。
30、,便得到補(bǔ)碼。 AND 相相“與與”指令指令 格式為:格式為:AND OPRD1, OPRD2; B/W 執(zhí)行操作執(zhí)行操作: OPRD1 OPRD1OPRD2 該指令對兩個(gè)操作數(shù)進(jìn)行按位邏輯該指令對兩個(gè)操作數(shù)進(jìn)行按位邏輯“與與”操作,操作,結(jié)果送回目的操作數(shù)。結(jié)果送回目的操作數(shù)。 OR 相相“或或”指令指令 格式為:格式為:OR OPRD1, OPRD2; B/W 執(zhí)行操作執(zhí)行操作: OPRD1 OPRD1OPRD2 該指令對兩個(gè)操作數(shù)進(jìn)行按位邏輯該指令對兩個(gè)操作數(shù)進(jìn)行按位邏輯“或或”操作,操作,結(jié)果送回目的操作數(shù)。結(jié)果送回目的操作數(shù)。 XOR 相相“異或異或”指令指令 格式為:格式為:XOR
31、 OPRD1, OPRD2; B/W 執(zhí)行操作執(zhí)行操作: OPRD1 OPRD1OPRD2 該指令對兩個(gè)操作數(shù)進(jìn)行按位邏輯該指令對兩個(gè)操作數(shù)進(jìn)行按位邏輯“異或異或”運(yùn)運(yùn)算,結(jié)果送回目的操作數(shù)。算,結(jié)果送回目的操作數(shù)。 TEST 檢測指令檢測指令 格式為:格式為:TEST OPRD1, OPRD2; B/W 執(zhí)行操作執(zhí)行操作: OPRD1OPRD2 該指令對兩個(gè)操作數(shù)進(jìn)行按位邏輯該指令對兩個(gè)操作數(shù)進(jìn)行按位邏輯“與與”操作,操作,修改標(biāo)志,但不回送結(jié)果,即執(zhí)行該指令后,兩個(gè)修改標(biāo)志,但不回送結(jié)果,即執(zhí)行該指令后,兩個(gè)操作數(shù)都不變。操作數(shù)都不變。(2)移位指令移位指令 SAL/SHL 左移指令左移指
32、令 格式為:格式為:SAL/SHL OPRD, CNT; B/W SAL和和SHL這兩條指令的功能完全一樣,實(shí)這兩條指令的功能完全一樣,實(shí)際上是同一條指令,實(shí)現(xiàn)對字節(jié)或字中各位進(jìn)行左際上是同一條指令,實(shí)現(xiàn)對字節(jié)或字中各位進(jìn)行左移,右端補(bǔ)零,左移的位數(shù)由計(jì)數(shù)值移,右端補(bǔ)零,左移的位數(shù)由計(jì)數(shù)值CNT規(guī)定。規(guī)定。 SHR 右移指令右移指令 格式為:格式為:SHR OPRD, CNT; B/W SHR指令對操作數(shù)(字或字節(jié))中各位進(jìn)行指令對操作數(shù)(字或字節(jié))中各位進(jìn)行右移,右移位數(shù)由計(jì)數(shù)值右移,右移位數(shù)由計(jì)數(shù)值CNT規(guī)定。執(zhí)行一次移位,規(guī)定。執(zhí)行一次移位,操作數(shù)右移移位,最低位進(jìn)入標(biāo)志操作數(shù)右移移位,
33、最低位進(jìn)入標(biāo)志CF,最高位補(bǔ),最高位補(bǔ)0,進(jìn)位位進(jìn)位位CF的原來值丟失。的原來值丟失。 SAR 右移指令右移指令 格式為:格式為:SAR OPRD, CNT; B/W SAR指令對操作數(shù)(字或字節(jié))中各位進(jìn)行指令對操作數(shù)(字或字節(jié))中各位進(jìn)行右移,右移位數(shù)由計(jì)數(shù)值右移,右移位數(shù)由計(jì)數(shù)值CNT規(guī)定。執(zhí)行一次移位,規(guī)定。執(zhí)行一次移位,操作數(shù)右移移位,最低位進(jìn)入標(biāo)志操作數(shù)右移移位,最低位進(jìn)入標(biāo)志CF,最高位保,最高位保持不變,進(jìn)位位持不變,進(jìn)位位CF的原來值丟失。的原來值丟失。(3) 循環(huán)移位指令循環(huán)移位指令 ROL 循環(huán)左移指令循環(huán)左移指令 格式為:格式為:ROL OPRD, CNT; B/W ROL指令對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高新技術(shù)企業(yè)公司管理協(xié)議書3篇
- 二零二五年度環(huán)保產(chǎn)業(yè)投資全新期權(quán)合同3篇
- 2025年度辦公樓智能化辦公環(huán)境工裝裝飾施工合同2篇
- 二零二五年度寵物寄養(yǎng)寵物寵物用品銷售服務(wù)協(xié)議2篇
- 2025年度車庫租賃合同模板(含車位租賃與停車場智能化改造)3篇
- 二零二五年度公司股東內(nèi)部關(guān)于企業(yè)對外投資決策的共識協(xié)議3篇
- 2025年度公司管理人員離職交接與聘用合同3篇
- 二零二五年度農(nóng)村土地墳地租賃與祭祀活動管理合同2篇
- 2025年度養(yǎng)殖產(chǎn)業(yè)互聯(lián)網(wǎng)平臺合作協(xié)議3篇
- 2025年度農(nóng)機(jī)購置服務(wù)包合同2篇
- 車膜品牌推廣方案
- 消化道出血的PBL教學(xué)查房
- 2024年小學(xué)四年級數(shù)學(xué)上冊??家族e題綜合測評卷
- 小學(xué)數(shù)學(xué)五年級下冊通分練習(xí)100題附答案
- 湖南省張家界市慈利縣2023-2024學(xué)年六年級上學(xué)期期末考試綜合(道德與法治、科學(xué))試題
- 工程項(xiàng)目管理(三控三管一協(xié)調(diào))
- 游戲機(jī)策劃方案
- 2024消防安全基礎(chǔ)知識培訓(xùn)課件
- 《小兒留置導(dǎo)尿管》課件
- 粵教版科學(xué)四年級上冊全冊試卷(含答案)
- 宮腔鏡診治規(guī)范
評論
0/150
提交評論