1、 Page 1 of 7西 安 交 通 大 学 实 验 报 告课程 名称: 微机 原理与 接口技 术 实验 名称 数据 传送 班级 : 机械 36 班 姓名 : 申湾 舟 学 号 : 2130101125实验 日期 : 2015 年 9 月 29 日 教师 审阅 签字 :1实验目的(1 ) 熟悉 8086 指令 系统 的数 据传 送以 及寻 址方 式;(2 ) 利用 TD 调试 工具 来调 试汇 编语 言。2实验内容( 1) 通 过 程 序 段 的 输 入 和 执 行 完 成 熟悉 TD.EXE 的使 用;(2 )出 栈操 作练 习;(3 )操 作数 的语 法规 则练 习;(4 )设 置寄 存
2、器 以及 存储 单元 内容 ;(5 )寻 址例 题;(6 )寄 存器 内容 交换 ,寄 存器 存储 器内 容交 换练 习; 存储 器内 容交 换练 习。3实验工具操 作 系 统 : windows7; 实 验 平 台 :调 试 工具 TD.EXE。4实验步骤 与结果(1 )程 序段 输入 和执 行图 1Page 2 of 7(2 )数 据压 入堆 栈, 查看 不同 的出 栈方 式图 2第一 种出 栈方 式:第二 种出 栈方 式:图 2-1Page 3 of 7第三 种出 栈方 式:图 2-2图 2-3表 1 实 验 结果 表 格第一种出栈方式 第二种出栈方式 第三种出栈方式(AX)= 0102
3、H 0708H 0304H(BX)= 0304H 0506H 0102H(CX)= 0506H 0304H 0708H(DX)= 0708H 0102H 0506H(3 ) 修改 错误 指令 序列1 MOV BX,SI;指 定内 容格 式在 指令 中出 现两 次, 修改 为:MOV BX,SI2 MOV AH,BX;操 作数 的字 长不 相等 ,修 改为 :MOV AH,BH3 MOV AX,SIDI;指 令指 针同 类型 同时 出现 相加 ,修 改为 :MOV CL,BPDI4 MOV BYTE PTRBX,2000H;字 长错 误, 修改 为:MOV WORT PTRBX,2000H5 M
4、OV CS,AX;代 码段 寄存 器作 为源 操作 数, 修改 为:MOV AX,CS6 MOV DS,2000H;DS 传送 数据 格式 有误 ,修 改为 :MOV DS,2000H修改 指令 序列 ,改 正如 下:Page 4 of 7图 3(4 ) 在 TD 中设 置各 个寄 存器 以及 寄存 单元 : 源程 序段 :设置 寄存 器 M OV BX,0010H MOV SI,0001HMOVBYTE PTR0010H,12H MOVBYTE PTR0011H,34H MOVBYTE PTR0012H,56H MOVBYTE PTR0013H,78H MOVBYTE PTR0120H,0A
5、BH MOVBYTE PTR0121H,0CDH MOVBYTE PTR0122H,0EFH指出 指令 执行 后 AX 内容 并验 证:图 4-11 MOV AX,1200H;将 1200H 存储 在 AX 中, 结果 如下 :AX=1200H;2 MOV AX,BX;将 BX 中的 数据 传送 给 AX,结 果如 下:AX=10H;3 MOV AX,0120H; 将 偏 移 地 址 为 120H 的数 据传 送给 AX,结 果如 下:Page 5 of 7AX=CDAB;4 MOV AX,BX; 将 偏 移 地 址 为 10H 的数 据传 送给 AX,结 果如 下:AX=3412;5 MOV
6、 AX,0100HBX; 将 偏 移 地 址 为 BX 的数 据两 位都 传送 给 AX,结 果如 下:AX=CDAB;6 MOV AX,BXSI; 将 偏 移 地 址 为 BX+SI 的数 据传 送给 AX,结 果如 下:AX=5634;7 MOV AX,0110HBXSI; 将 偏 移 地 址 为 BX+SI 的 数 据 两 位 传 送 给 AX, 结 果 如下 :AX=EFCD;图 4-2(5)将 DS:6 000H 字 节 存 储 单 元 中 的 内 容 传 送 到 DS:6 020H 的单 元中 。 源程 序段直接 寻址 MOV DS:WORD PTR6020,6000寄存 器简 间
7、接 寻址 MOV AX,SI 变址 寻址 MOV AX,BX+SI 寄存 器相 对寻 址MOV SI,0020MOV AL,SI+6000 ADD BX+SI,ALPage 6 of 7图 5( 6) AX: 1111H,BX: 2222H, DS: 6010H: 3333H, 交 换 AX,BX,交 换 BX, DS。 源程序段 :MOV AX,1111MOV BX,2222MOV DS:WORT PTR6010,3333XCHG BX,AX XCHG 6010,BX图 6-1图 6-2(7)交换 DS:6 000H 中的 0EEFFH 与 ES: 7000H 中的 0CCDDH。 源程 序
8、段 :MOV WORD PTR6000H,0EEFFH MOV ES:WORD PTR 7000,0CCDDH MOV AX,6000Page 7 of 7XCHG ES:7000,AX图 7五 、 实 验小 结1.实验 收获 对汇 编语 言有 了初 步的 认识 , 感觉 和计 算机 之间 的沟 通更 加容 易, 操作 系统 不再 是一个 黑箱 子, 而是 可以 根据 需要 精确 控制 的助 力器 。2.实验 中碰 到的 主要 问题 和解 决方 法 主要 问题 还是 在于 对于 众多 的寄 存器 存储 器名 称和 用途 的记 忆不 够深 刻上 面, 导致很多 语法 错误 不经 意间 产生 ,或 者在 逻辑 上没 能弄 明白 。 解决 方法 一个 是找 老师 进行咨询 , 自己 画出 具体 的执 行模 拟图 自己 理解 , 并加 以具体算 法的 简单 编程 实现 ,可 以解 决一 部分 。3.对实 验的 改进 建议 增加 一个 程序 段的 对比 和优 化环 节, 在可 以编 出程 序段 的基 础上通过 指导 或者 交流提高 编程 运算 能力 和效 率。