《汇编语言程序设计》实验报告一_第1页
《汇编语言程序设计》实验报告一_第2页
《汇编语言程序设计》实验报告一_第3页
《汇编语言程序设计》实验报告一_第4页
《汇编语言程序设计》实验报告一_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

天津大学计算机科学与技术学院实验报告 共 13 页 第 1 页 汇编语言程序设计汇编语言程序设计 实验报告 一 实验报告 一 年级 班级 学号 姓名 一 一 实验题目实验题目 1 编制一汇编源程序 求出下列公式中的 Z 值 并放在 RESULT 单元中 2 8 xyx z 2 用查表的方法将 1 位十六进制数转换成相应的 ASCII 码 并在屏幕上显示 3 写一个完整的程序放在代码段C SEG 中 要求把数据段 D SEG 中的 AUGEND 和附加段 E SEG 中的 ADDEND 相加 并把结果存放在数据段 D SEG 中的 SUM 中 其中 AUGEND ADDEND 和 SUM 均为双字长变量 AUGEND 赋初值为 99251 ADDEND 赋初值为 15962 2 2 实验要求实验要求 1 分别用远过程和 DOS 中断 4CH 的两种方式编制完整的汇编语言源程序 2 掌握汇编语言上机的完整过程 编辑 汇编 连接 运行 调试 3 使用 DEBUG 察看并修改寄存器和存储器的内容 4 使用 DEBUG 连续运行 单步运行 3 程序设计说明程序设计说明 1 程序程序 hbsy1 1 功能 根据公式 计算 z 的值 并将结果存储在 result 单元中 2 8 xyx z 算法 1 在数据段中定义两个变量 x 和 y 并将 x 赋初值为 6 y 赋初值为 7 2 定义一个适宜大小的堆栈段 3 指令 mov dx x 实现 dx x 指令 add dx y 实现 dx x y 指令 shl dx cl 实现 dx x y 8 cl 的值为 3 指令 sub dx x 实现 dx x y 8 x 指令 sar dx 1 实现 dx x y 8 2 指令 mov result dx 将 z 的值存储到 result 单元中 2 程序程序 hbsy1 2 天津大学计算机科学与技术学院实验报告 共 13 页 第 2 页 功能 将一位十六进制数转换成相应的 ASCII 码 并在屏幕上显示出来 算法 1 建立一个数据表 TABLE 存储 0 到 9 A 到 F 所对应的 ASCII 码 2 在数据段中定义一个字节变量 HEX 存储一位十六进制数 3 将 HEX 的值传给 AL 再用换码指令 XLAT 将 AL 的值换为数据表 TABLE 中对应的 ASCII 码 4 调用相应指令将 HEX 对应的 ASCII 码显示出来 3 3 程序程序 hbsy1 3hbsy1 3 功能 将数据段 D SEG 中的 AUGEND 和 E SEG 中的 ADDEND 相加 并把结果存放在数据段 D SEG 中的 SUM 中 算法 1 在数据段 D SEG 中定义双字长变量 AUGEND 并赋初值为 99251 2 在附加段 E SEG 中定义双字长变量 ADDEND 并赋初值为 15962 3 将 AUGEND 的低 16 位传给 AX 高 16 位传给 DX 4 将 ADDEND 的低 16 位与 AX 相加 高 16 位与 DX 相加 5 用高低位的方法将 AUGEND 与 ADDEND 相加的结果传给 SUM 4 4 程序调试说明程序调试说明 1 1 程序程序 hbsy1 1hbsy1 1 用 MASM 编译程序 hbsy1 1 再用 LINK 链接程序 hbsy1 1 天津大学计算机科学与技术学院实验报告 共 13 页 第 3 页 用 DEBUG 中的 R 指令显示寄存器的内容 用 DEBUG 中的 D 指令显示存储器的内容 用 DEBUG 中的 T 指令对程序进行单步调试 天津大学计算机科学与技术学院实验报告 共 13 页 第 4 页 用 DEBUG 中的 G 指令对程序设置断点进行调试 2 程序程序 hbsy1 2hbsy1 2 用 MASM 编译程序 hbsy1 2 再用 LINK 链接程序 hbsy1 2 天津大学计算机科学与技术学院实验报告 共 13 页 第 5 页 用 DEBUG 中的相应指令对程序进行调试 3 3 程序程序 hbsy1 3hbsy1 3 用 MASM 编译程序 hbsy1 3 再用 LINK 链接程序 hbsy1 3 天津大学计算机科学与技术学院实验报告 共 13 页 第 6 页 用 DEBUG 中的相应指令对程序进行调试 天津大学计算机科学与技术学院实验报告 共 13 页 第 7 页 4 4 实验结果与结论实验结果与结论 1 1 程序程序 hbsy1 1hbsy1 1 程序 hbsy1 1 运行的结果 2 2 程序程序 hbsy1 2hbsy1 2 程序 hbsy1 2 运行后 屏幕显示结果为 4 3 程序程序 hbsy1 3hbsy1 3 程序 hbsy1 3 运行的结果 5 使用说明使用说明 1 1 程序程序 hbsy1 1hbsy1 1 在 DOS 环境下 进入到程序 hbsy1 1 exe 所在的目录下 然后输入 hbsy1 1 exe 回车 就可以运行 程序 hbsy1 1 exe 2 2 程序程序 hbsy1 2hbsy1 2 在 DOS 环境下 进入到程序 hbsy1 2 exe 所在的目录下 然后输入 hbsy1 2 exe 回车 运行程序 hbsy1 2 exe 屏幕上显示字符 4 天津大学计算机科学与技术学院实验报告 共 13 页 第 8 页 3 3 程序程序 hbsy1 3hbsy1 3 在 DOS 环境下 进入到程序 hbsy1 3 exe 所在的目录下 然后输入 hbsy1 3 exe 回车 就可以运行 程序 hbsy1 3 exe 6 6 实验中遇到的问题及解决方法实验中遇到的问题及解决方法 1 1 1 在编译程序 hbsy1 3 时 15 20 行出现错误 Illegal size for operand 2 进入源程序 找到对应的行 发现在传值的时候没有注意源操作数与目的操作数的长度应保持一 致 天津大学计算机科学与技术学院实验报告 共 13 页 第 9 页 3 修改相应错误后 程序编译通过 7 7 程序源代码程序源代码 1 1 程序程序 hbsy1 1hbsy1 1 data segment x dw 6 y dw 7 result dw data ends sta1 segment para stack dw 20h dup 0 sta1 ends code segment proc1 proc far assume cs code ds data ss sta1 天津大学计算机科学与技术学院实验报告 共 13 页 第 10 页 start push ds xor ax ax push ax mov ax data mov ds ax mov dx x add dx y mov cl 3 shl dx cl sub dx x sar dx 1 mov result dx ret proc1 endp code ends end start 2 2 程序程序 hbsy1 2hbsy1 2 data segment table db 30h 31h 32h 33h 34h 35h db 36h 37h 38h 39h db 41h 42h 43h 44h 45h 46h hex db 4 天津大学计算机科学与技术学院实验报告 共 13 页 第 11 页 ascii db data ends sta1 segment para stack dw 20h dup 0 sta1 ends code segment assume cs code ds data ss sta1 start mov ax data mov ds ax mov bx offset table mov al hex xlat table mov ascii al mov dl al mov ah 2 int 21h mov ah 4ch int 21h code ends end start 3 3 程序程序 hbsy1 3hbsy1 3 d seg segment 天津大学计算机科学与技术学院实验报告 共 13 页 第 12 页 augend dd 99521 sum dd d seg ends e seg segment addend dd 15962 e seg ends c seg segment assume cs c seg ds d seg es e seg start mov ax d seg mov ds ax mov ax e seg mov es ax mov ax word ptr augend mov dx word ptr augend 2 add

温馨提示

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

评论

0/150

提交评论