zoukankan      html  css  js  c++  java
  • 汇编实验四 [bx]和loop的使用

    任务一     

    综合使用loop[bx],编写完整汇编源程序,实现向内存b80007b8开始的连续16个字单元重复填充字数据0430h

    1、源代码,保存为t3.asm

    编译、连接后运行该代码,结果如下图:

    2、将源代码程序中字数据0403h修改为0441h后,再次运行结果如图:

    3、将源代码程序中字数据0403h修改为0603h后,再次运行结果如图:

    由以上1、2、3的对比,我们可以看出bx中前两个字节控制颜色,后两个字节控制形状。

    任务二    

     综合使用loop[bx],编写完整汇编源程序,实现向内存0200~023f依次传送数据0~633FH)。

    1、源代码,保存为t4.asm:

    2、汇编、连接无误后,进入debug环境使用d命令查看,如下图:

     用d命令可以看到传送数据成功。

    进入debug,先用r命令查看个寄存器中的数据,我用t命令单步执行观察了0:200~0:202的变化:

    如上,确认了将00,01,02传送到该区域,由于单步执行次数过多,剩下的部分我用g命令一次执行完了

    任务三  

    补全源代码

    因为复制的是汇编指令,所以必须为cs

    汇编、连接后进入debug调试环境,使用r命令查看cx的值,查看总长度:

    用u命令进行反汇编,可以看出从第一条指令开始到mov  ax,4c00h的长度为十六进制表示为17,即十进制的23;

    然后修改t5.asm中源代码,把cx改为0017h:

    汇编连接后进入debug调试环境,r命令查看cx,u命令反汇编:

    用t命令和p命令调试后结果:

    d命令查看0:200~0:23F如图:

    与前面两个u命令反汇编得到的结果对比,可以看出指令被写到内存0:200处。

    总结与体会

      复习了实验三的汇编源程序的编写,汇编、连接,学习新的[bx]和loop的使用,发现在debug中对g命令与p命令的使用还不太熟悉,需要加强基础知识的复习巩固。

      对于选做部分,因为自己对栈的使用还不是很了解,所以在此没有用栈的特性来做。

  • 相关阅读:
    SU Demos-02Filtering-03Sudipfilt
    SU suspecfk命令学习
    SU suplane命令学习
    (原创)c#学习笔记10--定义类成员01--成员定义01--定义字段
    (原创)c#学习笔记09--定义类08--浅度和深度复制
    (原创)c#学习笔记09--定义类07--结构类型
    (原创)c#学习笔记09--定义类06--接口和抽象类
    (原创)c#学习笔记09--定义类05--类库项目
    (原创)c#学习笔记09--定义类03--构造函数和析构函数
    (原创)c#学习笔记09--定义类02--System.Object
  • 原文地址:https://www.cnblogs.com/ljzww/p/9975427.html
Copyright © 2011-2022 走看看