
6.处理机控制指令1)标志处理指令CLC, STC, CMC, CLD, STD, CLI, STI2)处理机控制指令HLT, NOP, WAIT, ESC, LOCK
6. 处理机控制指令 1) 标志处理指令 CLC, STC, CMC, CLD, STD, CLI, STI 2) 处理机控制指令 HLT, NOP, WAIT, ESC, LOCK

1)标志处理指令设置和清除标志的指令,只影响指令指定的标志指令格式执行操作CLCCF=0STCCF=-1CFCLMCF ←CLDDF=0STDDF=1CLIIF=0STIIF=1
1) 标志处理指令 ▲设置和清除标志的指令,只影响指令指定的标志 指令格式 执行操作 CLC CF=0 STC CF=1 CLM CF ← CF CLD DF=0 STD DF=1 CLI IF=0 STI IF=1

2)处理机控制指令①暂停指令HLT格式HLT执行使CPU处于暂停状态用于等待外部中断,中断处理结束后,继续执行HLT后的下一条指令例STI;允许外部中断HLT;等待中断MOV AX, 0
2) 处理机控制指令 ① 暂停指令HLT 格式 HLT 执行 使CPU处于暂停状态 用于等待外部中断,中断处理结束后, 继续执行HLT后的下一条指令 例 、 、 STI ;允许外部中断 HLT ;等待中断 MOV AX, 0 、

②空操作指令NOP格式NOP指令不执行任何操作其机器码占一个字节单元,在调试程序时,修改程序用。例:B8B80000BX,[100]BX,[100]movmov01013A90nopAL,[BX]cmp0790nopCX, 20Hmov90B8B92000nopFE3AAL,[BXIcmp1107(也可用NOP指令进行短延时(教材中的一些例子用到)
② 空操作指令NOP 格式 NOP 指令不执行任何操作 00 mov BX, [100] B8 01 07 3A cmp AL,[BX] B8 FE 11 00 mov BX, [100] B8 01 90 90 cmp AL,[BX] 90 3A 07 nop nop nop mov CX, 20H B9 20 00 例: (也可用NOP指令进行短延时(教材中的一些例子用到) 其机器码占一个字节单元, 在调试程序时,修改程序用

7.串处理指令串的基本概念顺序存放在内存中的一组数据,称为串。用串的首(末)地址、元素类型、串的长度表示112233“E'“Y'Z'‘A'‘B'"C'"D"”eelastring1234:00002bDS:BX3c4d
7.串处理指令 ⚫ 串的基本概念 顺序存放在内存中的一组数据,称为串。 用串的首(末)地址、元素类型、串的长度表示。 1234:0000 string DS:BX ‘A’ ‘B’ ‘C’ ‘D’ ‘ ’ ‘E’ 、 ‘Y’ ‘Z’ 11 22 33 1a 2b 3c 4d

串操作种类①串传送将串从内存某一区域传送到另一区域②从串取从串中取出某一元素③存入串将某个数据存入串中。④串比较对两个串进行比较?搜索串在串中搜索(查找)某数据(关键字)
⚫ 串操作种类 ①串传送 将串从内存某一区域传送到另一区域。 ② 从串取 从串中取出某一元素。 ③ 存入串 将某个数据存入串中。 ④ 串比较 对两个串进行比较。 ⑤ 搜索串 在串中搜索(查找)某数据(关键字)

串处理指令格式串指令重复控制前缀11基本操作控制重复次数串传送MOVSB、MOVSW从串取REPLODSBLODSW存入串REPZSTOSBSTOSW串比较REPNZCMPSB、CMPSW搜索串SCASB、 SCASW例REPMOVSBREPZCMPSBREPNZSCASW
⚫ 串处理指令格式 重复控制前缀 串指令 控制重复次数 基本操作 MOVSB、MOVSW 串传送 REP LODSB、LODSW 从串取 REPZ STOSB、STOSW 存入串 REPNZ CMPSB、CMPSW 串比较 SCASB、SCASW 搜索串 例 REP MOVSB REPZ CMPSB REPNZ SCASW

串指令串传送MOVS从串取LODS存入串 STOS串比较CMPS搜索串SCAS
① 串指令 ⚫ 串传送 MOVS ⚫ 从串取 LODS ⚫ 存入串 STOS ⚫ 串比较 CMPS ⚫ 搜索串 SCAS

串指令的特点①指令给出串操作的种类、类型,而操作数隐含给出。如;字节MOVSB;字MOVSW②源串由DS:SI指向的单元目的串由ES:DI指向的单元③指令执行后,指针据DF标志、操作类型自动修改字节操作±1字操作土2用+用-DF= 0DF= 1 :
▲串指令的特点 ① 指令给出串操作的种类、类型,而操作数隐含给出。 如 MOVSB ;字节 MOVSW ;字 ② 源串 由DS : SI指向的单元 目的串 由ES : DI指向的单元 ③ 指令执行后,指针据DF标志、操作类型自动修改 字节操作 1 ; 字操作 2 DF= 0 用 + ; DF= 1 用 -

对只有一个存储器操作数的串指令4如LODS(从串取)STOS(存入串)SCAS(搜索串)另一个操作数在AL(字节操作)或AX(字操作)③ CMPS(串比较)、SCAS(串搜索)影响标志,MOVS(串传送)、LODS(从串取)、STOS(存入串)不影响标志
④ 对只有一个存储器操作数的串指令 如 LODS(从串取) STOS(存入串) SCAS(搜索串) 另一个操作数在 AL (字节操作) 或 AX (字操作) ⑤ CMPS(串比较)、SCAS(串搜索)影响标志, MOVS(串传送)、LODS(从串取)、STOS(存入串)不影响标志