




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式1第3章 指令系統(tǒng)和尋址方式3.1 概述3.2 80 x86的尋址方式3.3 80 x86的指令系統(tǒng)開開 始始第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式21.1.指令系統(tǒng)和指令系統(tǒng)和尋址方式尋址方式指令系統(tǒng):計算機是通過執(zhí)行指令序列來解決問題的,因而每種計算機都有一組指令集供給用戶使用,這組指令集就成為計算機的指令系統(tǒng)。尋址方式:CPU在處理一條指令時,必須從指令碼中得到兩種信息(1)執(zhí)行什么操作?(2)從哪里得到操作數(shù)?尋找尋找指令中操作數(shù)的方式(數(shù)據(jù)尋址)或尋指令中操作數(shù)的方式(數(shù)據(jù)尋址)或尋找指令轉移地址的方式(程序存儲器尋找
2、指令轉移地址的方式(程序存儲器尋址),即尋址方式址),即尋址方式。 第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式32.2.計算機中指令的格式(組成)計算機中指令的格式(組成)操作碼字段:指示計算機將要執(zhí)行的操作操作數(shù)字段:指出在指令執(zhí)行操作的過程中所需要的操作數(shù)。如加法指令除需要指定做加法操作外,還需提供加數(shù)和被加數(shù)。 操作數(shù)字段可以有一個、兩個或三個,通常稱為一地址、二地址或三地址指令。80 x86的大多數(shù)運算型指令用的是二地址指令,少數(shù)使用三地址指令。第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式43.803.80 x86CPUx86CPU的指令系統(tǒng)的基本指令的指令系統(tǒng)的基本
3、指令 包括數(shù)據(jù)傳送類指令、算術運算類指令、位操作類指令、串操作類指令、控制轉移類指令、處理機控制類指令。第三節(jié)將分別介紹這些指令的語句格式和功能。第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式54.80864.8086CPUCPU的指令的共同的規(guī)律的指令的共同的規(guī)律 大多數(shù)數(shù)據(jù)傳送類指令、算術運算類指令、位操作類指令及串操作類指令,其雙操作數(shù)指令有相同的語句格式和操作規(guī)定。 語句格式:標號: 操作符 OPD, OPS ;注釋算術運算和位操作類指令的部分單操作數(shù)指令有相同的語句格式和操作規(guī)定。語句格式:標號: 操作符 OPD ;注釋第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式63.
4、2 803.2 80 x86x86的尋址方式的尋址方式3.2.1 與數(shù)據(jù)有關的尋址方式3.2.2 與轉移地址有關的尋址方式第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式73.2.1 3.2.1 與數(shù)據(jù)有關的尋址方式與數(shù)據(jù)有關的尋址方式立即尋址寄存器尋址偏移地址直接尋址寄存器間接尋址變址尋址基址變址尋址第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式81.1.立即尋址立即尋址立即尋址方式中,指令操作碼和操作數(shù)都在存儲器代碼段中。匯編格式:n(n為立即操作數(shù),是用8位或16位二進制補碼表示的有符號數(shù))功能:操作數(shù)存放在存儲器,指令操作碼下一單元的內容為立即操作數(shù)n。即操作數(shù)的地址是與指令
5、操作碼相鄰的下一單元的地址。圖形表示: 第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式9【例例1 1】MOV AX,3064H指令執(zhí)行之后,(AX)3064HOPOP64643030儲存器儲存器. . . . . . .代碼段代碼段指令指令AXAX第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式102. 2. 寄存器尋址寄存器尋址該尋址方式的操作數(shù)在指令指明的寄存器中。匯編格式:R (R表示寄存器名/號)。功能:操作數(shù)直接存放在寄存器R中。圖形表示:寄存器號操作數(shù)指令寄存器第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式11【例例2 2】ADD AX,BX執(zhí)行前:( AX)=12
6、34H,(BX)=5620H執(zhí)行: (AX)+ (BX) AX執(zhí)行后:(AX) = 6854H,(BX)內容不變 第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式12【以上兩種綜合舉例】 下列程序執(zhí)行后,(AX)=?,(BX)=? MOV AX,1234H MOV BX,5678H ADD AX,BX該程序中MOV指令為數(shù)據(jù)傳送指令操作符,ADD指令為加法指令操作符,三條指令皆為雙操作數(shù)指令。第一、二條指令AX、BX皆為目的操作數(shù)地址,為寄存器尋址方式。第三條指令中,AX為目的操作數(shù)地址,BX為源操作數(shù)地址。源地址和目的地址皆為寄存器尋址方式。第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋
7、址方式13圖形表示:執(zhí)行:1234HAX 5678HBX (AX)+(BX)AX執(zhí)行后:(AX)=68ACH,(BX)=5678H第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式14偏移地址(有效地址EA)位移量:存放在指令中的一個8位、16位或32位的數(shù),但不是立即數(shù),而是一個地址?;罚捍娣旁诨芳拇嫫髦械膬热?。通常用來指向數(shù)據(jù)段中數(shù)組或字符串的首地址。變址:存放在變址寄存器中的內容。通常用來訪問數(shù)組中的某個元素或字符串中的某個字符。比例因子:是386及其后繼機型新增加的尋址方式的一個術語,其值可以是1,2,4,8。EA基址(變址比例因子)位移量第第3 3章章 指令系統(tǒng)和尋址方式指令系
8、統(tǒng)和尋址方式15 后面的幾種尋址方式中的操作數(shù)都在除代碼段以外的存儲器區(qū)中,因此要解決的問題就是如何取得操作數(shù)的偏移地址,從而得到物理地址,進而取出操作數(shù)。注意:80 x86中為了使指令字不要過長,規(guī)定雙操作數(shù)指令的兩個操作數(shù)中,只能有一個使用存儲器尋址方式,這就是為什么一個變量常常要先送到寄存器的原因。第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式163. 3. 直接尋址直接尋址匯編格式:含有變量的地址表達式。段寄存器名:EA 。功能:指令操作碼下一個字單元的內容是操作數(shù)的偏移地址EA。圖形表示:第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式17【例例3 3】 寄 存 器 和 存
9、 儲 器 內 容 為 : ( A X )=1212H,BUF為數(shù)據(jù)段定義的變量,其偏移地址是2000H,(DS)=3000H,(32000H)=3050H。執(zhí)行指令:MOV AX ,BUF執(zhí)行后:(AX)=?第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式18OPOP2000H2000H3000H3000H左移4位32000H32000H3050H3050H圖形表示:執(zhí)行:(32000H)AX執(zhí)行后:(AX)=3050H第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式194. 4. 寄存器間接尋址寄存器間接尋址寄存器間接尋址方式中,寄存器的內容為操作數(shù)的偏移地址EA,操作數(shù)在存儲器中。
10、匯編格式:R功能:操作數(shù)存放在存儲器,寄存器R存放操作數(shù)的偏移地址EA。第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式20偏移地址偏移地址EA計算方法如下:計算方法如下:EA=SISI作間址寄存器。 DIDI作間址寄存器。BX BX作間址寄存器。BP BP作間址寄存器。第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式21執(zhí)行指令:MOV AX ,BP 執(zhí)行后:(AX)=?,(BP)=?,(SS)=?,(20030H)=?圖形表示如下: 【例【例4】寄存器和存儲器內容分別為:(】寄存器和存儲器內容分別為:(AX)=0,(,(BP)=0030H,(,(SS)=2000H,(20030H)
11、=1234H第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式225. 5. 變址尋址變址尋址變址尋址方式操作數(shù)的偏移地址EA為寄存器的內容加位移量,操作數(shù)在存儲器中。匯編格式:XR(X表示位移量)功能:操作數(shù)存放在存儲器,寄存器R的內容加位移量X為操作數(shù)的偏移地址EA。圖形表示如下:第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式23第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式24偏移地址EA計算方法如下:第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式25【例例5 5】 設執(zhí)行前: (AX)=0040H,(BX)=0030H,(DS)=2000H,(20036H)=005
12、0H 執(zhí)行指令:ADD 6BX,AX執(zhí)行后:(AX)=?,(BX)=?,(DS)=?,(20036H)=?圖形表示如下: 第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式26執(zhí)行:(執(zhí)行:(20036H)+(AX) 20036H執(zhí)行后:(執(zhí)行后:(AX)=0040H,(,(BX)=0030H,(DS)=2000H,(,(20036H)=0090H。第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式276. 6. 基址加變址尋址基址加變址尋址基址加變址尋址方式中,操作數(shù)的偏移地址EA是指令中基址寄存器內容、變址寄存器內容、位移量三項之和,操作數(shù)在存儲器中。匯編格式:X BR+IR功能:操作
13、數(shù)存放在存儲器,BR的內容加IR的內容加位移量X是操作數(shù)的偏移地址EA。圖形表示:第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式28第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式29【例例6 6】 執(zhí)行前:(AX)=45H,(BX)=30H,(SI)=20H,(DS)=1000H,(10058H)=99H 執(zhí)行指令:MOV AX,8BX+SI 執(zhí)行后:(AX)=?,(BX)=?, (SI)=? ,(DS)=?,(10058H)=?圖形表示如下: 第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式30指令指令8H8H1000H1000H左移4位10058H10058H99H99H3
14、0H30H20H20HBXBXSISI58H58H執(zhí)行后:執(zhí)行后:(AX)=99H,(BX),(SI),(DS),(10058H)未變未變 第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式31操作數(shù)偏移地址EA計算方法如下返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式32跨段問題按前述規(guī)定:若選用BP作間址基址寄存器、變址寄存器或基址寄存器,則操作數(shù)在堆棧段,操作數(shù)的物理地址PA由堆棧段寄存器SS的內容左移4位與偏移地址EA相加后形成;否則,操作數(shù)在數(shù)據(jù)段,操作數(shù)的物理地址PA由數(shù)據(jù)段寄存器DS的內容左移4位與偏移EA相加后形成。該規(guī)定為系統(tǒng)默認狀態(tài)。當要否定默認狀態(tài)
15、,到非約定段尋找操作數(shù)時,必須用跨段前綴指明操作數(shù)的段寄存器名。匯編格式:段寄存器名:操作數(shù)地址。功能:段寄存器名指明操作數(shù)屬哪個段。 第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式33【例7】跨段前綴示例。 MOV AX,DS:BP MOV CX,SS:SI 該例中,DS:,SS:均為跨段前綴,此時默認狀態(tài)無效,操作數(shù)的物理地址PA由段寄存器內容左移4位加偏移EA形成。上述2條指令的源操作數(shù)物理地址分別為:PA1 =(DS)左移4位+BPPA2 =(SS)左移4位+SI第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式34尋址方尋址方式式操作數(shù)地址(操作數(shù)地址(PA)指令格式舉例指令
16、格式舉例立 即 尋立 即 尋址址操作數(shù)由指令給出操作數(shù)由指令給出MOV DX,100H ;(DX)100H寄 存 器寄 存 器尋址尋址操作數(shù)在寄存器中操作數(shù)在寄存器中ADD AX,BX ;(AX)(AX)+(BX)直 接 尋直 接 尋址址操作數(shù)的有效地址由指令直操作數(shù)的有效地址由指令直接給出接給出MOV AX,100HMOV AX,VAR;AX(100H)或(或(VAR)寄 存 器寄 存 器間 接 尋間 接 尋址址PA=(DS)16+(SI)/(DI或或BX)或或=(SS)16+(BP)MOV AX,BX;(AX)(DS)16+(BX)變 址 尋變 址 尋址址PA=(DS)16+(SI)/(D
17、I或或BX)+位移量位移量或或=(SS)16+(BP) +位移量位移量MOV AL,MESSSI;AL(DS)16+(SI)+OFFSET MESS基 址 變基 址 變址尋址址尋址PA=(DS)16+(BX)+(SI)/(DI)+位移量位移量或或 = ( S S ) 1 6 + ( B P ) +(SI)/(DI)+位移量位移量MOV AX,BUFFBXDI;(AX)(DS)16+(BX)+(DI)+ OFFSET BUFF尋址方式小結尋址方式小結第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式353.2.2 3.2.2 與轉移地址有關的尋址方式與轉移地址有關的尋址方式段內直接尋址段內間接
18、尋址段間直接尋址段間間接尋址 這種尋址方式用來確定轉移指令及CALL指令的轉向地址,即是求IP指向的位置第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式363.3 3.3 80 x86的指令系統(tǒng)3.3.1 數(shù)據(jù)傳送指令3.3.2 算術指令3.3.3 邏輯指令3.3.4 串處理指令 習題講解 3.3.5 控制轉移指令3.3.6 處理機控制與雜項操作指令第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式373.3.1 3.3.1 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令通用數(shù)據(jù)傳送指令累加器專用傳送指令地址傳送指令標志寄存器傳送指令類型轉換指令返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址
19、方式38一、通用數(shù)據(jù)傳送指令一、通用數(shù)據(jù)傳送指令MOV 傳送PUSH 進棧POP 出棧XCHG 交換第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式39語句格式:MOV DST,SRC功能:將源操作數(shù)傳送入目的地址,源地址內容不變。即(SRC)(DST)。下圖3.1描述了MOV指令在傳送數(shù)據(jù)時允許傳送的路徑及類型。1 1傳送指令傳送指令MOVMOV第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式40圖圖3.1 MOV指令所允許的數(shù)據(jù)傳送路徑及類型指令所允許的數(shù)據(jù)傳送路徑及類型第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式41【例8】存儲器與寄存器間數(shù)據(jù)傳送。MOV AX,BUF
20、;BUF是變量,源操作數(shù)為直接尋址MOV BH,DI ;源操作數(shù)為寄存器間接尋址MOV DI,ES:3SI ;源操作數(shù)為變址尋址,使用跨段前綴MOV BP,3BX+SI ;源操作數(shù)為基址加變址尋址MOV BUFA,DL;BUFA是一字節(jié)變量MOV BP,AX;使用SS段寄存器MOV DS:BP,DL;使用跨段前綴MOV BUF,DS;BUF是個字變量MOV ES ,BUF第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式422 2進棧指令進棧指令PUSHPUSH語句格式: PUSH SRC功能:將寄存器、段寄存器或存儲器中的一個字數(shù)據(jù)壓入堆棧,堆棧指針減2(對16位指令而言)。執(zhí)行操作:(S
21、P)(SP)-2 (SP)+1, (SP)(SRC)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式433 3出棧指令出棧指令POPPOP語句格式: POP DST功能: 將棧頂元素彈出送至某一寄存器、段寄存器(除CS外)或存儲器,棧頂指針加2。從POP指令功能可看出,該指令為PUSH指令的逆過程。即: (DST)(SP)+1, (SP) (SP)(SP)+2第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式44舉例書上51頁問題:例3.30執(zhí)行出棧指令后,數(shù)據(jù)2107H還在堆棧中嘛?第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式454 4數(shù)據(jù)交換指令數(shù)據(jù)交換指令XCHGXCHG語
22、句格式:XCHG OPR1,OPR2功能:將兩個操作數(shù)的內容互換。即(OPR1)(OPR2),(OPR2) (OPR1) ?!纠?】寄存器與寄存器之間數(shù)據(jù)交換。MOVAX,5678H ;(AX)=5678HMOVBX,0FFFFH;(BX)=0FFFFHXCHGAX,BX;(AX)=0FFFFH ,( BX)=5678H返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式46二、累加器專用傳送指令二、累加器專用傳送指令IN(input) 輸入OUT(output) 輸出XLAT(translate) 換碼 該組指令只限于使用累加器AX或AL傳送信息。第第3 3章章 指令系統(tǒng)和尋
23、址方式指令系統(tǒng)和尋址方式471 1輸入指令輸入指令ININ輸入指令用來從指定的外設寄存器取信息送入累加器。它有四種形式:(1)語句格式:IN AL,PORT 功能:(PORT)(AL)(2)語句格式:IN AX,PORT 功能:(PORT)(AX)(3)語句格式:IN AL,DX 功能:(DX)(AL)(4)語句格式:IN AX,DX 功能: (DX)1,(DX)(AX)當端口號大于255時,則端口號要先送到DX寄存器中。第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式48例IN AX,28H ;把端口28H的內容送到AXMOV DX,123CHIN AX,DX ;從端口123CH送一個字
24、到AX寄存器第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式492 2輸出指令輸出指令OUTOUT輸出指令用來把累加器的內容送往指定的外設存儲器,它有四種形式:(1)語句格式:OUT PORT,AL 功能:(AL)(PORT)(2)語句格式:OUT PORT,AX 功能:(AX)(PORT)+1,(PORT)(3)語句格式:OUT DX,AL 功能:(AL)(DX)(4)語句格式:OUT DX,AX 功能:(AX)(DX)+1,(DX)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式50例OUT 5,AL ;從AL寄存器輸出一個字節(jié)內容到端口5MOV DX,1111HOUT DX,AX
25、 ;第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式513 3查表轉換指令查表轉換指令 XLATXLAT語句格式:XLAT OPS或XLAT功能:將(BX)為首址,(AL)為位移量的字節(jié)存儲單元中的數(shù)據(jù)送AL寄存器。即(AL)(BX)+(AL)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式52【例【例1010】 (BX)=0040H,(AL)=0FH,(DS)=F000H,建立的表格如圖:指令XLAT把F004F單元的內容送AL,所以指令執(zhí)行完后(AL)=2CH,即指令把AL中的代碼0FH轉換為2CH.2C(BX)(AX)=0F存儲器F0040F004F返回本節(jié)返回本節(jié)第第3 3章章
26、 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式53三、地址傳送指令三、地址傳送指令1傳送偏移地址指令 LEA2傳送偏移地址及數(shù)據(jù)段首址指令LDS3傳送偏移地址及附加數(shù)據(jù)段指令LES第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式541傳送偏移地址指令 LEA語句格式: LEA REG,SRC功能:把源操作數(shù)的有效地址送入指定寄存器?!纠?1】主存偏移地址的獲取。MOV BX,0100H;(BX)=0100HMOV SI,0210H;(SI)=0210HLEA BX,1234BX+SI ; (BX)=1544H第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式55比較:LEA BX,LISTMOV
27、 BX,OFFSET LISTMOV BX,LIST(LIST為變量)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式562傳送偏移地址及數(shù)據(jù)段首址指令LDS語句格式:LDS REG,SRC功能:將主存中指定字單元數(shù)據(jù)送入指定寄存器,下一字單元數(shù)據(jù)送DS寄存器。執(zhí)行的操作: (REG)(SRC) (DS)(SRC+2)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式57【例【例1212】LDS SI,BP指令執(zhí)行前(SS)=9000H,(BP)=060AH,(9060AH)=05EAH,(9060CH)=3000H則執(zhí)行指令后,(SI)=05EAH, (DS)=3000H第第3 3章章
28、 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式583傳送偏移地址及附加數(shù)據(jù)段指令LES語句格式:LES REG,SRC功能:將主存某字單元內容送指定寄存器。執(zhí)行的操作: (REG)(SRC) (ES)(SRC+2)返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式59四、標志寄存器傳送指令四、標志寄存器傳送指令1標志送AH指令LAHF2AH送標志指令SAHF3標志寄存器進棧指令PUSHF4標志寄存器出棧指令POPF第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式601 1標志送標志送AHAH指令指令LAHFLAHF語句格式:LAHF功能:將標志寄存器的低8位送入AH寄存器。即(F
29、LAGS)7-0AH。該指令的執(zhí)行對標志位無影響?!纠?3】標志寄存器傳送。執(zhí)行前:(FLAGS)=0485H,(AX)=0FFFFH執(zhí)行指令:LAHF (AH)=?第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式612 2AHAH送標志送標志寄存器寄存器指令指令SAHFSAHF語句格式:SAHF功能:將AH的內容送入標志寄存器的低8位,高8位不變。即(AH)FLAGS7-0。從該指令功能可看出,SAHF為LAHF的逆過程。 第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式623 3標志寄存器進棧指令標志寄存器進棧指令PUSHFPUSHF語句格式:PUSHF功能:將標志寄存器的內容壓入
30、堆棧。執(zhí)行操作:(SP)(SP)-2 (SP)+1,(SP)(FLAGS)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式634 4標志寄存器出棧指令標志寄存器出棧指令POPFPOPF功能: 將棧頂內容彈出送入標志寄存器中。執(zhí)行操作: (FLAGS) (SP)+1,(SP) (SP)(SP)+2POPF指令與PUSHF指令互為逆過程。返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式64五、類型轉換指令五、類型轉換指令1. CBW 字節(jié)轉換為字2. CWD 字轉換為雙字第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式651.1.字節(jié)轉換為字指令字節(jié)轉換為字指令CBWC
31、BW格式:CBW執(zhí)行的操作:AL的內容符號擴展到AH,形成AX中的字。即如果(AL)的最高有效位為0,則(AH)0;如(AL)的最高有效位為1,則(AH)FFH.第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式66【例【例1414】將字節(jié)數(shù)據(jù)擴展成字數(shù)據(jù)。MOVAL,0A5H ;(AL)=0A5HCBW ;(AX)=0FFA5HADDAL,70H;(AL)=25HCBW ;(AX)=0025H第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式672.2.字轉換為雙字指令字轉換為雙字指令CWDCWD格式:CWD執(zhí)行的操作:AX的內容符號擴展到DX,形成DX:AX中的雙字。即如果(AX)的最
32、高有效位為0,則(DX)0;如果(AX)的最高有效位為1,則(DX)FFFFH。第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式68【例【例1515】將字數(shù)據(jù)擴展成雙字數(shù)據(jù)。MOVDX, 0 ;(DX)=0MOVAX, 0FFABH ;(AX)=FFABHCWD;(DX)=0FFFFH,(AX)0FFABH返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式693.3.2 算術指令算術指令加法指令減法指令乘法指令除法指令十進制調整指令(了解)返回本章首頁返回本章首頁第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式70一、加法指令一、加法指令1加1指令 INC2加指令AD
33、D3帶進位加指令ADC第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式71語句格式:INC OPD功能:將目的操作數(shù)加1,結果送目的地址。即(OPD)+1(OPD) 。INC指令是一個單操作數(shù)指令,操作數(shù)可以是寄存器或存儲器操作數(shù)。如:INC BX,即(BX)+1BX。加1指令可用于對計數(shù)器和地址指針進行調整。 1 1加加1 1指令指令 INCINC第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式722 2加法指令加法指令ADDADD語句格式:ADD OPD, OPS功能:將目的操作數(shù)與源操作數(shù)相加,結果存入目的地址中,源地址的內容不改變。即(OPD)+(OPS) (OPD) 第第3
34、3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式73語句格式:ADC OPD,OPS功能:將目的操作數(shù)加源操作數(shù)再加低位進位,結果送目的地址。即(OPD)+(OPS)+CF (OPD) 注:雙字運算中高位字相加時用此指令,以便把前一條ADD指令作低位字加法所產(chǎn)生的進位值加入高位字之內3 3帶進位加指令帶進位加指令ADCADC第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式74關于關于CFCF位和位和OFOF位位OF位是根據(jù)數(shù)的符號及其變化來設置的,用來表示帶符號數(shù)的溢出。當兩個進行相加的帶符號數(shù)的符號位相同,而結果的符號位與其相反,則溢出,OF1。如,當兩個進行相加的帶符號數(shù)的符號位是1,而結
35、果的符號位是0,則溢出,OF1,結果是錯誤的。CF位可用來表示無符號數(shù)的溢出。由于無符號數(shù)的最高有效位只有數(shù)值意義而無符號意義,因此從該位產(chǎn)生的進位應該是結果的實際進位值,在有限數(shù)位的范圍內就說明了結果的溢出情況。另外,在做雙字長運算時,CF位保留的進位值是很有用的。第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式75【例【例1616】無符號雙字加法運算。MOV AX,4652H;(AX)=4652HADD AX,0F0F0H;(AX)=3742H,CF=1MOV DX,0234H;(DX)=0234HADC DX,0F0F0H;(DX)=0F325H,CF=0返回本節(jié)返回本節(jié)第第3 3章
36、章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式76二二. . 減運算指令減運算指令1減1指令DEC2減指令SUB3求補指令NEG4帶借位減指令 SBB5比較指令 CMP第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式771 1減減1 1指令指令DECDEC語句格式:DEC OPD 功能:將目的操作數(shù)減1,結果送目的地址。即(OPD)1(OPD)DEC指令是一個單操作數(shù)指令,操作數(shù)可以是寄存器或存儲器操作數(shù)。如:DEC CX。即(CX)1(CX)減1指令DEC也一般用于對計數(shù)器和地址指針的調整。第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式78語句格式:SUB OPD,OPS功能:目的操作數(shù)
37、減源操作數(shù),結果存于目的地址,源地址內容不變。即(OPD)(OPS) (OPD) 【例17】減法運算。MOV AX ,5678H;(AX)=5678HSUB AX ,1234H;(AX)=4444HMOV BX ,3354H;(BX)=3354HSUB BX ,3340H;(BX)=0014H2 2減指令減指令SUBSUB第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式79語句格式:NEG OPD功能:將目的操作數(shù)的每一位求反(包括符號位)后加1,結果送目的地址。即FFFFH-(OPD)+1(OPD)。3 3求補指令求補指令NEGNEG第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式8
38、0【例18】求補運算。MOVAX,0FF64HNEGAL;(AX)=0FF9CHSUBAL,9DH;(AX)=0FFFFHNEGAX;(AX)=0001HDECAL;(AX)=0000HNEGAX;(AX)=0000H第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式81語句格式:SBB OPD ,OPS功能:目的操作數(shù)減源操作數(shù)再減低位借位CF,結果送目的地址。即(OPD)(OPS)CF (OPD)綜合舉例:P63【例3.50】4 4帶借位減指令帶借位減指令 SBBSBB第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式825 5比較指令比較指令 CMPCMP語句格式:CMP OPD,O
39、PS功能:目的操作數(shù)減源操作數(shù),結果只影響標志位,不送入目的地址。即(OPD)(OPS)?!纠?9】比較AL的內容數(shù)值大小。CMP AL,50;(AL)50JBBELOW ;(AL)=50,( AL)50ALINC AH;(AH)+1AHBELOW:返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式83三. 乘運算指令1無符號數(shù)乘法指令MUL2有符號乘指令IMUL第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式841 1無符號數(shù)乘法指令無符號數(shù)乘法指令MULMUL語句格式: MUL OPS功能: 若是字節(jié)數(shù)據(jù)相乘,(AL)與OPS相乘得到字數(shù)據(jù)存入AX中;若是字數(shù)據(jù)相乘,
40、則(AX)與OPS相乘得到雙字數(shù)據(jù),高字存入DX、低字存入AX中。即字節(jié)乘法:(AL)* (OPS)(AX), 字乘法:(AX) * (OPS)(DX,AX) 【例20】無符號數(shù)0A3H與11H相乘。MOV AL,0A3H;(AL)=0A3HMOV BL, 11H;(BL)=11HMUL BL ;(AX)=0AD3H第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式852有符號乘指令IMUL語句格式:IMUL OPS功能:字節(jié)乘法: (AL)* (OPS)(AX) ,字乘法: (AX) * (OPS)(DX,AX) 。IMUL指令除計算對象是帶符號二進制數(shù)外,其他都與MUL一樣,但計算結果不
41、同。 【例21】有符號數(shù)0B4H與11H相乘。MOVAL,0B4H;(AL)=B4HMOVBL,11H;(BL)=11HIMULBL;(AX)=0FAF4H返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式86四、四、 除運算指令除運算指令1無符號除指令DIV2有符號除指令IDIV第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式871 1無符號除指令無符號除指令DIVDIV語句格式:DIV OPS功能:字節(jié)除法:(AX)/(OPS)(AL)(商)、(AH)(余數(shù))字除法:(DX、AX)/(OPS)(AX)(商)、(DX)(余數(shù))【例【例2222】寫出實現(xiàn)無符號數(shù)0400H
42、 / 0B4H運算的程序段。MOV AX,0400H;(AX)=0400HMOV BL,0B4H;(BL)=0B4HDIV BL ;商(AL)=05H,余數(shù)(AH)=7CH 第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式88語句格式:IDIV OPS功能:字節(jié)除法:(AX)/(OPS)(AL)(商)、(AH)(余數(shù))字除法:(DX,AX)/(OPS)(AX) (商)、(DX)(余數(shù))除法指令DIV和IDIV雖然對標志的影響未定義,但可產(chǎn)生溢出。余數(shù)的符號和被除數(shù)的符號相同。2 2有符號有符號除指令除指令IDIVIDIV第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式89【例【例232
43、3】寫出實現(xiàn)有符號數(shù)0400H /0B4H運算的程序段。MOV AX,0400H;(AX)=0400HMOV BL,0B4H ;(BX)=0B4HIDIV BL ;(AL)=0F3H,(AH)=24H綜合舉例:P67【例3.56】返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式90五、 十進制調整指令一、壓縮BCD碼調整指令二、非壓縮BCD碼調整指令第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式91一、壓縮一、壓縮BCDBCD碼調整指令碼調整指令1. 加法的十進制調整指令DAA2. 減法的十進制調整指令DAS第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式921.
44、1.加法的十進制調整指令加法的十進制調整指令DAA DAA 語句格式:DAA功能:如果AL寄存器中低4位大于9或輔助進位(AF)=1,則(AL)=(AL)+6且(AF)=1;如果(AL)=0A0H或(CF)=1,則(AL)=(AL)+60H且(CF)=1。同時,SF、ZF、PF均有影響?!纠纠?424】壓縮BCD碼的加法運算。MOV AL,68H;(AL)=68H,表示壓縮BCD碼68MOV BL,28H;(BL)=28H,表示壓縮BCD碼28ADD AL,BL ;二進制加法:(AL)=68H+28H=90HDAA ;十進制調整:(AL)=96H ;實現(xiàn)壓縮BCD碼加法:68+28=96第第
45、3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式932.2.減法的十進制調整指令減法的十進制調整指令DASDAS語句格式:DAS功能:如果(AF)=1或AL寄存器中低4位大于9,則(AL)=(AL)6且(AF)=1;如果(AL)=0A0H或(CF)=1,則(AL)=(AL)60H且(CF)=1。同時SF、ZF、PF均受影響?!纠纠?525】壓縮BCD碼的減法運算。MOV AL,68H ;(AL)=68H,表示壓縮BCD碼68MOV BL,28H ;(BL)=28H,表示壓縮BCD碼28SUB AL,BL ;二進制減法:(AL)=68H28H=40HDAS ;十進制調整:(AL)=40H ;實
46、現(xiàn)壓縮BCD碼減法:6828=40第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式94二、非壓縮二、非壓縮BCDBCD碼調整指令碼調整指令1. 加法的非壓縮BCD碼調整指令AAA2. 減法的非壓縮BCD碼調整指令AAS3. 乘法的非壓縮BCD碼調整指令AAM4. 除法的非壓縮BCD碼調整指令AAD第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式95語句格式:AAA 功能:如果AL的低4位大于9或(AF)=1,則:(AL)=(AL)+6(AH)=(AH)+1(AF)=(CF)=1 且AL高4位清零。否則:(CF)=(AF)=0AL高4位清零。1.1.加法的非壓縮加法的非壓縮BCDBCD碼
47、調整指令碼調整指令AAAAAA第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式96語句格式:AAS 功能:如果AL的低4位大于9或(AF)=1,則:(AL)=(AL)6(AH)=(AH)1(AF)=(CF)=1AL高4位清零。否則:(CF)=(AF)=0 AL高4位清零。其他標志位OF、PF、SF、ZF不確定。2.2.減法的非壓縮減法的非壓縮BCDBCD碼調整指令碼調整指令AASAAS第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式973.3.乘法的非壓縮乘法的非壓縮BCDBCD碼調整指令碼調整指令AAMAAM語句格式:AAM 功能:被調整的乘積在AX中,對AL按10取模,則: (AL
48、)0AHAH(商):AL(余數(shù))其中AH為商,AL為余數(shù),標志位AF、CF、OF、PF、SF、ZF受影響。 第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式984.4.除法的非壓縮除法的非壓縮BCDBCD碼調整指令碼調整指令AADAAD語句格式:AAD 功能:除法運算前,先調整被除數(shù)AX內容,使: (AL)=(AL)+(AH)*0AH (AH)=0即把非壓縮型十進制數(shù)變成二進制數(shù)。返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式993.3.3 邏輯指令邏輯運算指令移位指令返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式100一、邏輯運算指令一、邏輯運
49、算指令1邏輯與指令AND(清零或屏蔽某位)2邏輯或指令OR(某位置1)3求反指令NOT(操作數(shù)的所有位變反)4按位加指令XOR (使操作數(shù)的某些位變反)5測試指令TEST (測試操作數(shù)的某些位為0或為1)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式101語句格式:AND OPD,OPS功能:將目的操作數(shù)和源操作數(shù)進行邏輯乘運算,結果存目的地址。即(OPD)(OPS)OPD。該指令用于清除目的操作數(shù)中與源操作數(shù)置0的對應位。說明:邏輯與的運算法則為:11=1,10=0,01=0,00=0【例【例2626】將AL中第3位和第7位清零。 MOVAL,0FFH ANDAL,77H 1 1邏輯與
50、指令邏輯與指令ANDAND第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式102語句格式:OR OPD,OPS功能:將目的操作數(shù)和源操作數(shù)進行邏輯加運算,結果存目的地址。即(OPD)(OPS)OPD。說明:邏輯加的運算法則為:11=1,10=1,01=1,00=0?!纠纠?727】將AL寄存器中第3位和第7位置1。MOV AL,0 OR AL,88H 2 2邏輯或指令邏輯或指令OROR第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式103語句格式:NOT OPD功能:將目的地址中的內容逐位取反后送入目的地址。即(OPD)OPD 【例例2828】邏輯非運算。MOV AX,878AH;(
51、AX)=878AHNOT AX ;(AX)=7875H3 3求反指令求反指令NOTNOT第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式104語句格式: XOR OPD,OPS功能:目的操作數(shù)與源操作數(shù)做按位加運算,結果送入目的地址。即(OPD)(OPS) OPD。說明:按位加的運算法則為;11=0,10=1,01=1,00=0?!纠纠?929】按位加運算。MOV AL,45H;(AL)=45HXOR AL,31H;(AL)=74H4 4按位加指令按位加指令XORXOR第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式105語句格式:TEST OPD,OPS功能:源地址和目的地址的內容
52、執(zhí)行按位的邏輯與運算,結果不送入目的地址。即(OPD)(OPS)?!纠纠?030】測試AX中的第12位是否為0,不為0則轉L。TEST AX,1000HJNE L 5 5測試指令測試指令TESTTEST返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式106二、移位指令二、移位指令 移位指令包括算術移位指令、邏輯移位指令和循環(huán)移位指令,分別進行左移和右移操作。這些指令均有統(tǒng)一的語句格式:標號:操作符 OPD,1或 標號:操作符OPD,CL其功能是將目的操作數(shù)的所有位按操作符規(guī)定的方式移動1位或按寄存器CL規(guī)定的次數(shù)(0255)移動,結果送入目的地址。目的操作數(shù)是8位(或16
53、位)的寄存器數(shù)據(jù)或存儲器數(shù)據(jù)。第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式107語句格式:SAL OPD,1 或SHL OPD,1 SAL OPD,CL或SHL OPD,CL功能:將(OPD)向左移動CL指定的次數(shù),最低位補入相應的,的內容為最后移入位的值。1 1算術左移和邏輯左移指令算術左移和邏輯左移指令SALSAL(SHLSHL)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式1082 2算術右移指令算術右移指令SARSAR語句格式:SAR OPD,1或SAR OPD,CL功能:將(OPD)向右移動CL指定的次數(shù)且最高位保持不變;CF的內容為最后移入位的值。第第3 3章章 指令
54、系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式109【例【例3131】算術右移運算。MOVBH,0F4H ;(BH)=0F4HMOVCL, 2;(CL)=2SARBH, CL ;(BH)=0FDH,(CF)=0該例語句“SARBH,CL”實際上完成了(BH)BH的運算,所以,用SAR指令可以實現(xiàn)對有符號數(shù)除 的運算(n為移位次數(shù))。n2n2第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式110語句格式:SHR OPD,1或SHR OPD,CL功能:將(OPD)向右移動CL規(guī)定的次數(shù),最高位補入相應個數(shù)的,CF的內容為最后移入位的值。 3 3邏輯右移指令邏輯右移指令SHRSHR第第3 3章章 指令系統(tǒng)和尋
55、址方式指令系統(tǒng)和尋址方式111語句格式:ROL OPD,1或ROL LPD,CL功能:將目的操作數(shù)的最高位與最低位連成一個環(huán),將環(huán)中的所有位一起向左移動CL規(guī)定的次數(shù)。CF的內容為最后移入位的值。4 4循環(huán)左移指令循環(huán)左移指令ROLROL第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式112語句格式: ROR OPD,1或ROR OPD,CL功能:將目的操作數(shù)的最高位與最低位連成一個環(huán),將環(huán)中的所有位一起向右移動CL規(guī)定的次數(shù),CF的內容為最后移入位的值。5 5循環(huán)右移指令循環(huán)右移指令RORRORCF07第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式113語句格式: RCL OPD,
56、 1或RCL OPD,CL功能:將目的操作數(shù)連同CF標志一起向左循環(huán)移動CL規(guī)定的次數(shù)。 6 6帶進位的循環(huán)左移指令帶進位的循環(huán)左移指令RCLRCL第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式114語句格式:RCR OPD,1或RCR OD,CL功能:將目的操作數(shù)連同CF標志一起向右循環(huán)移動所規(guī)定的次數(shù)。 7 7帶進位的循環(huán)右移指令帶進位的循環(huán)右移指令RCRRCR第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式115移位指令小結移位指令根據(jù)移位后的結果設置SF/ZF/PF位循環(huán)移位指令可以改變操作數(shù)中所有位的位置左移指令常常用來作乘以2的操作,右移指令用來作除以2的操作(得到商保存
57、在操作數(shù)中)邏輯移位指令適用于無符號數(shù)運算,算術移位指令適用于帶符號數(shù)運算。返回本節(jié)返回本節(jié)第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式116課后作業(yè)習題3.2, 3.4, 3.8第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式117復習邏輯指令P111 習題3.26第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式1183.3.4 串操作類指令串操作指令 :數(shù)據(jù)傳送類指令每次只能傳送一個數(shù)據(jù),若要傳送大批數(shù)據(jù)就需要重復編程,這樣就浪費了大量的時間和空間。為此8086提供了一組處理主存中連續(xù)存放的數(shù)據(jù)串的指令,這就是串操作指令。 返回本章首頁返回本章首頁第第3 3章章 指令系統(tǒng)和
58、尋址方式指令系統(tǒng)和尋址方式119(1)REP REP前綴用在MOVS、STOS 、LODS指令前。功能:每執(zhí)行一次串指令(CX)1,直到(CX)=0,重復執(zhí)行結束。(2)REPZ(repeat while zero) 該指令一般用在CMPS、SCAS指令前。功能:每執(zhí)行一次串指令(CX)1,并判斷ZF標志是否為0,只要(CX)=0或ZF=0,則重復執(zhí)行結束。(3)REPNZ(repeat while not zero) 該指令一般用在CMPS、SCAS 指令前。功能:每執(zhí)行一次串指令(CX)1,并判斷ZF標志是否為0,只要(CX)=0或ZF=1,則重復執(zhí)行結束。與串操作類指令配合使用的重復前綴
59、指令與串操作類指令配合使用的重復前綴指令REP REPZ REPNZREP REPZ REPNZ第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式120語句格式: MOVSB字節(jié)串傳送 MOVSW字串傳送功能:將以SI為指針的源串中的一個字節(jié)(或字)存儲單元中的數(shù)據(jù)傳送至以DI為指針的目的地址中去,并自動修改指針,使之指向下一個字節(jié)(或字)存儲單元。即:(DS:SI)ES:DI。 當DF=0時,(SI)和(DI)增量; 當DF=1時,(SI)和(DI)減量。1 1串傳送指令串傳送指令 MOVSMOVS第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式1217777頁頁 【例【例3.703.
60、70】 REP MOVSBREP MOVSBREP.20000H21500H21501H21502H30000H30200H30201H30202H(DS)=2000H(SI)=1500H(ES)=3000H(DI)=0200HDF=0(CX)=17DREPP.20000H21500H21501H21502H30000H30200H30201H30202H(DS)=2000H(SI)=1501H(ES)=3000H(DI)=0201H(CX)=16D預置情況執(zhí)行第一條MOVSB后第第3 3章章 指令系統(tǒng)和尋址方式指令系統(tǒng)和尋址方式122執(zhí)行完執(zhí)行完REP MOVSBREP MOVSB后后REP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 私人教練與學員健身成果合同
- 租賃住宅合同范本簡版
- 南京勞動合同模板合同范本(勞務派遣律師定制)
- 資產(chǎn)收購合同
- 歷史文化名城拍攝許可合同
- 廣告宣傳合同范文
- 商品供應合同范本
- 批發(fā)業(yè)渠道管理與拓展考核試卷
- D打印技術在汽車輕量化設計的應用考核試卷
- 工業(yè)控制計算機在智能機器人編程與控制中的實踐考核試卷
- 高考作文標準方格紙-A4-可直接打印
- 護理分級標準
- 水池維修改造方案
- 國網(wǎng)陜西省電力有限公司高校畢業(yè)生招聘考試試題及答案
- 非公司企業(yè)法人章程范本樣本
- 《高溫熔融金屬吊運安全規(guī)程》(AQ7011-2018)
- 電機與拖動(高職)全套教學課件
- 散裝液體危險貨物申報員培訓講義
- 山東春季高考-汽車專業(yè)必備考試題庫(學校)
- 返家鄉(xiāng)社會實踐
- 小學生網(wǎng)絡安全省公開課金獎全國賽課一等獎微課獲獎課件
評論
0/150
提交評論