已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 建立汇编语言程序 1 实验目的 通过一个小程序的编写与执行 了解汇编语言程序的 基本知识 2 实验内容 汇编一个用汇编语言编写的源程序可以使用小汇编程 序 ASM exe 3 实验步骤 通过文本编辑程序键入汇编语言程序 文件的名字为 xyz asm data segment 数据段 str db Hello data ends stack segment stack 堆栈段 db 64 dup 定义 64 个元素的数组 随机数 stack ends 堆栈段结束 code segment 代码段 assume cs code ds data start mov ax data mov ds ax mov ah 9h 9 号功能调用 显示 ds dx 处的字符串 mov dx offset str int 21h 调用操作系统 21 号功能 mov ah 4ch 将立即数 4c 赋值给 ah int 21h code ends 代码段结束 end start 2 汇编过程 对保存在 d 盘的源程序文件 xyz asm 进行汇编 在 dos 状态下 键入 masm 屏幕显示 调入宏汇编程序 显示如下 此时 形成三个文件 一个是扩展名为 obj 的目标文件 在该文件中 将源程序的操作码部分变为机器码 但地 址操作数是可浮动的相对地址 而不是实际地址 因此需要 link 连接文件进行连接才能形 成可执行文件 第二个文件是列表文件 扩展名为 lisf 它把源程序和目标程序列表 以供检查程序用 第三个文件是交叉索引文件 扩展名为 crf 它是一个对源程序所用的各种符号进行前后对 照地文件 3 执行连接程序 用汇编语言编写的源程序经过汇编程序汇编后产生了目标程序 该文件是将源程序的操作 码部分变为机器码 但地址操作数是可浮动的相对地址 而不是实际地址 因此需要 link 连接文件进行连接才能运行 连接程序 link 是把一个或多个独立的目标程序模块装配成一 个可重定位的可执行文件 扩展名为 exe 文件 此外还可以产生一个内存映像文件 扩展 名为 map 在 dos 状态下 键入 link 则系统调入 link 程序 屏幕显示操作如下 map 文件 当用连接程序 link 将目标程序 obj 连接定位后 产生可执行文件 exe 可以在 dos 状态下执行改程序 执行操作如下 4 实验结果及分析 结果输出 Hello 分析基本已在步骤中详细说明 实验二 调试软件 debug 1 实验目的 掌握 debug 的基本操作指令及其意义 2 实验步骤及内容 大部分程序必须经过调试才能纠正程序设计的错误 从 而得到正确的结果 汇编语言程序调试 就是调试程序发现错误 再经过编 辑 汇编 连接纠正错误 下面调试 xyz exe 程序为例给出 debug 程序中最 常用的几个命令 截图如下 反汇编命令 u u 从当前地址反汇编 u120 从 cs 120H 处开始反汇编 汇编命令 a a100 从 cs 100 开始输入汇编指令 显示存储单元内容命令 d d ds 0000 从数据段的 0 单元开始显示 128 个字节 修改存储单元命令 e 则用户可以直接键入要修改的内容 再按空格键可修改 下一单元内容 知道用回车键入结束该命令 e cs 100 存文件命令 w 在存文件之前 首先把文件的长度 字节数 填写在 bx 和 cx 寄存器中 读文件命令 l 单步执行命令 t t 从当前地址执行一条指令 t3 从当前地址往下执行三条指令 执行程序命令 g 若不输入其实地址 则以 cs ip 为起始地址 从 debug 退出时 使用如下命令 Q q 3 实验结果 调试基本无误 输出如预想 实验三 汇编语言调试实验 1 实验目的 了解 DEBUG 的常用指令 学会用 DEB 调试程序 了解数据在存储器中的存储方 法 及堆栈中数据的压入与弹出 掌握各种寻址方法及简单指令的执行过程 2 实验内容及步骤 1 设堆栈指针 SP 2000H AX 3000H BX 5000H 编一程序段将 AX 的内 容和 BX 的内容进行交换 用堆栈作为两个寄存器交换内容的中间存储单元 用 DEBUG 调试程序进行汇编和调试 程序清单如下 A MOV SP 2000H MOV AX 3000H MOV BX 5000H PUSH AX PUSH BX POP AX POP BX T7 程序执行结果 AX 5000H BX 3000H 2 设 Ds 当前地址段 BX 0300H SI 0002H 用 DEBUG 的命令将十六进制数 据 0AH 0BH 0CH 0DH 0EH 顺序装入偏移地址为 300H 304H 的连续存储单 元 在 DEBUG 状态下送入下面程序 并用单步执行的方法 分析每条指令源 地址的形成过程 当数据传送完毕时 AX 中的内容是什么 MOV AX BX 将 BX 中的数据送入 AX 中 AX 0300H MOV AX 0304H 将立即数 0304H 送入 AX 中 AX 0304H MOV AX 0304H 将以 0304H 为地址中的数送入 AX AX 120EH MOV AX BX 将以 BX 即 0300H 为地址中的数送入 AX 中 AX 0B0AH MOV AX 0001 BX 将以 0301 为地址中的数送入 AX 中 AX 0C0BH MOV AX BX SI 将以 0302H 为地址中的数送入 AX 中 AX 0D0CH MOV AX 0001 BX SI 将以 0303H 为地址中的数送入 AX 中 AX 0E0DH 3 设 AX 0002H 编一个程序段用一位的方法将 Ax 中的内容乘 10 A MOV AX 2 将立即数 2 送给 AX MOV BX 2 将立即数 2 送给 BX MOV CL 2 将立即数 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学食品安全责任制制度
- 巡班教师岗位责任制度
- 工程建设责任制度
- 船舶涂装工创新方法评优考核试卷含答案
- 水解蒸煮工变革管理水平考核试卷含答案
- 白酒制曲工班组协作模拟考核试卷含答案
- 纺织印花制版工岗前实操知识水平考核试卷含答案
- 通信网络电缆线务员安全行为竞赛考核试卷含答案
- 巷修岗位责任制度汇编
- 幼儿厨房岗位责任制度
- 八年级下册12诗经二首《关雎》公开课一等奖创新教学设计
- 关于组织2026年春季新员工入职培训的通知函9篇范本
- 部编人教版道德与法治五年级下册全册配套课件
- 2026年江西电力职业技术学院单招(计算机)考试参考题库附答案
- GB 6441-2025生产安全事故分类与编码
- 2026CSCO肝癌诊疗指南
- 芯片行业经销商制度规范
- IT技术介绍教学课件
- 【《某苹果采摘机械臂的总体方案设计案例》2300字】
- 2025年泰州职业技术学院单招职业技能测试题库附答案
- 2025中远海运财产保险自保有限公司高级管理人员招聘笔试历年典型考点题库附带答案详解
评论
0/150
提交评论