微机原理与接口技术实验指导书

上传人:aa****6 文档编号:29993558 上传时间:2018-01-26 格式:DOC 页数:36 大小:465.50KB
返回 下载 相关 举报
微机原理与接口技术实验指导书_第1页
第1页 / 共36页
微机原理与接口技术实验指导书_第2页
第2页 / 共36页
微机原理与接口技术实验指导书_第3页
第3页 / 共36页
微机原理与接口技术实验指导书_第4页
第4页 / 共36页
微机原理与接口技术实验指导书_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《微机原理与接口技术实验指导书》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验指导书(36页珍藏版)》请在金锄头文库上搜索。

1、实验一 软件基础(1) 报告手写一 、实验目的1、学习使用 CodeView 调试运行汇编语言程序。2、学习指令代码及其分段结构与寻址方式。3、学习数据传送指令。二 、实验仪器及设备1、MASM6.11 宏汇编软件 一套2、微型计算机 一台三 、实验内容1、在 CodeView 的 Command 窗口中,用 A 命令汇编习题 1.1 的指令,直接在显示窗口中观察各条指令的反汇编结果并作记录。2、用 A 命令汇编习题 1.2 的指令,用 T 命令跟踪每一条指令,观察每条指令的执行情况并作记录。3、调试习题 1.3 的程序。提示 :操作开始前,先用 N 命令设置调试命令所用参数的缺省数制。四、示

2、例设计说明程序名 DISP程序功能 在屏幕上分别显示数字 3 和 4 对应的阿拉伯符号算法说明 用两次 02 号系统功能调用,预先将3和4送入 DL程序框图 图 8.1源程序:DISP: MOV DL,33HMOV AH,02HINT 21HMOV DL,34HMOV AH,02HINT 21HINT 20H调试说明:系统功能调用指令 INT 21H 和 INT 20H 不能用 T 命令跟踪,可以用 G 命令加上地址范围的方式执行。* * * CodeView 调试程序举例 * * *1、进入 CodeView 调试环境方法一: 、 点击操作系统桌面的 PWB 快捷图标 进入 PWB 主界面,

3、在菜单 File 下选中 Dos Shell 项进入 Dos 环境;、 在目录 MASM611BIN下键入指令: CV *.EXE(该目录下任何一个 EXE 文件均可) ,启动 CodeView,在该环境下对所调入的 EXE 文件进行修改与调试。方法二: 、 从桌面的开始菜单进入 Dos 环境,转入 MASM611BIN目录下;、 键入指令: CV *.EXE,启动 CodeView。图 8.2 是 CodeView 的窗口调试界面的图例:1、 以下各操作命令均在 CodeView 调试界面的 Command 窗口中以命令行的方式键入,用来对 EXE 文件进行修改与调试。 设置基数n16 说明

4、:N 为基数设置命令,用来设置调试命令所用参数的缺省数制(但 N 命令不会改变数据的显示方式) 。 输入新的指令a 说明:A 为汇编命令,将用户输入的符号指令汇编为机器代码,存入指定地址开始的内存单元。194E:0000 mov dl,33 机器码: B233194E:0002 mov ah,2 机器码: B402(显示 dl 输出,33 是 ASCII 编码)194E:0004 int 21 机器码: CD21194E:0006 mov dl,34194E:0008 mov ah,2194E:000A int 21194E:000C int 20194E:000E nop194E:000F

5、连续运行前三条指令g 6 (6 代表偏移地址) 说明:G 为运行命令,从当前 CS:IP 所指的指令(即 mov dl,33)开始,一直执行到指定地址(即 194E:0006) 。 查看前三条指令的执行结果按 F4 在 Dos 界面下可以看到程序的执行结果,按 Esc 键返回调试界面 单步执行第 4 条指令t 说明:T 为跟踪命令,从当前 CS:IP 所指指令开始单步执行,若遇到 CALL 或 INT指令(DOS 系统调用 INT21H 和 INT20H 除外) ,则会跟踪进入相应过程或中断服务程序的内部。T 命令为顺序跟踪,改变顺序时应输入起始地址。 观察寄存器中的内容r 说明:R 命令用以

6、显示和修改寄存器的值,还可以显示 8 个标志位的值。如果只显示某一个寄存器内容,则在 R 后面加寄存器名,例如:r dxDX 0034rip 修改 ip 的地址(ds,cs 也可修改) 单步执行第 5 条指令t 观察寄存器 AH 中的内容r ahAH 02: 连续运行(INT 20 返回)gProcess 0x193D terminated normally (52) 查看执行结果同样,按 F4 可以看到程序的执行结果,按 Esc 键返回调试界面。 以下是在显示窗口看到的反汇编信息(指令地址) (机器码) ( 助 记 符 )194E:0000 B233 MOV DL,33 194E:0002

7、B402 MOV AH,02 194E:0004 CD21 INT 21 194E:0006 B234 MOV DL,34 194E:0008 B402 MOV AH,02 194E:000A CD21 INT 21 194E:000C CD20 INT 20 194E:000E 90 NOP 194E:000F BB1000 MOV BX,0010 以下是在寄存器窗口看到的内容AX = 0234BX = 0000CX = 0000DX = 0034SP = 0000BP = 0000SI = 0000DI = 0000DS = 193DES = 193DSS = 194DCS = 194EI

8、P = 000EFL = 3202NV UP EI PLNZ NA PO NCL 说明:L 命令使由 CV *.EXE 命令调入的程序重新开始执行,之前对代码或数据所做的任何修改均将丢失。 重新键入 5 条指令a194E:0000 mov dl,33194E:0002 mov ah,2194E:0004 int 21194E:0006 int 20194E:0008 nop194E:0009 内存单元的显示与修改md cs:0 cs:8 说明:MD 为内存显示命令,用来显示指定内存单元的值。194E:0000 B2 33 B4 02 CD 21 CD 20 90 .3.!. .me cs:1

9、说明:ME 为内存修改命令,用来设置指定内存单元的值。194E:0001 33 (能直接修改 194E:0001 的值)3. 36 (能直接修改 194E:0003 的值)g 8Process 0x193D terminated normally (54)md cs:0 cs:8194E:0000 B2 36 B4 02 CD 21 CD 20 90 .6.!. .注:对比修改前后内存单元 CS:0001 中数值,可以看到已经把 33H 修改为 36H。 在程序中插入指令的操作La0 说明:从 CS:0000 开始汇编指令。194E:0000 mov dl,33194E:0002 mov ah

10、,2194E:0004 int 21194E:0006 int 20194E:0008 nop194E:0009 内存内容的复制或传送mm cs:6 cs:8 cs:9 说明:MM 为内存传送命令,用来将一个内存区的数据或代码传送到另一个内存区。 从显示窗口可以看到传送以后的结果194E:0000 B233 MOV DL,33 194E:0002 B402 MOV AH,02 194E:0004 CD21 INT 21 194E:0006 CD20 INT 20 194E:0008 90 NOP 194E:0009 CD20 INT 20 194E:000B 90 NOP 194E:000D

11、D252BB RCL BYTE PTR BP+SI-45,CL a6 说明:从 CS:0006 处开始汇编指令。194E:0006 mov cx,f194E:0009 以下是在显示窗口中看到的插入指令以后代码段的情况194E:0000 B233 MOV DL,33 194E:0002 B402 MOV AH,02 194E:0004 CD21 INT 21 194E:0006 B90F00 MOV CX,000F194E:0009 CD20 INT 20 194E:000B 90 NOP 194E:000C 32D2 XOR DL,DL 五 、上机调试的习题8.1 分别以二进制数形式和十六进制

12、数形式写出以下指令的机器码,并在二进制数表示的机器码中标明其各个组成部分及其含义。MOV AX,DX ADD CX,BX+8 SUB BX+SI,SIMOV AL,DL ADD CX,BX SBB DI,AL8.2 已知从 2000H:7358H 开始的 4 个 MOV AX,2000H 存储单元的内容顺序为: MOV DS,AX36H 85H 43H 21H MOV DI,7348H写出题中各指令的寻址方式及各指令的 MOV AL,10H DI执行结果。 MOV SS,DI+10HLEA BX,DI+10HLES CX,10H+DI8.3 已知 DS=2000H,欲将 2000H:7348H

13、 与 2000H:735AH 的内容互换。写出三个不同的程序段,分别用通用数据传送指令,交换指令及堆栈操作指令完成互换操作。提示:题中的已知条件可用 CodeView 的 MF 命令、R 命令直接写入相应的内存单元或寄存器。六 、预习要求1、 熟悉 CodeView 调试环境和常用的调试命令。2、预习报告: CPU 内部寄存器的名称及其作用。 各种寻址方式,指令代码的分段结构。 数据传送指令。七 、实验报告1、分析习题 8.1 中每一条指令的字段结构与寻址方式。示例 89D0 MOV AX,DX0 1 11 010 000 源寄存器寻址D W MOD R R/M 字 源 目的 目的寄存器寻址2

14、、 分析习题 8.2 中每一条指令应该完成的操作及实际结果。示例 MOV AX,2000指令操作 立即数送入 AX执行结果 AX=20003、 习题 8.3 程序采用的主要算法。 程序框图及源程序清单。 主要调试步骤、程序功能测试方案和测试结果。实验二 指令系统(算术运算指令)一 、实验目的1、学习算术逻辑运算指令与堆栈操作指令。2、学习标志寄存器的使用。3、熟悉堆栈操作。4、练习编写算术运算程序二 、实验仪器及设备1、MASM6.11 宏汇编软件 一套2、微型计算机 一台三 、实验内容1、调试习题 8.4 的程序。2、编写两位十进制数相加程序。被加数和加数均从键盘输入,相加结果在屏幕上显示。3、编程提示:可参考使用示例中从键盘输入数据,显示数据及运算符号的有关程序段。四 、示例 两个一位十进制数相乘的程序 EXA2在 CodeView 中观察并运行 EXA2.EXE。C:MASM611BINCV EXA2.EXE1B06:0100 B23A MOV DL,3A1B06:0102 B402 MOV AH,021B06:0104 CD21 INT 21 ;显示 :1B06:0106 B401 MOV AH,01 1B06:0108 CD21 INT 21 ;接收显示键入的数1B06:010A 2

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

当前位置:首页 > 办公文档 > 其它办公文档

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