汇编-寄存器数据的存储与变化-算术运算对标志位的影响 实验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盘 输入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.sigusoft.com/p/bf7caf046420 机器码 与 汇编指令的关系https://blog.csdn.net/z3410218746/article/details/7485602 80×86寻址方式及指令系统https://wenku.baidu.com/view/d9bb76a40029bd64783e2c6a.html 计算机组成原理实验报告单算数运算及对标志位的影响https://wenku.baidu.com/view/5ed10f72d1f34693dbef3e12.html
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/24446.html