第二次实验报告_第1页
第二次实验报告_第2页
第二次实验报告_第3页
第二次实验报告_第4页
第二次实验报告_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

长春理工大学长春理工大学 汇编语言汇编语言 实验报告实验报告 实验题实验题目 目 用用 DEBUG 程序程序调试调试程序功能段程序功能段 实验时间实验时间 2016 年年 4 月月 6 日日 实验实验地点 地点 东东三教三教 912 班班 级级 1405111 学学 号 号 140511114 姓姓 名 名 王国王国伟伟 一 实验实验目的目的 1 继续学习使用 DEBUG 程序的各种命令 2 利用 DEBUG 学习了解计算机取指令 执行指令的工作过程 3 掌握 8086 8088 基本指令的使用方法和功能 一 实验实验准准备备 1 DEBUG 命令命令 1 G 命令命令 格式 G 起始地址 断点地址 功能 从起始地址开始执行到断点地址 如不设断点地址 则程序一直执行 到终止指令才停止 2 P 命令命令 功能 执行汇编程序 单步跟踪 与与 T 命令不同的是 命令不同的是 P 命令不会跟踪命令不会跟踪进进入子程序或入子程序或软软中断 其使用方式与中断 其使用方式与 T 相同相同 3 N 命令命令 功能 指定文件名 为读 写文件做准备 4 W 命令命令 功能 向磁盘写内容 5 L 命令命令 功能 从磁功能 从磁盘盘将文件或扇区内容将文件或扇区内容读读入内存入内存 注意 使用注意 使用该该命令前 必命令前 必须须用用 N 命令命令设设定文件名定文件名 一 实验实验任任务务 1 按照下列按照下列给给定步定步骤骤完成求累加和程序完成求累加和程序 程序程序 MOVBX 1000 MOVCX 10 MOVAL 0 LOP ADD AL BX INCBX J LOOP LOP INT3 步步骤骤 1 用 A 命令将程序键入到 100H 开始的内存中 在键入时记下标号 LOP 和 J 的实际 地址 在键入 LOOP 指令时 LOP 用实际地址值代替 LOP 0B50 0108 J 0B50 010B 2 用命令 N AA 将此程序命名为文件 AA 文件名可任取 3 用 R 命令将 BX CX 改为程序长度值 即最后一条指令后面的地址减去开始地址 用 R 命令把 BX 设为 0000H CX 设为文件长度 4 用命令 W 100 将此程序存到 AA 命名的磁盘文件中 5 用命令 Q 退出 DEBUG 6 用命令 DEBUG AA 再次调入 DEBUG 和文件 AA 可用 U 命令检查调入程序 若调入 DEBUG 时忘了加 AA 文件名 可用 N 命令和 L 命令将文件调入 7 用 E 命令在内存地址 1000H 处键入 16 个数字 8 用命令 G 100 J J 用实际地址代替 使程序运行并停在断点 J 上 检查 AX BX 的值是否符合你的预计值 9 用 T 命令运行一步 观察程序方向 IP 值 和 CX 值是否与你的估计一样 若不一 样 检查程序是否有错 10 重复 G J 与 T 再检查 AX 是否正确 J 为断点地址 11 用 G 命令使程序运行到结束 检查 AX 值是否正确 2 用命令用命令 A 汇编汇编下列指令 判断指令正下列指令 判断指令正误误并并说说明原因明原因 i LEA DI AX 错误 因为 lea 指令传送的必须为变量名 标号或地址表达式 ii MOV DS 2010 错误 不能将立即数放入数据段中 iii PUSH AL 错误 push 一次压入 16 位数据 al 只有八位 iv OUT 900 AL 错误 因为当端口地址大于 FFH 的时候应该将端口地址送到 dx 中 al 只能 操作八位数 v MOV BX 0 错误 因为没有标明是字节传送还是字传送 3 利用利用 T P G 命令 命令 执执行下列指令段 注意它行下列指令段 注意它们们的不同之的不同之处处 MOV DI 300 MOV SI 400 MOV CX 3 CLD REP MOVSB INT 3 如果用 G 命令直接中断 并且显示寄存器标志和下一条要执行的命令 T 是执行一个指令 通常采用跟踪一条指令 但用户也可以用指令条数设定 一次跟踪多条指令 每执行一条指令之后 显示所有寄存器的内容和标志状态以 及下一条指令在内存中的保存情况 P 其实也是执行一条指令 但区别是在执行 INT 的时候会把这个 INT 整个的 执行完毕 而不是跳转到这个中断程序去跟踪执行使用 P 命令执行程序 该程序 不间断运行 直到循环 重复字符串指令 软件中断或者完成了指定地址的子例 程为止 或者直到执行了指定数量的机器指令为止 若被执行的指令不是循环 重复的字符串指令 软件中断或子程序 则 P 命令与 T 跟踪 命令的作用相同 4 程序程序 MOV DI 1000 MOVCX 8 MOVSI 2000 CLC LOP MOV AL SI ADC DI AL INCSI INCDI LOOPLOP INT 20 步步骤骤 1 用 A 命令键入此程序 2 用 E 命令在 1000H 开始处键入一个 8 字节被加数 在 2000H 开始处键入一 个 8 字节加数 均为低字节在前面 3 用 G 命令运行此程序 并用 D 命令检查其结果 存放在哪里 是否正确 4 将 INT 20H 指令改为 INT 3 有何区别 若这条指令不加 行不行 试 试 INT 20H 程序终止 INT3 为断点 5 请说明这个程序完成的功能是什么 将 0b50 1000 与 0b50 2000 对应的地址内的数相加并存入 di 四 实验小结四 实验小结 在写入程序时 应当先读懂程序 大致上了解一下该程序段所执行的功能或者流程 以便后面 进行查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论