国产精品一区二区x88av_日韩三级av高清片_亚洲日本久久_丝袜亚洲另类丝袜在线

浙江自考網(wǎng)

咨詢熱線

15700080354 (點擊在線咨詢)
您現(xiàn)在的位置:浙江自考網(wǎng)>復習資料 > 正文
自考攻略

2023年4月浙江自考微機原理與接口技術(shù)復習資料:8086微處理器指令系統(tǒng)

時間:2023-02-10 09:01:39 作者:儲老師

自考助學 以下自考復習資料均由浙江自考網(wǎng)整理并發(fā)布,考生想要了解更多關于浙江自考報名、考試、成績查詢、畢業(yè)、歷年真題、常見問答等相關信息請關注浙江自考網(wǎng),獲取浙江自考更多信息。


8086的匯編級指令有115條,可以分為數(shù)據(jù)傳送指令、算術(shù)運算指令、位處理指令

字符串指令、程序轉(zhuǎn)移指令以及處理器控制指令等6大類,下面作一簡要的介紹。

2.4.1 數(shù)據(jù)傳送指令

數(shù)據(jù)傳送指令有14條,可以分為4組,如表2-9所示。

表2-9 數(shù)據(jù)傳送指令

通用數(shù)據(jù)傳送指令

地址目標傳送指令

MOV

PUSH

POP

XCHG

XLAT

傳送字節(jié)或字
字進棧
字出棧
交換字節(jié)或字
字節(jié)轉(zhuǎn)換

LEA
LDS
LES

裝入有效地址
將指針變量裝入寄存器及DS
將指針變量裝入寄存器ES

I/O指令

標志傳送指令

IN
OUT

輸入字節(jié)或字
輸出字節(jié)或字

LAHF
SAHF
PUSHF
POPF

標志寄存器低字節(jié)送AH
AH
值送標志寄存器低字節(jié)

標志寄存器內(nèi)容進棧
標志寄存器內(nèi)容出棧

1.注意點

(1)在數(shù)據(jù)傳送指令中要注意:

①立即數(shù)只能作為源操作數(shù);

②無存儲器之間直接傳送與交換的指令;

③不能用傳送指令給CS和IP置新指值;

④沒有用立即數(shù)對段寄存器直接置值的指令。

(2)除SAHF和POPF指令外,傳送指令皆不影響標志寄存器的值。

(3)除XCHG、XLAT指令外,皆不破壞源操作數(shù)。

(4)XCHG指令不能用段寄存器作為操作數(shù)。

(5)棧操作指令PUSH和POP必須以字為操作數(shù)。

2.幾條指令的說明

(1)指令MOV AL,VAR1。若VAR1為已定義的變量,則VAR1在指令中表示以VAR1為地址的內(nèi)存單元的內(nèi)容,該指令是把內(nèi)存單元的一個字節(jié)傳送到AL。

(2)指令XLAT。其功能為AL←[(BX)+(AL)]即以BX值加上AL值作為地址,取出該地址對應的內(nèi)存內(nèi)容送AL。該指令通常用于表格檢索中,源操作數(shù)中BX內(nèi)放表的首地址,AL中存放變址值,(BX)+(AL)為新地址,目的操作數(shù)AL注明為字節(jié)操作。在使用該指令前,必須先對AL和BX賦值。

(3)指令LEA REG,SRC。要求源操作數(shù)SRC是一個可以計算出有效地址EA的地址表達式,該指令所傳送的是變量的地址(有效地址),而不是變量所表示的內(nèi)存之值。

(4)指令LES REG,SRC。REG為一個16位寄存器,這是一條16位傳送指令。

其功能為REG←[SRC],ES←[SRC+2]

而指令LDS REG,SRC的第二個目的操作數(shù)在DS。

(5)輸入/輸出指令。

IN AL,PORTAL←[PORT]

IN AX,F(xiàn)ORTAX←[PORT+1:PORT]

IN AL,DXAL←[PORTDX]

INAX, DXAX←[PORTDX+1:PORTDX]

PORT為8位端口地址,PORTDX表示DX中存放16位端口地址。[PORT+1:PORT]表示一個16位數(shù)據(jù),其高8位由PORT+1端口提供;其低8位由PORT端口提供。

2.4.2 算術(shù)運算指令

算術(shù)運算指令有20條,可以分為4組,如表2-10所示。

表2-10 算術(shù)運算指令

加法指令

減法指令

ADD

ADC
INC
AAA
DAA

加法
帶進位的加法
增量
加法的ASCII修正
加法的十進制修正

SUB
SBB
DEC
NEG
CMP
AAS
DAS

減法
帶錯位的減法
減量
求補
比較
減法的ASCII修正
減法的十進制修正

I/O指令

除法指令

IN
OUT

輸入字節(jié)或字
輸出字節(jié)或字

span
Ispan
AAD
CBW
CWD

無符號數(shù)除法
整數(shù)除法
除法的ASCII修正
字節(jié)轉(zhuǎn)換為字
字轉(zhuǎn)換為雙字

1.數(shù)據(jù)類型

8086的算術(shù)運算可以處理4種類型的數(shù):無符號二進制數(shù)、帶符號二進制數(shù)、壓縮的BCD碼(十進制數(shù))和非壓縮的BCD碼(十進制數(shù)),如表2-11所示。

表2-11 8位數(shù)在算術(shù)運算中的含義

HEX十六進制

位組合格式

無符號二進制數(shù)

帶符號二進制數(shù)

壓縮的BCD

非壓縮的BCD

07
89
C5

00000111
10001001
11000101

7
137
197

+7
-119
-59

7
89
無效

7
無效

無效

2.注意點

(1)加減運算指令ADD、ADC、SUB、SBB和CMP可用立即數(shù)作為一個源操作數(shù)。(2)除CBW和CWD兩條指令外,其余算術(shù)運算指令皆影響標志位。

(3)增量指令INC及減量指令DEC不影響標志CF。

(4)乘法指令MUL及IMUL是執(zhí)行源操作數(shù)和累加器值(AX或AL)的和乘,若源操作數(shù)是一個字節(jié),則累加器為AL,相乘結(jié)果需用雙字節(jié)表示時,存放在AX中;若源操作數(shù)是一個字,則累加器為AX,相乘結(jié)果需用雙字表示時,存放在DX:AX中,DX中存放高位字,AX中存放低位字。此時,將使標志位CF=OF=l;否則,CF=OF=0。其余標志都不確定。

(5)除法指令span和Ispan的操作過程為:

[AX] /源操作數(shù)(字節(jié))→[AH]為余數(shù),[AL]為商;

[DX]:[AX]/源操作數(shù)(字)→[DX]為余數(shù),[AX]為商。

除法指令運算結(jié)果6個狀態(tài)標志皆不確定。

(6)算術(shù)運算指令中是字節(jié)運算還是字運算由出現(xiàn)在操作數(shù)表達式中變量名的類型屬性決定,或由寄存器操作數(shù)的字長決定。

(7)加法和減法指令中操作數(shù)是帶符號數(shù)還是無發(fā)好數(shù)有程序員解釋。

(8)十進制修正指令DAA及DAS中無操作數(shù)出現(xiàn),但其隱含的操作數(shù)是AL,切源和目的操作數(shù)都是AL。二進制運算后AL的內(nèi)容以及CF和AF的狀態(tài)是十進制修正的依據(jù),因此在BCD碼的加減運算中,應在二進制加法或減法指令后緊跟一條DAA或DAS指令。

(9)當非壓縮的 BCD碼進行算術(shù)運算時,低半字節(jié)為8888B~1001B,高半字節(jié)為0000B,對于除法運算,被除數(shù)應在AX中,切AH、AL都是一字節(jié)的非壓縮BCD碼。

(10)ASCII修正指令AAA、AAS以及AAM用于二進制加法、減法及乘法指令之后,而AAD指令用于二進制除法指令之前,即用AAD指令對被除數(shù)先行修正。

2.4.3 位處理指令

位處理指令有13條,可以分為3組,如表2-12所示:

表2-12 位處理指令

邏輯運算指令

移位指令

循環(huán)移位指令

AND
OR
NOT
XOR
TEST

邏輯“與”
邏輯“或”
邏輯“非”
邏輯“異或”
測試

SHL
SAL
SHR
SAR

邏輯左移
算術(shù)左移
邏輯右移
算術(shù)右移

ROL
ROR
RCL
RCR

循環(huán)左移
循環(huán)右移
通過CF循環(huán)左移
通過CF循環(huán)右移

1.指令功能簡介

(1)邏輯“與”指令AND用來清除或保留目的操作數(shù)中某些位,欲清除的位同“0”相“與”,稱為“屏蔽”;欲保留的位同“1”相“與”;自身相“與”其值不變,但CF清零。

(2)邏輯“或”指令OR用來進行數(shù)的組合,同“0”相“或”,其值不變;同“1”相“或”,則置“1”;自身相“或”,其值不變,但CF清零。

(3)邏輯“異或”指令XOR可用來將目的操作數(shù)中某些位取反或保持不變。同“0”相“異或”,其值不變;同“1”相“異或”,其值取反;自身相“異或”,則清零。且CF也清零。

(4)測試指令TEST用來測試目的操作數(shù)中某一位是否為“1”,實際上執(zhí)行邏輯“與”

操作,但結(jié)果不回送,只是根據(jù)結(jié)果修改標志寄存器。

(5)算術(shù)右移指令SAR執(zhí)行后符號位保持不變,右移1次完成帶符號數(shù)除2朝小取整操作。

2.注意點

(1)位處理指令的操作數(shù)可以是字節(jié),也可以是字。

(2)求反指令NOT的操作數(shù)不能是立即數(shù),其它邏輯指令只有源操作數(shù)可以是立即數(shù)。

(3)求反指令NOT不影響任何標志位,其余邏輯指令使CF=OF=0,AF不確定,SF、ZF、PF由運算結(jié)果定。

(4)循環(huán)移位指令和移位指令中的操作數(shù)COUNT只能為1或CL;目的操作數(shù)不能為立即數(shù)(當移位次數(shù)為1時,COUNT=1,否則COUNT=CL)。

(5)移位指令和循環(huán)移位指令影響CF,移位指令還影響PF、SF和ZF,當移位計數(shù)值為1時OF有意義。

2.4.4 程序轉(zhuǎn)移指令

程序轉(zhuǎn)移指令有28條,可以分為4組如表2-13所示。

表2-13 程序轉(zhuǎn)移指令

無條件轉(zhuǎn)移指令

CALL

調(diào)用過程

RET

從過程返回

JMP

轉(zhuǎn)移

條件轉(zhuǎn)移指令

JA/JNBE

高于/不低于等于,轉(zhuǎn)移

JAE/JNB

高于或等于/不低于,轉(zhuǎn)移

JB/JNAE

低于/不高于等于,轉(zhuǎn)移

JBE/JNA

低于或等于/不高于,轉(zhuǎn)移

JC

有進位(錯位),轉(zhuǎn)移

JE/JZ

等于/為零,轉(zhuǎn)移

JG/JNLE

大于/不小于等于,轉(zhuǎn)移

JGE/JNL

大于或等于/不小于,轉(zhuǎn)移

JL/JNGE

小于/不大于等于,轉(zhuǎn)移

JLE/JNG

小于或等于/不大于,轉(zhuǎn)移

JNC

無進位(借位),轉(zhuǎn)移

JNE/JNZ

不等于/不為零,轉(zhuǎn)移

JNO

不溢出,轉(zhuǎn)移

JNP/JPO

PF為“0/奇狀態(tài),轉(zhuǎn)移

JNS

SF為“0”,轉(zhuǎn)移

JO

溢出,轉(zhuǎn)移

JP/JPE

PF為“1/偶狀態(tài),轉(zhuǎn)移

JS

SF為“1”,轉(zhuǎn)移


重復控制指令

LOOP

循環(huán)

LOOPE/LOOPZ

等于/為零,循環(huán)

LOOPNE/LOOPNZ

不等于/不為零,循環(huán)

JCXZ

寄存器CX=0,則轉(zhuǎn)移

中斷指令

INT

中斷

NITO

溢出中斷

IRET

中斷返回

條件轉(zhuǎn)移指令共有30條,這些指令根據(jù)執(zhí)行指令時CPU標志寄存器的狀態(tài)決定是否控制程序轉(zhuǎn)移,每條指令的測試條件如表2-14所示.若滿足條件,則將控制轉(zhuǎn)移到指令所規(guī)定的目標;若條件不滿足,則繼續(xù)順序執(zhí)行。所有的條件轉(zhuǎn)移指令都是段內(nèi)轉(zhuǎn)移,且是短距離的,即目標必須在當前指令段內(nèi),且與下一條指令的第一個字節(jié)的距離在-128~+127個字節(jié)內(nèi)。

表2-14 條件轉(zhuǎn)移指令的說明










JAE/JNB

CF=0

JB/JNAE

CF=1

JC

CF=1

JNC

CF=0

JE/JZ

ZF=1

JNE/JNZ

ZF=0

JNO

OF=0

JO

OF=1

JNP/JPO

PF=0

JP/JPE

PF=1

JNS

SF=0

JS

SF=1




數(shù)

JGE/JNL

SFOF=0

JL/JNEG

SFOF=1

JG/JNLE

(SFOF+ZF)=0

JLE/JNG

(SFOF+ZF)=1

多標志位不
帶符號數(shù)

JA/JNBE

(CF+ZF)=0

JBE/JNA

(CF+ZF)=1

2.無條件轉(zhuǎn)移指令

(1)JMP指令。JMP指令無條件地將控制轉(zhuǎn)移到目標單元,該指令中只有一個操作數(shù),用來指定程序應在哪里繼續(xù)下去。可以實現(xiàn)“段內(nèi)轉(zhuǎn)移”(包括短轉(zhuǎn)移和長轉(zhuǎn)移)以及“段間轉(zhuǎn)移”;而目的操作數(shù)的地址可以從指令本身獲得(“直接轉(zhuǎn)移”),也可以從指令所規(guī)定的存儲器或寄存器中獲得(“間接轉(zhuǎn)移”)。

(2)CALL指令O CAL指令用來調(diào)用一個“過程”(子程序),其格式與JMP指令相似,該指令與JMP指令的區(qū)別是:執(zhí)行該指令時,必需有一個保存斷點的過程,即將CALI一指令的下一條指令的偏移地址(若為段間調(diào)用,還需加上CS值)保存進棧,以供返回之用。

(3)RET指令。RET指令的功能是控制從一個過程返回到調(diào)用該過程的CALL指令之后的那條指令,即返回斷點。

3.重復控制指令

重復控制指令可以用來管理軟件循環(huán)的重復過程,這些指令都用CX寄存器作為計數(shù)器,先判CX-1是否為零,不為零轉(zhuǎn)移到目標地址,其目標地址都是相對于該指令本身而言,其間距離只能在-128~+127字節(jié)范圍,即它們都是短距離轉(zhuǎn)移指令。

4.中斷指令

中斷指令用來允許程序和外部硬設備啟動中斷服務程序,若中斷是由軟件及不可屏蔽中

斷產(chǎn)生,則微處理器不執(zhí)行中斷響應周期。

2.4.5 字符串指令

字符串指令有10條,如表2-15所示。

表2-15 字符串指令

REP

重復

REPE/REPZ

等于/為零時重復

REPNE/REPNZ

不等于/不為零時重復

MOVSMOVSBMOVSW

串傳送(字節(jié)/字)

CMPSCMPSBCMPSW

串比較(字節(jié)/字)

SCASSCASBSCASW

串掃描(字節(jié)/字)

LODSLODSBLODSW

取出串(字節(jié)/字)

STOSSTOSBSTOSW

存入串(字節(jié)/字)

1.字符串指令的共性介紹

在字符串指令中一般有兩個操作數(shù)——源操作數(shù)和目的操作數(shù),還可使用重復前綴REP等以及重復次數(shù)計數(shù)器。在字符串操作中,寄存器和標志的用途如表2-16所示。

表2-16 字符串指令中寄存器和標志的用法

寄存器/標志

用途

SI

源字符串的變址值(偏移量)

DI

目的字符串的變址值(偏移量)

CX

重復次數(shù)計數(shù)器

AL/AX

掃描值

LODS指令的目的操作數(shù)

STOS指令的源操作數(shù)

DF

=0SIDI自動增量

=1SIDI自動減量

ZF

掃描/比較結(jié)束符

2.重復前綴

重復前綴REP、REPZ/REPE和REPNZ/REPNE用來控制其后字符串指令是否重復執(zhí)行,重復前綴不影響標志。重復的字符串處理過程可被中斷,微處理器將在處理宇符串的下一個元素之前識別中斷。系統(tǒng)的中斷處理不受影響,在從中斷返回以后,重復過程再從中斷處繼續(xù)執(zhí)行下去。

當執(zhí)行REP MOVSB指令時,若CX≠0執(zhí)行MOVSB,然后CX-1,再判CX是否為零,若不為零,重復執(zhí)行MOVSB,直至CX=0,結(jié)束串操作。

2.4.6 處理器控制指令

處理器控制指令有12條,可分為3組,如表2-17所示。
表2-17 處理器控制指令

標志操作指令

外同步指令

STC

進位標志置1

HLT

暫停直至中斷或復位

CLC

進位標志置0

WAIT

等待TEST信號有效

CMC

進位標志取反

ESC

交權(quán)給外部處理機

STD

方向標志置1

LOCK

在下一條指令期間封鎖總線

CLD

方向標志置0

空操作指令

STI

中斷允許標志置1

NOP

空操作

CLI

中斷允許標志置0

聲明:

(一)由于考試政策等各方面情況的不斷調(diào)整與變化,本網(wǎng)站所提供的考試信息僅供參考,請以權(quán)威部門公布的正式信息為準。

(二)本網(wǎng)站在文章內(nèi)容來源出處標注為其他平臺的稿件均為轉(zhuǎn)載稿,免費轉(zhuǎn)載出于非商業(yè)性學習目的,版權(quán)歸原作者所有。如您對內(nèi)容、版權(quán)等問題存在異議請與本站聯(lián)系,我們會及時進行處理解決。

報名提醒

【考試時間:10月25-26日】

浙江自考服務中心

  • 微信公眾號
  • 考生交流群
  • 微信公眾號 掃一掃加關注微信公眾號

    與考生自由互動、并且能直接與專業(yè)老師進行交流解答。

  • 考生交流群 掃一掃加入微信交流群

    與考生自由互動、并且能直接與專業(yè)老師進行交流解答。

主站蜘蛛池模板: 女性| 赤峰市| 禄丰县| 象山县| 石泉县| 青州市| 龙山县| 荥阳市| 大邑县| 微山县| 鄂伦春自治旗| 桐城市| 蛟河市| 许昌市| 禄劝| 大洼县| 镇坪县| 通州区| 济宁市| 台中市| 奉贤区| 磐安县| 浠水县| 远安县| 石屏县| 丁青县| 巴青县| 巩义市| 隆化县| 读书| 永善县| 凯里市| 灵宝市| 乌鲁木齐县| 北京市| 鄢陵县| 永善县| 孝义市| 江永县| 体育| 醴陵市|

關注公眾號

回復“免費資料”領取復習資料

微信公眾號

微信公眾號

微信公眾號

微信交流群

<<點擊收起

在線咨詢

在線咨詢

APP

APP
下載

man
聯(lián)系
微信
wxlogo
掃描
二維碼
反饋建議
反饋
建議
回到頂部
回到
頂部
app
微信客服
 微信公眾號