串处理指令

原创 2004年07月08日 11:05:00

+-------+
+ CMPSB +
+-------+

ES:[DI] 与 DS:[SI] 作字节比较

比较方法:
    DS:[SI] - ES:[DI]

根据结果设置如下标志:
    OF, SF, ZF, AF, PF, CF

    if DF = 0 then
        SI = SI + 1
        DI = DI + 1
    else
        SI = SI - 1
        DI = DI - 1


+-------+
+ CMPSW +
+-------+

ES:[DI] 与 DS:[SI] 作字比较

Algorithm: Compare words: ES:[DI] from DS:[SI].

比较方法:
    DS:[SI] - ES:[DI]

根据结果设置如下标志:
    OF, SF, ZF, AF, PF, CF

    if DF = 0 then
        SI = SI + 2
        DI = DI + 2
    else
        SI = SI - 2
        DI = DI - 2


+-------+
+ SCASB +
+-------+

AL 与 ES:[DI] 作字节比较

比较方法:
    ES:[DI] - AL

根据结果设置如下标志:
    OF, SF, ZF, AF, PF, CF

    if DF = 0 then
        DI = DI + 1
    else
        DI = DI - 1


+-------+
+ SCASW +
+-------+

AX 与 ES:[DI] 作比较

比较方法:
    ES:[DI] - AX

根据结果设置如下标志:
    OF, SF, ZF, AF, PF, CF

    if DF = 0 then
        DI = DI + 2
    else
        DI = DI - 2


+------+
+ REPE +
+------+

ZF=1 时循环执行 CMPSB, CMPSW, SCASB, SCASW,循环执行的次数为 CX 的值
根据返回结果设置 ZF 标志

循环方式:

check_cx:
    if CX <> 0 then
        do following chain instruction
        CX = CX - 1 

        if ZF = 1 then: 
            go back to check_cx
        else
            exit from REPE cycle
     else 
        exit from REPE cycle


+-------+
+ REPNE +
+-------+

ZF=0 时循环执行 CMPSB, CMPSW, SCASB, SCASW,循环执行的次数为 CX 的值
根据返回结果设置 ZF 标志

循环方式:

check_cx:
    if CX <> 0 then
        do following chain instruction
        CX = CX - 1
        if ZF = 0 then:
            go back to check_cx
        else
            exit from REPE cycle
    else
        exit from REPE cycle

[汇编]8086指令系统---串处理指令

[汇编]8086指令系统---串处理指令   串处理指令处理存放在存储器中的字节串或字串,串处理的方向由方向标志位DF决定,串处理指令之前可加重复前缀,在执行串处理指令时,源串的指针SI和目的串的指针...
  • pianistOfSoftware
  • pianistOfSoftware
  • 2016年07月20日 15:44
  • 462

汇编语言中的串传送指令

串传送指令是movsb和movsw 这个两个指令的区别就是movsb是按字节传送的,movsw是按字传送的,所以下面以movsb举例 movsb就是:将ds:[si]为首地址所指的字符串移动到es...
  • qq_23880193
  • qq_23880193
  • 2015年01月12日 13:41
  • 1279

【80X86汇编语言学习】【字符串处理】字符串操作指令REP

80X86汇编提供的字符串操作指令,每次只能处理一个字或字节,所以需要提供一个循环。而8086提供了一个“重复前缀”REP,REP重复执行后面的串操作指令, 每一次执行,都先判断CX是否为0,如果CX...
  • joney526
  • joney526
  • 2015年07月26日 18:07
  • 933

Java算法--串的简单处理

题目如下:串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。 本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与字母...
  • u010870518
  • u010870518
  • 2015年04月01日 09:16
  • 1823

汇编学习历程(串传送指令)

;对串传送指令的学习与理解,希望能帮助到大家 assume cs:code,ds:data,ss:stack data segment db 'welcome to masm!' db 1...
  • id830
  • id830
  • 2013年04月15日 07:30
  • 319

At Commands:从白痴到大师的修炼历程(三)

AT Command流程分析之AtCop解析     这篇博客是起步于At Commands学习系列的第三部分,该篇主题主要介绍的是ATCommandProcessor,那么,什么是ATComm...
  • laozhuxinlu
  • laozhuxinlu
  • 2016年09月05日 14:34
  • 4632

stm32+ESP8266AT指令详细说明

最近公司团队的项目用到ESP8266,使用的是stm32c8t6芯片,软件使用MDK,于是写下调试过程中的一些注意点。具体代码和涉及思路不能外泄,这里只给出我们调试过程中的注意的方面。   关于ESP...
  • guanjianhe
  • guanjianhe
  • 2017年08月03日 16:35
  • 518

蓝桥杯 串的简单处理

串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。 本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1、把每个单词的首字母变为大写; 2、把数字与字母之间用下划线字符(...
  • u013250416
  • u013250416
  • 2015年03月19日 23:20
  • 427

STM32 AT命令的学习

//STM32  基本命令集 //------------------------------------------------------------------ const romchar ...
  • sjw881015
  • sjw881015
  • 2014年07月02日 10:45
  • 1911

配置文件报错:不允许有匹配 "[xX][mM][lL]" 的处理指令目标。

【CSDN 技术主题月】物联网全栈开发    【评论送书】每周荐书:MySQL、Kafka、微信小程序    CSDN日报20170602 ——《程序员、技术主管和架构师》    IBM Power...
  • qq_15237993
  • qq_15237993
  • 2017年06月06日 10:45
  • 507
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:串处理指令
举报原因:
原因补充:

(最多只允许输入30个字)