




免费预览已结束,剩余14页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川大学网络教育学院 计算机综合实践 校外学习中心 绵阳广播电视大学 学 生 姓 名 张润 专 业 电气工程及其自动化 层 次 专升本 年 级 14 秋 学 号 DH114244008 实 践 时 间 2016 年 3 月 20 日 实验 目的 1 了解并逐步熟悉汇编语言的编辑方法及特点 2 复习 8088 汇编语言的段结构 常用的指令与伪指令 存储空间的分配等 3 掌握汇编语言的编辑 汇编及连接的过程 4 了解并逐步掌握运用 DEBUG 进行调试汇编语言程序 5 借助 DEBUG 调试工具来发现汇编语言程序的错误所在 并加以改正 实验 内容 算法 与流 程图 程序 清单 运行 1 进入 DEBUG 方法 1 在 Windows 开始菜单中单击运行命令 直接在 运行对话框中输入 DEBUG 方法 2 在运行对话框中输入 CMD 启动 DOS 命令窗口后 输入 DEBUG 方法 3 在程序 附件 命令提示符 启动 DOS 命令窗 口后输入 DEBUG 2 DEBUG 命令格式 DEBUG 的每个命令都是一个字母 后跟一个或多个参数 下面对 DEBUG 命令作几点说明 字母不分大小写 只使用 16 进制数 且不能带后缀 H 以空格或逗号作为命令各项之间的分隔符 分隔符只 在两个数值之间是必须的 结果 调试 分析 和体 会 可以用 Ctrl C 或 Ctrl Break 终止命令的执行 若输入的命令有语法错误 则提示 Error 并用 指出错误位置 3 常用的 Debug 功能 用 Debug 的 R 命令查看 改变 CPU 寄存器的内容 用 Debug 的 D 命令查看内存中的内容 用 Debug 的 E 命令改写内存中的内容 用 Debug 的 U 命令将内存中的机器指令翻译成汇编指令 用 Debug 的 T 命令执行一条机器指令 用 Debug 的 A 命令以汇编指令的格式在内存中写了一条 机器指令 4 用 Debug 的 R 命令查看 改变 CPU 寄存器的内容 R 命令用来显示和修改寄存器的值 包括以下两种格式 1 R 显示所有寄存器和 8 个标志位的值 并反汇编 CS IP 所 指的指令 2 R 显示指定寄存器的值 并等待用户键入新的值 按回车 键结束 R 命令 5 用 Debug 的 D 命令查看内存中的内容 D 命令可以查看内存中的内容 D 命令的格式较多 只介 绍本次实验中用到的格式 8086 8088CPU 能够访问 1M 内容 D 命令可以显示 0000 0000H FFFF FFFFH 中的任何一个单 元的内存 如果想知道内存 10000H 处的内容 可以用 d 段地址 偏移地址 的格式来查看 如输入 d 1000 0 使用 d 1000 9 查看 1000 9 处的内容 使用 d 1000 0 9 查看 1000 0 1000 9 的内容 一进入 Debug 可直接使用 D 命令直接查看 将列出 Deb ug 预设的地址处的内容 6 用 Debug 的 E 命令改写内存中的内容 使用 e 起始地址 数据 数据 数据 的格式来进行 如将内存 1000 0 1000 9 单元中的内容分别写为 0 1 2 3 4 5 6 7 8 9 e 1000 0 0 1 2 3 4 5 6 7 8 9 也可以采用提问方式一个一个修改内存中的内容 如 输入 e 1000 0 按 Enter 键 输入修改的数据 再按空 格键输入下一个要修改的数据 最后 Enter 键结束操作 输入字符串的格式 如 e 1000 10 1 a 2 c 3 I BM 将 输入 1 a 2 c 3 IBM 到相应单元 向内容中写入机器码 如 b80100 代表 mov ax 0001 b90200 代表 mov cx 002 01c8 代表 add ax cx 那么输入 e 1000 0 b8 01 00 b9 02 00 01 c8 就将该程序 输入内容 1000 0 处 然后使用 u 命令 u 1000 0 可以将内 存单元中的内容翻译成汇编指令 如果要执行该程序 首先 用 r 命令将 cs 修改成 1000 ip 修改成 0 再执行 t 命令 单步执行程序 执行 T 命令时 CPU 执行 CS IP 执行的指令 并将 IP 加 1 7 用 Debug 的 A 命令以汇编指令的形式在内存中写了 机器指令 示例 用 A 命令 输入下列程序并运行 a 1000 0 mov ax 1 mov bx 2 mov cx 3 add ax bx add ax cx add ax ax 直接按 Enter 键结果输入 用 r 命令将 cs 修改成 1000 ip 修改成 0 再执行 t 命令 单步执行程序 执行 T 命令 时 CPU 执行 CS IP 执行的指令并将 IP 加 1 实验二 设计汇编语言程序 一 实验题目 设计汇编语言程序 二 实验日期 2010 04 10 三 实验目的 字符串统计程序设计 双字乘法程序设计 四 实验内容 1 字符串统计 在数据段中建立一个缓冲区 BUFFER 变量 VER 编程使 得程序具 有如下功能 从键盘输入一个子字符串存入 VER 从键 盘输入包含一个或几个子字符串的字符串存入 BUFFER 统 计 BUFFER 中的字符串含有多少个子字符串以及每个子字符 串的位置 2 双字乘法程序 设计一个程序实现 32 位带符号双精度数乘法运算 由于 只有 8 位和 16 位的乘法指令 因此 32 位乘法运算是不能直 接用指令实现的 但可以用 16 位乘法指令 通过 4 次想乘 然后把部分积想加 对于带符号数 可以先根据绝对值求得 积 然后判断积的符号 若积为负数 应将其用补码表示 五 程序设计 1 字符串统计程序设计 include usingnamespacestd intmain chara intb 0 c 0 d 0 e 0 cout 请输入一行任 a cin get while a n if a 128 b elseif a a elseif a d using namespace std int main char a int b 0 c 0 d 0 e 0 f 0 cout 请输入一行任意字符 a cin get while a n if a 128 b else if a a else f a cin get cout 总共有 b 2 c d e f 个字符 endl cout 中文 t 英文 t 空格 t 数字 t 其他 endl cout b 2 t c t d t e t f 8 0 x40 outb inb p 0 x21 允许接收定时 器中断 void do timer void 这是定时器主程序 用于每隔一段时间后进行某些操作 8253 asm 以下是 nasm 格式的汇编代码 这个中断处理函数必须 用汇编 timer interrupt push gs push fs push es push ds push ebp push edi push esi push edx push ecx push ebx push eax 如果你不在操作系统下使用 以下三行必须删除 否则 必须把 0 x10 更改为内核段选择符 mov eax 0 x10 mov ds ax mov es ax mov al 0 x20 out 0 xa0 al 发送 EOI out 0 x20 al call do timer pop ebx pop ecx pop edx pop esi pop edi pop ebp pop ds pop es pop fs pop gs xor eax eax iretd 实践体会 本次微机实验课程设计 使我对微机软硬件结合有了进 一步的了解 原来并不太清楚是什么意思 一直都很模糊 听课本也是很迷茫 而之前的那些单元实验 也没有都做好 之前做的实验 由于大部分是验证性的 所以就很被动地 去做 甚至并没有想为什么要那样连电路 内部的代码更没 有认真看 这次课程设计 因为要自己去设计整个过程 所 以就不得不去了解学习自己原来并没有真正弄懂的东西 比 如一些程序的代码的意思 汇编语言的逻辑 比如一些芯片 的用途 使我对前面所做的实验有了原理性的了解 回头看 一些实验 也知其然其所以然了 同时对课本上讲的一些内 容 不再像以前那样觉得抽象 通过这次设计 有了具体的 理解 同时 我也知道了设计一个项目 应该如何下手 应该 先对项目要求有个全面的了解 知道要做什么 然后根据要 求所要涉及到的知识我们要主动去摄取 结合自己已学过的 再对整体框架有个感知 心里有数后 进行设计 设计时 用流程图 这很重要 这样整个思路就很清晰 而且是按照 软硬件语言的逻辑顺序进行 就很方便 设计过程可以分模 块 不要一开始就想把所有的功能都实现了 应该一个模块 一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年烈士纪念场所管理职位面试题库与答案解析
- 2025年工程监理中级考试指南与模拟题解析
- 2025年华能集团校园招聘攻略笔试模拟题及详尽解析
- 2025年机械工程专家面试模拟题与答案解析
- 2025年大数据分析师面试必-备知识要点与预测题
- 2025年注册会计师考试CPA备考攻略与模拟题
- 2025年初级网络安全工程师认证模拟题集及答案详解
- 2025年电子信息技术工程师专业技能考核试题集
- 制作虚拟现实教学课件
- 2025年电气设备安装与调试中级考试指南
- 2025年8月16日贵州省黔东南州事业单位遴选笔试真题及答案解析(专业水平测试)
- 2025-2026秋季学年第一学期学生国旗下演讲稿(20周):第一周 新程启航礼润心田-开学典礼
- 2025年教师招聘小学语文真题及答案
- 2025年突发疾病应急演练方案(脚本)
- 2025年北京市中考语文真题(含答案)
- 2025年(完整版)十八项核心制度培训考核试题(含答案)
- 2025年低压电工理论考试1000题(附答案)
- 2025年益阳市融资担保有限责任公司招聘考试笔试试卷【附答案】
- 【湖南】2025年高考湖南卷化学高考真题+答案
- 2025年中国LCP料数据监测报告
- DGTJ08-2093-2019 电动汽车充电基础设施建设技术标准 含2021年局部修订
评论
0/150
提交评论