重庆大学计算机硬件实验:无符号数除法与拆字程序
版权申诉
5星 · 超过95%的资源 38 浏览量
更新于2024-07-03
收藏 421KB DOC 举报
在《计算机硬件技术基础》实验中,主要涉及了三个实验项目:简单程序设计、拆字程序和分支程序设计。下面详细解析每个实验的内容及实现方法。
实验一:简单程序设计实验
该实验的核心任务是编写一个32位无符号数除法程序,具体要求是将存储在`NUM1`中的32位无符号数除以`NUM2`中的16位无符号数。程序利用指令集中的`DIV`操作来完成除法计算,首先将`NUM1`和`NUM2`的地址传入`MOV DX,WORD PTR NUM1 + 2`,然后执行`DIV NUM2`指令。结果被存储在`AX`和`DX`寄存器中,最后将商(AX)和余数(DX)分别赋值给`NUM3`和`NUM4`。参考源程序展示了数据段的定义和代码段的执行流程,包括数据段初始化、数据段指针设置以及调用中断返回DOS系统的部分。
实验二:拆字程序
此实验涉及到对2位十六进制数的操作。程序目标是将`ARY`单元中的16进制数`X1X2`拆分成`X1`和`X2`两部分,并存储在`ARY+1`和`ARY+2`。首先读取`ARY`单元的值到`AL`寄存器,通过位操作(`AND`和`SHR`)提取出高位(`X1`)和低位(`X2`),然后分别存入目标位置。程序结束时调用中断返回DOS系统。
实验三:分支程序设计实验
在这个实验中,设计了一个字符比较程序。它接收三个无符号字节`A`、`B`和`C`,并根据它们的相对大小关系更新变量`K`。比较过程通过`CMP`指令进行,如果三个数不相等,则`K`置0;如果有两个相等,则`K`置1;如果全相等,则`K`置2。整个程序结构简洁,体现了分支控制的基本原理。
这些实验旨在让学生理解计算机硬件的基本操作,熟悉程序设计语言的运用,同时锻炼他们逻辑分析和算法设计的能力。通过实际编写和调试代码,学生可以深入掌握计算机硬件与软件交互的底层原理。
2022-04-06 上传
2021-10-11 上传
2022-07-07 上传
2022-07-13 上传
omyligaga
- 粉丝: 84
- 资源: 2万+
最新资源
- C++ Qt影院票务系统源码发布,代码稳定,高分毕业设计首选
- 纯CSS3实现逼真火焰手提灯动画效果
- Java编程基础课后练习答案解析
- typescript-atomizer: Atom 插件实现 TypeScript 语言与工具支持
- 51单片机项目源码分享:课程设计与毕设实践
- Qt画图程序实战:多文档与单文档示例解析
- 全屏H5圆圈缩放矩阵动画背景特效实现
- C#实现的手机触摸板服务端应用
- 数据结构与算法学习资源压缩包介绍
- stream-notifier: 简化Node.js流错误与成功通知方案
- 网页表格选择导出Excel的jQuery实例教程
- Prj19购物车系统项目压缩包解析
- 数据结构与算法学习实践指南
- Qt5实现A*寻路算法:结合C++和GUI
- terser-brunch:现代JavaScript文件压缩工具
- 掌握Power BI导出明细数据的操作指南