自动化微机实验指导手册范本

上传人:l**** 文档编号:133283459 上传时间:2020-05-25 格式:DOC 页数:18 大小:182KB
返回 下载 相关 举报
自动化微机实验指导手册范本_第1页
第1页 / 共18页
自动化微机实验指导手册范本_第2页
第2页 / 共18页
自动化微机实验指导手册范本_第3页
第3页 / 共18页
自动化微机实验指导手册范本_第4页
第4页 / 共18页
自动化微机实验指导手册范本_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《自动化微机实验指导手册范本》由会员分享,可在线阅读,更多相关《自动化微机实验指导手册范本(18页珍藏版)》请在金锄头文库上搜索。

1、实验一实验一 熟悉汇编语言程序设计的实验环境熟悉汇编语言程序设计的实验环境 一 实验目的一 实验目的 1 熟悉 MASM5 0 汇编环境和汇编过程 2 熟练掌握汇编程序从编写到执行的过程 二 实验容及步骤二 实验容及步骤 对汇编程序设计而言 目前绝大多数应用是基于 MASM 的宏汇编语言 通常 汇编语言系统软件包括 1 汇编语言编译器 将汇编语言源程序 ASM 文件 翻译为二进制目 标代码 OBJ 文件 具有这个功能的编译器有 MASM EXE ML EXE 和 CV EXE 等 本书使用较为普遍的 MASM5 0 版本 2 连接器 连接二进制目标代码和库函数代码生成可执行程序 EXE 文件

2、常用的程序为 LINK EXE 3 动态调试器 对可执行程序 EXE 进行静态了解和动态执行调试 具有这个功能的软件有 DEBUG EXE TR EXE 等 本书使用较为普遍的 DEBUG EXE 注意 注意 上述软件要在 PC 机的 DOS 系统下运行 在 WINDOWS 操作系统上 提 供了模拟的 DOS 操作系统环境 一 了解实验环境 一 了解实验环境 1 下载 MASM 文件夹到学生机上的 e e 2 进入 DOS 环境中 单击电脑桌面左下角的 开始 点击 运行 输入 cmdcmd 如下图 1 1 和 图 1 2 所示 图 1 1 打开 运行 对话框 图 1 2 显示 运行 对话框 单

3、击 确定 后 进入 DOS 方式 如图 1 3 所示 图 1 3 3 改变路径 进入到汇编编译器 MASM 所在的路径 如图 1 4 图 1 4 4 查看汇编编译器 MASM 所在文件夹 masm 是否具备所需的汇编语言系统软件 如图 1 5 图 1 5 列出的当前目录中必须有 MASM EXEMASM EXE 和 LINK EXELINK EXE 文件文件 否则汇编语言实验 将无法进行 随着用户上机操作的进行 在该文件夹中将不断增加新的文件 二 熟悉汇编语言程序设计的上机过程 二 熟悉汇编语言程序设计的上机过程 汇编语言程序设计的上机操作流程如下 1 建立与编辑汇编语言源程序 方式一 使用

4、DOS 系统中的 EDIT EXE 程序来编辑源程序 由于 EDIT EXE 是常驻存 的程序 因此 并不需要出现在文件夹 masm 中 E masm editedit sy1 asmsy1 asm 将出现对话框 如图 1 6 所示 图 1 6 编辑完源程序 如图 1 7 所示 File save 保存好汇编语言程序源文件 图 1 7 方式二 采用 记事本 建立并编辑汇编语言源程序 扩展名为 asm asm 源程序如下 源程序如下 CODECODESEGMENTSEGMENT ASSUMEASSUME CS CODECS CODE MOVMOV AX 0123HAX 0123H MOVMOV

5、BX 4567HBX 4567H MOVMOV AH 4CHAH 4CH INTINT 21H21H CODECODEENDSENDS ENDEND 编辑完成后 将文件保存为 文件名 sy1 asmsy1 asm 注 分号后的文字是程序的注释 可以不输入 为了使得汇编语句更整齐 可用 Tab 键设置间隔 如输入 MOV 按 Tab 输入 AX 2 汇编 即编译 使用宏汇编程序 MASM 对 asm 文件进行汇编 即对 asm 文件进行语法检查 在没有语法错误的情况下 可将 asm 文件汇编成 obj 文件 E masm masmmasm sy1 asmsy1 asm 注 事先应将源程序文件 s

6、y1 asm 保存在文件夹 E masm 中 汇编完成后 窗口中若出现图 1 8 的提示 表明源程序中没有错误 0 warning errors 和 0 severe errors 可继续往下一步 否则 要回到源程序 sy1 asm 中改正错误 再重新汇编 直至出现图 1 8 所示的提示信息为止 3 连接 通过连接程序 LINK EXE 将 obj 文件连接成在可执行文件 exe 如图 1 9 所示 图 1 9 上图中出现的 warning 是 no stack segment 可忽略 如果连接不成功 必须重新编辑 汇编和连接 直至生成可执行文件 4 运行与调试 上述编译 连接的过程只是保证了

7、没有语法上的错误或较为简单的错误 并不能保证程序在逻辑或算法上没有出错 所以 必须对程序的执行过程进行 调试 跟踪分析 才能保证所设计程序的正确性 由于汇编语言指令系统涉及的输入输出较复杂 因此 通常程序运行的结 果往往存放在存单元或寄存器中 因此 初学汇编语言程序设计时 要了解程 序运行结果 就必须熟练掌握直接深入存的调试程序 DEBUG EXE 在完成步骤 1 3 后 如果 sy1 exe 的运行结果达不到要求或出现异 图 1 8 常 则要修改源程序 再重新进行编辑 编译 连接和运行调试 即步骤 1 4 用调试程序 Debug 来对可执行文件进行调试 跟踪一个程序的运行过程 进入 Debu

8、g EXE 调试程序 如图 1 10 图 1 10 进入 Debug 调试环境后 出现提示符 此时 可键入所需的 DEBUG 命 令 DEBUG 命令 用 u 命令查看一下 Debug 加载入存的程序 用 t 命令单步跟踪程序执行的情况 用 r 命令查看寄存器的容 用 d 命令查看存单元的容 用 g 命令执行程序或程序连续运行 直至程序正常终止 出现 Program terminated normally 提示 退出 Debug 程序用 q 命令 对于某些中断程序 子程序 没有必要进行单步跟踪时 用 p 命令 直接 执行完该中断程序或子程序 如遇到 DOS 功能调用指令 int 21h 用 P

9、 命令后 在执行完 int 21h 指令 会返回到 int 21h 的下一条指令上 实验步骤 实验步骤 用 u 命令 查看一下 Debug 加载入存的程序 如图 1 11 显然 本实验中 的 sy1 中的汇编语句在前面四行中 图 1 11 用一次 r 命令 观察在程序执行前寄存器 AX BX 的容 记录其值 如图 1 12 所示 图 1 12 用 t 命令单步执行 sy1 中的每条语句 观察寄存器 AX BX 的变化 记录其 值 直至出现语句 int 21h 用 p 命令 如图 1 13 所示 图 1 13 根据实验结果 AX 0123H BX 4567H 与实验设想的结果相同 故本程序 sy

10、1 asm 实现了实验要求 三 思考题三 思考题 1 汇编程序从写出到执行的过程包括哪些步骤 2 已知用 Debug EXE 将 sy1 EXE 程序加载入存后 CX 中存放的是程序的长度 则本实验中的程序长度为 字节 3 已知 DS 中存放着 sy1 EXE 程序所在存区的段地址 从 DS 0 起始的存区 前 256 个字节存放的是 PSP 程序段前缀 DOS 用来和程序进行通信 从 256 字 节后的空间才开始存放程序 所以 本实验中存放程序的起始物理地址为 可用段地址和偏移地址表示为 提示 存放程序的起始存单元物理地址 PA DS 16 256 DS 16 0100H DS 24 28

11、DS 24 24 0000H CS 24 0000H 4 将下面的程序保存为 sy2 asm 文件 并将其生成可执行文件 sy2 exe CODECODESEGMENTSEGMENT ASSUMEASSUME CS CODECS CODE MOVMOV AX 2000HAX 2000H MOVMOV SS AXSS AX MOVMOV SP 0SP 0 ADDADD SP 10SP 10 POPPOP AXAX POPPOP BXBX PUSHPUSHAXAX PUSHPUSHBXBX POPPOP AXAX POPPOP BXBX MOVMOV AH 4CHAH 4CH INTINT 21H

12、21H CODECODEENDSENDS ENDEND 用 DEBUG EXEDEBUG EXE 调试 sy2 exe 写出每一步执行后 相关寄存器的容 实验二实验二 寻址方式与基本指令的使用寻址方式与基本指令的使用 一 实验目的一 实验目的 熟悉 8086 寻址方式及基本指令的功能 二 实验容二 实验容 1 读懂源程序 将其生成可执行文件 sy3 exe DATADATA SEGMENTSEGMENT NUMNUM DBDB 82H 68H 88H82H 68H 88H SUMSUM DBDB DATADATA ENDSENDS CODECODE SEGMENTSEGMENT ASSUMEA

13、SSUME CS CODE DS DATACS CODE DS DATA START START MOVMOV AX DATAAX DATA MOVMOV DS AXDS AX MOVMOV BX OFFSETBX OFFSET NUMNUM MOVMOV AL BX AL BX INCINC BXBX ADDADD AL BX AL BX INCINC BXBX ADDADD AL BX AL BX MOVMOV SUM ALSUM AL MOVMOV AH 4CHAH 4CH INTINT 21H21H CODECODE ENDSENDS ENDEND STARTSTART 2 回答下列问

14、题 1 程序加载后 寄存器 CS 的容为 H 代码段第一条可执行指令 MOVMOV AXAX DATA DATA 对应的机器码是 H 它是一条 个字节的 指令 该指令的源操作数 DATA 的寻址方式是 2 执行完 MOVMOV DS AXDS AX 指令后 数据段寄存器 DS 的容为 H 源程序 数据段中定义的数据 82H 68H 88H 对应的存储单元的偏移地址分别是 H H H 3 程序中的第一条 ADDADD AL BX AL BX 指令中 源操作数所在存储单元逻辑地 址为 DS BX 执行该指令后 AL H CF H OF ZF SF AF PF 4 执行完第二条 ADDADD AL

15、BX AL BX 指令后 AL H CF OF ZF SF AF PF 5 指令 MOVMOV SUM ALSUM AL 中 目的操作数的寻址方式为 该指令 执行后 SUM 单元中的值为 H 三 上机自测题三 上机自测题 1 指出下列指令错误的原因 上机运行 观察汇编程序 MASM 给出的出错信息 1 MOV BP BL 2 MOV BX BP 3 MOV BX 20H 4 INC SI 5 ADD AX SI DI 6 SHL AX 3 7 PUSH 2000H 8 POP AL 9 MOV CS AX 10 MOV DS 1000H 附 状态标志位在附 状态标志位在 DEBUG EXEDE

16、BUG EXE 中如何显示中如何显示 1 1 0 0 的状态的状态 标 志 名置 位 为 1 复 位 为 0 溢出 Overflow 是 否 OVNV 方向 Direction 减量 增量 DNUP 中断 Interrupt 允许 屏蔽 EIDI 符号 Sign 负 正 NGPL 零 Zero 是 否 ZRNZ 辅助进位 Auxiliary Carry 是 否 ACNA 奇偶 Parity 偶 奇 PEPO 进位 Carry 是 否 CYNC 实验三实验三 多字节二进制加 减法编程实验多字节二进制加 减法编程实验 一 实验目的一 实验目的 1 熟悉汇编语言二进制多字节加法基本指令的使用方法 2 熟悉汇编语言二进制多字节减法基本指令的使用方法 3 掌握汇编语言编程的一般结构 二 实验容及步骤二 实验容及步骤 1 将两个双字长度的数分别相加并将结果存放在 result 中 分析 1 存放多精度数 多精度数的存放有两种方式 高地址优先 如 1234H 5678H 表示 56781234H 和低地址优先 如 1234H 5678H 表示 12345678H 具体的存放方 式由用户根据自己的习惯

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号