• 标志寄存器06 零基础入门学习汇编语言59


    第十一章:标志寄存器06

     

    让编程改变世界

    Change the world by program


     

    DF标志和串传送指令

     

    我们来看两个程序

    编程1: 用串传送指令,将data段中的第一个字符串复制到它后面的空间中。 data segment

    db ‘Welcome to masm!’

    db 16 dup (0)

    data ends   我们分析一下,使用串传送指令进行数据的传送,需要给它提供一些必要的信息,它们是: ① 传送的原始位置:ds:si; ② 传送的目的位置:es:di; ③ 传送的长度:cx; ④ 传送的方向:DF。   在这个问题中,这些信息如下: ① 传送的原始位置:data:0; ② 传送的目的位置:data:16; ③ 传送的长度:16; ④ 传送的方向: 因为正向传送(每次串传送指令执行后,si和di 递增)比较方便,所以设置DF=0。   明确了这些信息之后,我们来编写程序! 相关代码下载  

    编程2: 用串传送指令,将F000H段中的最后16个字符复制到data段中。

    data segment

    db 16 dup (0)

    data ends   我们还是先来看一下应该为串传送指令提供什么样的信息: ① 要传送的字符串位于F000H段的最后16个单元中,那么它的最后一个字符的位置:F000:FFFF,是显而易见的。 ② 我们可以将ds:si指向 F000H段的最后一个单元,将es:di指向data段中的最后一个单元,然后逆向(即从高地址向低地址)传送16个字节即可。   相关信息如下: ① 传送的原始位置:F000:FFFF; ② 传送的目的位置:data:15; ③ 传送的长度:16; ④ 传送的方向:因为逆向传送(每次串传送指令执 行后,si 和 di 递减)比较方便,所以设置 DF=1。   程序实现代码:相关代码下载  

    pushf和popf

      pushf:将标志寄存器的值压栈; popf:从栈中弹出数据,送入标志寄存器中。 pushf 和 popf,为直接访问标志寄存器提供了一种方法。 [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LHGMIRLCGGGT']视频下载[/Downlink]
  • 相关阅读:
    Java并发基础-并发模型、基础接口以及Thread
    Java基础-IO
    大数据平台搭建-hbase集群的搭建
    大数据平台搭建-zookeeper集群的搭建
    大数据平台搭建-基础环境安装
    kafka知识体系-消费者编程实践
    kafka知识体系-生产者编程实践
    editplus打造java运行环境(安装、配置、操作)
    实验2 安装Atlas实现读写分离
    实验1 配置MySQL主从同步
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3846054.html
Copyright © 2020-2023  润新知