zoukankan      html  css  js  c++  java
  • 《汇编语言》实验三——编程、编译、连接、跟踪

    实验任务一:将下面的程序保存为t1.asm文件,将其生成可执行文件t1.exe。

     

    用记事本编辑代码,保存为t1.asm:

    编译、连接,生成可执行文件:

     

    运行程序:

     

    得到输出结果为06

    下面研究修改line4和line9中寄存器dl的值,对结果产生的影响。

    为简化编译、连接的过程,决定采用批处理文件的形式来完成这个过程:

    生成一个名为m_l.bat的批处理文件。

    修改:line4的3—>4,line9的6—>8:

    编译、连接、执行:

    得到输出结果08

    用debug对t1.exe调试:

    用r命令查看各寄存器的值:

    发现cs的值为076A,ds的值为075A,满足(cs)=(ds)+10H

    查看psp的内容:

    可以看到,psp的头两个字节的确是CD 20

    使用u命令反汇编,观察源代码:

    单步调试:

    实验任务二:将下面的程序保存为t2.asm文件,将其生成可执行文件t2.exe

    用记事本编辑代码,保存为t2.asm:

    编译、连接,生成可执行文件:

    运行结果:在屏幕的左上方出现红色数值36

    下面研究修改line7和line10的部分数据对结果产生的影响

    ①line4的 0433h—>0432h, line10的 0436h—>0439h

    编译、连接、运行:

    运行结果:在屏幕的左上方出现红色数值29

    ①line4的 0433h—>0333h, line10的 0436h—>0336h

    编译、连接、运行:

    运行结果:在屏幕的左上方出现蓝色数值36

    从以上3组结果可以看出,line7控制第一个字符的输出,line10控制第二个字符的输出。二者[bx]的高字节决定了颜色,低字节控制显示的字符。

  • 相关阅读:
    通用二进制格式安装、编译安装过程(以mysql为例)
    linux:网络
    深圳:软通-运维
    深圳:软通-python
    linux:用户管理
    linux:vim
    深圳:卡莱特-售前/售后服务
    linux:基本指令
    linux:安装
    电脑:磁盘扩容
  • 原文地址:https://www.cnblogs.com/kevin234/p/9890063.html
Copyright © 2011-2022 走看看