处理机控制指令课件_第1页
处理机控制指令课件_第2页
处理机控制指令课件_第3页
处理机控制指令课件_第4页
处理机控制指令课件_第5页
已阅读5页,还剩46页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

處理機控制指令1)標誌處理指令

CLC,STC,CMC,CLD,STD,CLI,STI2)處理機控制指令HLT,NOP,WAIT,ESC,LOCK1)標誌處理指令▲設置和清除標誌的指令,只影響指令指定的標誌2)處理機控制指令①暫停指令HLT

格式

HLT

執行使CPU處於暫停狀態用於等待外部中斷,中斷處理結束後,繼續執行HLT後的下一條指令例、、、

、、、

STI;允許外部中斷

HLT;等待中斷

MOVAX,0

、、、、、、(HLT指令在第6章中斷技術用到)②空操作指令NOP

格式

NOP

指令不執行任何操作例:(也可用NOP指令進行短延時(教材中的一些例子用到)其機器碼占一個位元組單元,在調試程式時,修改程式用。7.串處理指令

串的基本概念順序存放在記憶體中的一組數據,稱為串。用串的首(末)地址、元素類型、串的長度表示。

串操作種類①串傳送將串從記憶體某一區域傳送到另一區域。②從串取從串中取出某一元素。③存入串將某個數據存入串中。④串比較對兩個串進行比較。⑤搜索串在串中搜索(查找)某數據(關鍵字)

串處理指令格式重複控制首碼串指令控制重複次數基本操作

MOVSB、MOVSW

串傳送REPLODSB、LODSW

從串取REPZSTOSB、STOSW

存入串REPNZCMPSB、CMPSW

串比較

SCASB、SCASW

搜索串例

REPMOVSBREPZCMPSBREPNZSCASW①串指令串傳送MOVS

從串取LODS

存入串STOS

串比較CMPS

搜索串SCAS

串指令的特點①指令給出串操作的種類、類型,而運算元隱含給出。如MOVSB;位元組

MOVSW;字②源串由DS:SI指向的單元目的串由ES:DI指向的單元③指令執行後,指針據DF標誌、操作類型自動修改位元組操作1;字操作2DF=0用+;DF=1用-④

對只有一個記憶體運算元的串指令如LODS(從串取)

STOS(存入串)

SCAS(搜索串)另一個運算元在AL(位元組操作)或AX(字操作)⑤

CMPS(串比較)、SCAS(串搜索)影響標誌,

MOVS(串傳送)、LODS(從串取)、STOS(存入串)不影響標誌。

串傳送◢◢格式MOVSB

位元組傳送

MOVSW

字傳送◢◢

MOVSB執行操作

(ES:DI)←(DS:SI)

位元組傳送

(SI)←(SI)1

修改源串指針

(DI)←(DI)1修改目的串指針其中:DF=0,用+DF=1,用-◢◢

MOVSW執行操作

(ES:DI)←(DS:SI)

字傳送

(SI)←(SI)2修改源串指針

(DI)←(DI)2修改目的串指針從串取◢◢格式LODSB 取位元組

LODSW取字◢◢LODSB執行操作

(AL)←(DS:SI)

從源串取入AL

(SI)←(SI)1修改源串指針◢◢

LODSW執行操作

(AX)←(DS:SI)

從源串取入AX

(SI)←(SI)2

修改源串指針存入串◢◢

格式STOSB存入位元組

STOSW存入字◢◢

STOSB執行操作

(ES:DI)←(AL)

將AL存入目的串

(DI)←(DI)1修改目的串指針◢◢STOSW執行操作

(ES:DI)←(AX)

將AX存入目的串

(DI)←(DI)2

修改目的串指針串比較◢◢格式CMPSB

位元組比較

CMPSW

字比較◢◢

CMPSB執行操作

(DS:SI)-(ES:DI)

位元組比較

(SI)←(SI)1修改源串指針

(DI)←(DI)1修改目的串指針◢◢

CMPSW執行操作

(DS:SI)-(ES:DI)

字比較

(SI)←(SI)2修改源串指針

(DI)←(DI)2修改目的串指針注意:1.源串-目的串

2.兩數相減,只影響標誌,不影響運算元

搜索串

◢◢格式SCASB

取位元組

SCASW

取字◢◢

SCASB執行操作

(AL)-(ES:DI)

從目的串搜索位元組

(DI)←(DI)1修改目的串指針◢◢

SCASW執行操作

(AX)-(ES:DI)

從目的串搜索位元組

(DI)←(DI)2修改目的串指針兩數相減,只影響標誌,不影響運算元。②重複控制首碼重複首碼REP

當相等重複首碼REPZ/REPE

當不相等重複首碼REPNZ/REPNE重複首碼REP執行過程:(1)當(CX)=0

,結束REP,執行REP下一條指令。(2)當(CX)≠0,將CX的內容減1,執行REP後的串指令,返回(1)。例

LEADI,destinationLEASI,sourceMOVCX,20

REPMOVSBMOVAX,0

只在(CX)=0時退出迴圈當相等重複首碼REPZ執行過程:(1)

當(CX)=0,結束REPZ,執行REPZ下一條指令;(2)

當(CX)≠0,將CX的內容減1,執行REPZ後的串指令;(3)

當ZF=1,返回(1);(4)

當ZF≠1,則結束REPZ,

執行REPZ下一條指令。

(CX)減1操作不影響標誌

ZF標誌由串操作決定當不相等重複首碼REPNZ執行過程:(1)

當(CX)=0,結束REPNZ,執行REPNZ下一條指令。(2)當(CX)≠0,將CX的內容減1,執行REPNZ後的串指令。(3)

當ZF=0,返回(1);(4)

當ZF≠0,則結束REPNZ,

執行REPNZ下一條指令。例1

用REPMOVS

進行數據塊傳送。編程:①設置傳送方向用CLD使DF=0,地址增加方向(正向)用STD使DF=1,地址減小方向(反向)②設置源串地址將源串首地址(DF=0),或末地址(DF=1)放入DS、SI中。③設置目的串地址將目的串首地址(DF=0),或末地址(DF=1)放入ES、DI中。④設置串長度將串的長度(傳送次數)放入CX中。⑤位元組傳送用REPMOVSB

字傳送用REPMOVSW例1

編程將存放在str1中的4位元組字串傳送到str2定義的緩衝區中。‘D’‘C’‘B’‘A’str1str2data1SEGMENT

str1DB‘ABCD’

;源串data1ENDSdata2SEGMENT

str2DB4DUP(?);緩衝區data2ENDScodeSEGMENT

、、、、、、

CLD;DF=0,正方向傳送

MOVAX,data1;源串首地址的段值→DS

MOVDS,AXLEASI,str1;源串首地址的偏值→SIMOVAX,data2;目的串首地址的段值→ESMOVES,AXLEADI,str2;目的串首地址的偏值→DIMOVCX,4;串長度CX

REPMOVSB

;串傳送、、、、、、codeENDSdata1SEGMENTstr1DB‘ABCD’data1ENDSdata2SEGMENTstr2DB4DUP(?)data2EMDScodeSEGMENT

、、、、、、

CLDMOVAX,data1MOVDS,AXLEASI,str1MOVAX,data2MOVES,AXLEADI,str2MOVCX,4REPMOVSB

、、、、、、codeENDS

假設程式經彙編、連接後,裝入記憶體的情況如下:程式執行結果:例2

比較string1和string2的兩串,長度為8位元組用REPZCMPS

進行串比較編程:①設置比較方向(STD或CLD)②設置源串、目的串地址

將源串首地址(DF=0時),或末地址(DF=1時)放入DS、SI

將目的串首地址(DF=0時),或末地址(DF=1時)放入ES、DI③設置串長度將串的長度放入CX中④按位元組比較用REPZCMPSB

按字比較用REPZCMPSW執行完REPZCMPS後,根據ZF判斷兩串比較結果。若ZF=1,兩串相等,此時:

CX=0,表明串中所有元素已比較完畢

SI、DI指向串尾的下一單元。若ZF=0,兩串不等,此時:

CX的值為剩下的未比較的元素個數。

SI、DI指向不相等元素的下一元素。codeSEGMENT

、、、、、、

CLD;DF=0,正向比較

MOVAX,SEGstring1;源串首地址→DS:SIMOVDS,AXLEASI,string1MOVAX,SEGstring2;目的串首地址→ES:DIMOVES,AXLEADI,string2MOVCX,8;串長度→CX

REPZCMPSB

;串比較

JZequal;利用ZF判斷比較結果不相等處理

JMPexitequal:相等處理

exit:、、、codeENDS

codeSEGMENT

、、、、、、

CLD;DF=0,正向比較

MOVAX,SEGstring1;源串首地址→DS:SIMOVDS,AXLEASI,string1MOVAX,SEGstring2;目的串首地址→ES:DIMOVES,AXLEADI,string2MOVCX,8;串長度→CX

REPZCMPSB

JZequal

不相等處理

JMPexitequal:相等處理

exit:、、、codeENDS

JNZnotequ

相等處理

JMPexitnotequ:不相等處理exit:、、、執行完REPZCMPSB後,此時:ZF=1,兩串相等CX=0,兩串所有元素已比較完SI、DI串尾的下一單元例執行完REPZCMPSB後,此時:ZF=0,兩串不等CX=3,

剩下的未比較的元素個數SI、DI指向不相等元素的下一元素。例例3

用REPNZSCAS

在串中找關鍵字。編程步驟:①設置查找方向②設置串地址將串的首地址(DF=0時),或末地址(DF=1時)放入ES、DI中。③設置關鍵字將關鍵字放入AL(關鍵字為位元組)或

放入AX(關鍵字為字)。④設置串長度將串的長度放入CX中。⑤查找位元組用REPNZSCASB

查找字用REPNZSCASW執行完REPNZSCAS後,根據ZF判斷查找結果。若ZF=1,則串中有關鍵字,此時:

CX的值為剩下的未搜索的元素個數,

DI指向關鍵字元素的下一元素,

而關鍵字在(DI)-1的位置若ZF=0,則串中無關鍵字,此時:

CX=0,表明串中所有元素以搜索完畢

DI指向串尾的下一單元。例、、、

REPNZSCASB

JZfound

未找到處理

JMPexitfound:找到處理exit:、、、串指令可單獨使用

MOVAL,[SI]MOVES:[DI],AL等價於MOVSBINCSIINCDI(假設DF=0)next:JCXZexitDECCXMOVSB等價於REPMOVSBJMPnextexit:、、說明:下麵程式段完成字傳送(8000:1000H)←(4000:2000H)MOVAX,4000HMOVDS,AXMOVSI,2000HMOVAX,8000HMOVES,AXMOVDI,1000HMOVSW

可在有源運算元的串指令前使用段跨越首碼,

此時:源串運算元的段值由段跨越首碼指定。包括指令MOVS、LODS、CMPS例

ES:MOVSB

執行(ES:DI)←(ES:SI)

而不是(ES:DI)←(DS:SI)ES:SCASB沒有源串ES:STOSW目的串運算元不允許使用段跨越首碼,即串指令前的段跨越首碼必指源串運算元。重複首碼中CX減1操作,不影響標誌。第四節

DOS操作系統簡介一、操作系統概念二、DOS系統的組成三、DOS系統啟動過程四、DOS系統的記憶體分配一、操作系統概念電腦的工作原理:“存儲程式”+“程式控制”

操作系統是:

是電腦最基本的系統軟體,控制和管理電腦硬體、軟體資源,方便用戶充分、有效地利用電腦,增強整個電腦的處理能力。IBMPC/XT機上安裝/運行的操作系統是DOS操作系統瞭解DOS系統的目的:①

瞭解電腦從裸機到可與用戶進行交互系統的建立過程,加深電腦工作原理的理解。②

瞭解DOS系統下,記憶體的分配情況,

更好的學習組合語言程式設計。一、DOS系統的組成1.構成模組2.各模組功能1.由四個模組構成

DOS引導模組:在系統盤的0面0道1扇區上基本輸入/輸出模組BIOS

:

ROMBIOS(在內存的ROM區)IO.SYS(在系統盤上)

磁片管理模組:

MSDOS.SYS(在系統盤上)

命令處理模組:

COMMAND.COM(在系統盤上)2.各模組功能

DOS引導模組完成將磁片上三個系統檔裝入記憶體。

(三個檔為IO.SYS,MSDOS.SYS,COMMAND.COM)基本輸入/輸出模組BIOS

實現對輸入/輸出設備的管理。內含0-1CH類型中斷子程,包括顯示器、磁片、鍵盤、印表機等外設驅動程式。

磁片管理模組:

◢實現磁片檔的管理。

◢內含20H-27H類型中斷子程,其中21H類型中斷子程提供近百種的系統功能,使用戶程式能方便地享用系統資源。

命令處理模組:

實現接收、識別和處理鍵盤命令,裝入程式到記憶體,轉去執行程式的功能。系統資源FFFF:0000系統檢測程式

RAMROM內

存ROMBIOS磁

盤DOSIO.SYSCOMMAND.COMMSDOS.SYS引導程式EDIT.exeMASM.exeLINK.exeDEBUG.exe應用程式其他系統程式三、DOS系統啟動過程有無對應的執行程式?給系統加電,從FFFF:0開始啟動執行ROM

BIOS中系統檢測程式顯示出錯資訊在向量表中填入ROMBIOS內中斷子程的向量將系統盤上的引導程式裝入記憶體

執行引導程式將系統檔裝入記憶體在向量表中填入IO.SYS和MSDOS.SYS中斷子程的向量執行命令處理模組COMMAND.COM出現提示符”>”,等待從鍵盤輸入命令顯示出錯信

息建立程式段首碼PSP將執行檔裝入記憶體轉到執行檔的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论