• 汇编-寄存器数据的存储与变化-算术运算对标志位的影响


    实验3:寄存器数据的存储与变化-算术运算对标志位的影响

    1.项目设计
    将操作数放在2000H和2001H两个单元中,编程进行以下的算术运算 ,并记录标志位的状态。
    (1)41H+3BH,结果放在2002H单元中;
    (2)41H+5AH,结果放在2003H单元中;
    (3)AFH+7EH,结果放在2004H单元中;
    (4)E3H+1DH,结果放在2005H单元中;
    (5)41H-3BH,结果放在2006H单元中;
    (6)3BH-41H,结果放在2007H单元中;
    2.项目实施
    (1)写出指令代码段,例如41H+3BH
    MOV AX, [2000H]
    ADD AX, [2001H]
    MOV [2002H], AX
    (2)写出指令的机器代码:
    例如上面指令的机器代码为 A0 00 20
    04 01 20
    A2 02 20
    (3)在debug中调试程序。
    3.项目运行
    (1)运行每一段指令,按表1格式在项目报告中记录结果。

    实验步骤:

    直接进入DOSBox 进行相关挂载操作

    挂载并切换到C盘

    切换至c盘 输入debug

    • -A命令进入编写代码界面
    • -R查看当前寄存器中指令
    • -T查看寄存器下一地址的内容以及相应的机器码
    • -D查看DS内数据存放的结果

    1.1)程序1代码以及机器码及结果
    这里写图片描述
    分别写入三条语句来进行计算41H+3BH并放到2002H单元内
    按ENTER键 再输入R查看当前寄存器中的内容,可以看到对应汇编语句所对应的机器码。 由于涉及到32位与64位操作系统,所生成的机器码会有所差别。
    使用-T查看寄存器下一地址的内容和相应的机器码
    注意:使用-T查看直到运行完最后一条汇编指令为止。

    此时,使用-D xxx xxx
    即-D 2002 2002即可查看写在2002H单元内的内容
    可知值为7C 相对于的NV UP EI PL NZ NA PO NC 为状态标志 ,具体参数参见此图

    这里写图片描述

    当然例题1也能 使用AX 立即数计算 其也能计算41H+3BH的值。结果存在2002H 结果都是7C 但机器码不同
    如图:

    这里写图片描述

    2,1)程序2的相关指令和结果

    这里写图片描述
    得到对应的SF,ZF,CF

    这里写图片描述

    3)DEBUG写入代码进行T测试

    这里写图片描述
    3.3)程序3代码以及机器码

    这里写图片描述

    3.3)程序3结果及SFZFCF
    这里写图片描述
    4)找到02的值
    这里写图片描述

    4.1)程序4代码以及机器码

    这里写图片描述

    4.3)得到SF,ZF,CF

    这里写图片描述

    5.1)程序5代码以及机器码
    这里写图片描述
    5.2)得到SF,ZF,CF与2006h的值

    这里写图片描述

    6.1)程序6代码以及机器码
    这里写图片描述

    6.2)程序6结果及SFZFCF
    这里写图片描述

    7.1)程序7代码以及机器码以及结果

    这里写图片描述

    个人得到的程序运行结果及CF,SF,ZF值

    这里写图片描述

    相关参考资料

    这里写图片描述
    机器码的构成结构

    DOSBox下debug的使用 https://www.jianshu.com/p/bf7caf046420

    机器码 与 汇编指令的关系https://blog.csdn.net/z3410218746/article/details/7485602

    80x86寻址方式及指令系统https://wenku.baidu.com/view/d9bb76a40029bd64783e2c6a.html

    计算机组成原理实验报告单算数运算及对标志位的影响https://wenku.baidu.com/view/5ed10f72d1f34693dbef3e12.html

  • 相关阅读:
    [转]windows下mysql配置文件my.ini的位置
    [转]Oracle 11g不能导出空表的多种解决方法
    [转]ORACLE WITH AS 用法(相当于查询开始前构造临时表,提高效率)
    [转]基于WordPress的微信小程序支付功能开发
    从数据库优化到治病(2)治好心悸过程
    算命三十多年的资深命理师的人生感悟!
    从高维度看世界
    鸾书精华
    实用QPS和TPS高的高效分析方法
    windows 安装 mysql
  • 原文地址:https://www.cnblogs.com/whatiwhere/p/9094228.html
Copyright © 2020-2023  润新知