6.处理机控制指令 1)标志处理指令 CLC. STC. CMC CLD. STD. CLL STI 2)处理机控制指令 HLT NOP. WAIT. ESC. LOCK
6. 处理机控制指令 1) 标志处理指令 CLC, STC, CMC, CLD, STD, CLI, STI 2) 处理机控制指令 HLT, NOP, WAIT, ESC, LOCK
1)标志处理指令 ▲设置和清除标志的指令,只影响指令指定的标志 指令格式 执行操作 CLC CF=0 STC CF=1 CLM CF←CF CLD DE=0 STD DE=1 CLI IF=0 STI IF=l
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 ;允许外部中断 HILT ;等待中断 MOVAX. O
2) 处理机控制指令 ① 暂停指令HLT 格式 HLT 执行 使CPU处于暂停状态 用于等待外部中断,中断处理结束后, 继续执行HLT后的下一条指令 例 、、、 、、、 STI ;允许外部中断 HLT ;等待中断 MOV AX, 0 、、、
②空操作指令NOP 格式NOP 指令不执行任何操作 其机器码占一个字节单元,在调试程序时,修改程序用。 例: B8 B8 007 moy BX,|100 00 mov Bx,100 01 01 3A 90 nop cmp al,BxI 90 nop mov CX, 20H B8 90 nop JB9 20 00 FE 3A 07 cmp AL,IBXI (也可用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.串处理指令 ●串的基本概念 顺序存放在内存中的一组数据,称为串。 用串的首(末)地址、元素类型、串的长度表示。 22 A|BC“D E 、、、 Y'Z string 1234:0000 2b DS: BX 3c 4d
7.串处理指令 ⚫ 串的基本概念 顺序存放在内存中的一组数据,称为串。 用串的首(末)地址、元素类型、串的长度表示。 1234:0000 string DS:BX ‘A’ ‘B’ ‘C’ ‘D’ ‘ ’ ‘E’ 、、、 ‘Y’ ‘Z’ 11 22 33 1a 2b 3c 4d
●串操作种类 ①串传送 将串从内存某一区域传送到另一区城 ②从串取 从串中取出某一元素。 ③存入串 将某个数据存入串中。 ④串比较 对两个串进行比较 ⑤搜索串 在串中搜索(查找)某数据(关键字)
⚫ 串操作种类 ①串传送 将串从内存某一区域传送到另一区域。 ② 从串取 从串中取出某一元素。 ③ 存入串 将某个数据存入串中。 ④ 串比较 对两个串进行比较。 ⑤ 搜索串 在串中搜索(查找)某数据(关键字)
●串处理指令格式 重复控制前缀串指令 控制重复次数基本操作 MOⅤSB、MOsW串传送 REP LODSB、 LODSW从串取 REPZ STOSB、 STOSW存入串 RENZ CMPSB、 CMPSW串比较 SCASB、 SCASW搜索串 例 REP MOVSB REPZ CMPSB REPNZ SCASW
⚫ 串处理指令格式 重复控制前缀 串指令 控制重复次数 基本操作 MOVSB、MOVSW 串传送 REP LODSB、LODSW 从串取 REPZ STOSB、STOSW 存入串 REPNZ CMPSB、CMPSW 串比较 SCASB、SCASW 搜索串 例 REP MOVSB REPZ CMPSB REPNZ SCASW
①串指令 ●串传送MOS ●从申取LODS ●存入串STOS ●串比较CMPS ●搜索串SCAS
① 串指令 ⚫ 串传送 MOVS ⚫ 从串取 LODS ⚫ 存入串 STOS ⚫ 串比较 CMPS ⚫ 搜索串 SCAS
▲串指令的特点 ①指令给出串操作的种类、类型,而操作数隐含给出。 如 MOVSB 字节 MOVSW 字 ②源串由DS:S指向的单元 目的串由ES:D指向的单元 ③指令执行后,指针据D标志、操作类型自动修改 字节操作±1;字操作±2 DF=0用+;DF=1用
▲串指令的特点 ① 指令给出串操作的种类、类型,而操作数隐含给出。 如 MOVSB ;字节 MOVSW ;字 ② 源串 由DS : SI指向的单元 目的串 由ES : DI指向的单元 ③ 指令执行后,指针据DF标志、操作类型自动修改 字节操作 1 ; 字操作 2 DF= 0 用 + ; DF= 1 用 -
④对只有一个存储器操作数的串指令 如LODS(从串取) STOS(存入串) SCAS(搜索串) 另一个操作数在AL(字节操作或AX(字操作) ⑤CMPS(串比较)、SCAS(串搜索)影响标志 MOS(串传送)、LODS(从串取)、STOS(存入串)不影响标志
④ 对只有一个存储器操作数的串指令 如 LODS(从串取) STOS(存入串) SCAS(搜索串) 另一个操作数在 AL (字节操作) 或 AX (字操作) ⑤ CMPS(串比较)、SCAS(串搜索)影响标志, MOVS(串传送)、LODS(从串取)、STOS(存入串)不影响标志