●串传送 A格式MOSB 字节传送 MOVSW 字传送 MOⅤSB执行操作 (ES:DI)←(DS:SI) 字节传送 (SI)←(SI)±1 修改源串指针 (D)←(DI)±1修改目的串指针 其中:DF=0,用+ DF=1,用 MOVSW执行操作 (ES:DI)←(DS:SI) 字传送 (SI)←(SI)±2修改源串指针 (DI)←(DI)±2修改目的串指针
⚫ 串传送 ◢ ◢ 格式 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 修改目的串指针
●从串取 A格式 LODSB 取字节 LODSW 取字 LODSB执行操作 (AL)←(DS:SI)从源串取入AL (SI)←(SI)±1修改源串指针 LODSW执行操作 (AX)←(DS:SI)从源串取入AX (SI)←(SI)±2修改源串指针
⚫从串取 ◢ ◢ 格式 LODSB 取字节 LODSW 取字 ◢ ◢ LODSB执行操作 (AL) ← (DS:SI ) 从源串取入AL (SI ) ← (SI ) 1 修改源串指针 ◢ ◢ LODSW执行操作 (AX ) ← (DS:SI ) 从源串取入AX (SI ) ← (SI ) 2 修改源串指针
●存入串 A格式 STOSB 存入字节 存入字 STOSB执行操作 (ES:DD)←(AL) 将AL存入目的串 (DI)←(DI)±1修改目的串指针 STOW执行操作 (ESD)←(AX)将AX存入目的串 (D)←(DI)±2修改目的串指针
⚫存入串 ◢ ◢ 格式 STOSB 存入字节 STOSW 存入字 ◢ ◢ STOSB执行操作 (ES:DI) ← (AL) 将AL存入目的串 (DI ) ← (DI ) 1 修改目的串指针 ◢ ◢ STOSW执行操作 (ES:DI) ← (AX) 将AX存入目的串 (DI) ← (DI ) 2 修改目的串指针
●串比较 4A格式 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.两数相减,只影响标志,不影响操作数
⚫串比较 ◢ ◢格式 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. 两数相减,只影响标志,不影响操作数
●搜索串 A格式 SCASB 取字节 SCASW 取字 Z SCASB执行操作 (AD)-(ES:DI)从目的串搜索字节 (DI)←(DI)±1修改目的串指针 SCASW执行操作 (AX)-(ES:DI)从目的串搜索字节 (D)←(DI)±2修改目的串指针 两数相减,只影响标志,不影响操作数
⚫ 搜索串 ◢ ◢格式 SCASB 取字节 SCASW 取字 ◢ ◢ SCASB执行操作 (AL) - (ES:DI ) 从目的串搜索字节 (DI ) ← (DI ) 1 修改目的串指针 ◢ ◢ SCASW执行操作 (AX ) - (ES:DI ) 从目的串搜索字节 (DI) ← (DI ) 2 修改目的串指针 两数相减,只影响标志,不影响操作数