ImageVerifierCode 换一换
格式:DOCX , 页数:58 ,大小:571.78KB ,
资源ID:4464383      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4464383.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理与接口技术实验指导书1020.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、微机原理与接口技术实验指导书1020微机原理与接口技术实验指导书韩 宇 龙 武梦龙 编电子信息工程系2015年实 验 要 求一预习认真预习实验内容和相关理论知识,编写实验内容所要求的源程序,按要求写好预习报告,无预习报告或预习不合格者不得进行实验。二预习报告1基本内容:程序:程序功能、程序框图及源程序清单;主要调试步骤及程序功能测试方案。硬件:原理线路与实际接线图;主要调试步骤与测试方案。2实验指导书中提到的其它内容。三实验1按规定时间到实验室,遵守实验室相关的规章制度。2实验过程中,不允许带电操作:接线、更改线路和拆除线路必须先切断电源。3出现硬件故障立即切断电源并报告老师。4实验完成后,须

2、经老师检查、签字后方可拆线。5将实验设备拆线、整理好并关掉计算机再离开实验室。四实验报告1使用学校专门的实验报告纸撰写报告,主体内容需要手工书写。要求字迹工整,条理清楚,简明扼要,装订整齐,要有单独的封面页。实验报告封面页需依次注明以下信息: 课程名称:微机原理与接口技术实验报告。 实验序号及实验名称,如:实验一 软件基础。 班级、姓名、学号及实验时间和地点。 指导教师: 。 实验成绩: 。2基本内容设计说明:软件:程序名,功能,算法说明,程序框图。硬件:原理线路、接口芯片工作方式及公式等说明,实际接线图。附教师签字的源程序清单。源程序清单需加中文注释。调试说明:实验中遇到的主要问题,解决方法

3、及分析说明。 实际软、硬件测试结果说明3每个实验中要求的其它具体内容。实验一 软件基础 课内实验学时:2学时 一实验目的 1学习使用CodeView调试环境。2学习如何建立和执行汇编语言程序。 3学习指令代码及其分段结构与寻址方式。 4学习数据传送指令。5学习宏汇编的基本语法。二实验仪器及设备 1一套MASM6.11宏汇编软件。 2一台微型计算机。三实验内容 1在CodeView的Command窗口中,用A命令汇编上机调试习题1的指令,直接在显示窗口中观察各条指令的反汇编结果并作记录。 2用A命令汇编上机调试习题2的指令,用T命令跟踪每一条指令,观察每条指令的执行情况并作记录。 3调试上机调试

4、习题3的程序。 提示:操作开始前,先用N命令设置调试命令所用参数的缺省数制。4调试上机调试习题4的程序。四软件基本用法简介1.设计说明程序名: DISP。程序功能:在屏幕上分别显示数字3和4对应的阿拉伯符号。算法说明:用两次02号系统功能调用,预先将3和4送入DL。程序框图:如图1所示。源程序:DISP: MOV DL,33H MOV AH,02H INT 21H MOV DL,34H MOV AH,02H INT 21H调试说明:系统功能调用指令INT 21H(包括INT 20H)不能用T命令跟踪,可以用G命令加上地址范围的方式执行。2.CodeView调试程序使用介绍(1)进入CodeVi

5、ew调试环境方法一: 点击操作系统桌面的PWB快捷图标进入PWB主界面,在菜单File下选中Dos Shell项进入Dos环境;在目录MASM611BIN下键入指令: CV *.EXE(该目录下任何一个EXE文件均可),启动CodeView,在该环境下对所调入的EXE文件进行修改与调试。 方法二: 从桌面的开始菜单进入Dos环境,转入MASM611BIN目录下;键入指令: CV *.EXE,启动CodeView。 图2是CodeView的窗口调试界面的图例:图2 CodeView的窗口调试界面(2)以下各操作命令均在CodeView调试界面的Command窗口中以命令行的方式键入,用来对EXE

6、文件进行修改与调试。 设置基数n16 说明:N为基数设置命令,用来设置调试命令所用参数的缺省数制(但N命令不会改变数据的显示方式)。 输入新的指令a 说明:A为汇编命令,将用户输入的符号指令汇编为机器代码,存入指定地址开始的内存单元。194E:0000 mov dl,33194E:0002 mov ah,2194E:0004 int 21194E:0006 mov dl,34194E:0008 mov ah,2194E:000A int 21194E:000C nop194E:000D 连续运行前三条指令g 6 说明:G为运行命令,从当前CS:IP所指的指令(即mov dl,33)开始,一直执

7、行到指定地址(即194E:0006)。 查看前三条指令的执行结果按F4在Dos界面下可以看到程序的执行结果,按Esc键返回调试界面 单步执行第4条指令t 说明:T为跟踪命令,从当前CS:IP所指指令开始单步执行,若遇到CALL或INT指令(DOS系统调用INT21H和INT20H除外),则会跟踪进入相应过程或中断服务程序的内部。T命令为顺序跟踪,改变顺序时应输入起始地址。 观察寄存器中的内容r 说明:R命令用以显示和修改寄存器的值,还可以显示8个标志位的值。如果只显示某一个寄存器内容,则在R后面加寄存器名,例如:r dxDX 0034: 单步执行第5条指令t 观察寄存器AH中的内容r ahAH

8、 02: 连续运行至前6条指令结束(INT 20返回)g c 查看执行结果同样,按F4可以看到程序的执行结果,按Esc键返回调试界面。 以下是在显示窗口看到的反汇编信息 (指令地址) (机器码) ( 助 记 符 )194E:0000 B233 MOV DL,33 194E:0002 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 90 NOP 194E:000D 以下是在寄存器窗口看到的内容AX = 023

9、4BX = 0000CX = 0000DX = 0034SP = 0000BP = 0000SI = 0000DI = 0000DS = 193DES = 193DSS = 194DCS = 194EIP = 000EFL = 3202NV UP EI PLNZ NA PO NCL 说明:L命令使由CV *.EXE命令调入的程序重新开始执行,之前对代码或数据所做的任何修改均将丢失。 重新键入4条指令a194E:0000 mov dl,33194E:0002 mov ah,2194E:0004 int 21194E:0006 nop194E:0007 内存单元的显示与修改md cs:0 cs:6

10、 说明:MD为内存显示命令,用来显示指定内存单元的值。194E:0000 B2 33 B4 02 CD 21 90 .3.!. .me cs:1 说明:ME为内存修改命令,用来设置指定内存单元的值。194E:0001 33 3. 36g 6md cs:0 cs:6194E:0000 B2 36 B4 02 CD 21 90 .6.!. .注:对比修改前后内存单元CS:0001中数值,可以看到已经把33H修改为36H。3.汇编语言程序的建立与运行方法介绍(1)进入PWB开发环境在目录C:MASM611BIN下键入命令PWB exa4s.asm或者直接双击桌面上的PWB快捷方式图标即可进入PWB集

11、成开发环境,如图3所示:图3 PWB集成开发环境(2)编辑、保存源文件PWB 中编辑器的基本操作与许多文本编辑器类似,例如建立新文件、保存文件、另存为、光标移动、块操作、插人删除操作、恢复操作、查找替换操作、设置编辑器的功能键和各类颜色等。要编辑一个汇编语言源程序,首先用鼠标或 Alt + F 键选择 File 下拉菜单,然后选择 New 建立一个新文件或者选择 Open 打开一个已有的源程序。完成编辑任务后,用 File 菜单的 Save 或 Save AS 命令保存。请注意:保存源文件时一定要加上扩展名 .ASM;指令各部分之间的间隔用制表键(Tab )定位,这样打印的清单整齐规格。dat

12、a segment string1 db move the cursor backward. string2 db move the cursor backward. mess1 db match.,13,10,$ mess2 db no match!,13,10,$data ends code segment code assume cs:code,ds:data,es:data start: mov ax,data mov ds,ax mov es,ax lea si,string1 lea di,string2 cld mov cx,25 repz cmpsb jz match lea

13、dx,mess2 jmp short disp match: lea dx,mess1 disp: mov ah,09h int 21h mov ax,4c00h int 21h code ends end start (3)汇编和链接源程序编辑完成并保存后,可以开始汇编和链接任务。在集成环境下,程序的汇编和链接可以分别完成也可一次性完成,采用何种方式由Project菜单决定。如果选择Compile File选项,则只完成汇编任务。如果没有汇编源程序,Build选项首先进行汇编,汇编结束并且没有发现任何错误时进行链接;如果源程序有错,显示所有错误位置和原因,不进行链接。Project菜单中的N

14、ext Project,Previous Error和Goto Error命令用于定位程序中的错误。如果源程序已经汇编,则Build选项只进行目标文件的链接。这里选择 Build 选项,汇编、链接成功后,弹出如下图4所示的对话框。图4 汇编链接成功后弹出的对话框从对话框可知,程序无任何语法错误,正确生成EXE文件。对话框最下面一行的提示作用如下:View Results: 用于查看汇编链接的结果,如果有错将提示具体的错误信息。 Run Program: 运行程序。Debug Program: 直接进入Code View调试环境。Cancel: 为取消对话框。Help: 获得在线帮助。有时系统在

15、该对话框中会出现一个关于堆栈的警告性错误,当程序使用的堆栈较小时,可以忽略该错误。(4)运行程序除了通过汇编链接后弹出的对话框运行程序外,还可通过 Run菜单运行程序,方法是选择Run菜单中的Execute命令或Run Dos Command命令。运行示例程序出现如图5所示的窗口。图5 运行示例程序出现的窗口程序运行结束后按任意键返回到PWB环境。 (5)调试 程序通过汇编和链接只说明程序中没有语法错误。汇编程序不能发现程序设计中的错误。实际上编写程序很难一次成功,这时就需要通过调试来发现错误,然后重新编辑(修改)、汇编、链接、执行。反复进行以上过程,直至成功。在CodeView下调试EXE文

16、件的方法如实验二所示。五上机调试的习题1分别以二进制数形式和十六进制数形式写出以下指令的机器码,并在二进制数表示的机器码中标明其各个组成部分及其含义。 MOV AX,DX ADD CX,BX+8 SUB BX+SI,SI MOV AL,DL ADD CX,BX SBB DI,AL 2已知从2000H:7358H开始的4个 MOV AX,2000H 存储单元的内容顺序为: MOV DS,AX 36H 85H 43H 21H MOV DI,7348H e2000:7358 a int 7 写出题中各指令的寻址方式及各指令的 MOV AL,10H DI 执行结果。 MOV SS,DI+10H LEA

17、 BX,DI+10H LES CX,10H+DI 3已知DS=2000H,欲将2000H:7348H与2000H:735AH的内容互换。写出三个不同的程序段,分别用通用数据传送指令,交换指令及堆栈操作指令完成互换操作。 提示:题中的已知条件可用CodeView的MF命令、R命令直接写入相应的内存单元或寄存器。4写出下面程序段中每一条指令的执行结果,以及各程序段所实现的操作。(1) SGWS: MOV AX,8514H MOV BX,3692H MOV CH,AH SUB AL,BL DAS XCHG AL,CH SBB AL,BH DAS MOV AH,AL MOV AL,CH (2) STM

18、U: MOV CX,7A8FH MOV AX,6BC5H MOV BX,1000H MUL BX PUSH DX PUSH AX MOV AX,CX MUL BX POP CX MOV 3000H,CX POP CX ADD AX,CX MOV 3002H,AX ADC DX,00H MOV 3004H,DX六预习要求1熟悉CodeView调试环境和常用的调试命令。 2预习报告: CPU内部寄存器的名称及其作用。 各种寻址方式,指令代码的分段结构。 数据传送指令。 分析上机调试习题4的程序,说明每一段程序的算法及所实现的操作。按实验报告要求,设计调试方案。七实验报告 1分析上机调试习题1中每一

19、条指令的字段结构与寻址方式。例如: 89D0 MOV AX,DX 100010 0 1 11 010 000 源寄存器寻址 D W MOD R R/M 字 源 目的 目的寄存器寻址 2分析上机调试习题2中每一条指令应该完成的操作及实际结果。例如:MOV AX,2000 指令操作: 立即数送入AX 执行结果: AX=2000 3上机调试习题3的主要内容。 程序采用的主要算法。 程序框图及源程序清单。 主要调试步骤、程序功能测试方案和测试结果。4上机调试习题4第一个程序段(1)填表以下指令之后AH AL BH BL CH CL CF(标志)SUB AL,BLDASSBB AL,BHDASMOV A

20、L,CH(2)能否省去XCHG AL,CH指令,直接用SBB CH,BH对两个高位字节相减?(3)如果将SUB AL,BL 换为SBB AL,BL ,程序还应作哪些修改?(4)能否直接用16位数相减指令?为什么?5上机调试习题4第二个程序段(1)讨论程序中进行的堆栈操作。(2)画图表示本段程序执行后堆栈指针、堆栈区及有关存储区的内容。实验二 指令系统 课内实验学时:2学时 一实验目的1使用CodeView命令进行程序调试。2学习移位、转移、子程序调用与返回、堆栈操作指令。3学习状态标志与条件转移指令。4学习系统功能调用。5熟悉ASCII码表及振铃、回车、换行符的使用。二实验仪器及设备 1一套M

21、ASM6.11宏汇编软件。 2一台微型计算机。三实验内容C:MASM611BINCV exa2.exe调试EXA2.EXE程序1 运行程序EXEA2.EXE,记录运行时的键操作与对应的屏幕显示。2 从程序开始处运行至第一个09号系统功能调用后,记录显示的字符及DS:0000开始的数据区的内容。3继续执行至第一个02号系统功能调用后,记录显示的字符。 思考:为什么09号系统功能调用不能显示$字符?4 将001B处的指令改为MOV DL,07H,重复2、3步骤,记录程序执行情况。5 继续执行至第一个01号系统功能调用后,键入8,记录AX的内容。6 用T命令逐条跟踪,直至转移到0029处(MOV A

22、H,01),记录每次比较所产生的Z标志与C标志,以及转移方向。例如:比较指令ZC条件转移后的指令地址:002D CMP AL,24NZNC0031(不转移):0031 CMP AL,0DNZNC003A (转移).7分别键入X,回车符,$,重复6的步骤,并作记录。8继续运行程序至005B处,跟踪子程序调用、返回与堆栈操作指令,记录SP、IP及堆栈区的内容。执行以下指令后SPIP堆栈1B40:0059 MOV AX,CX : CALL 0069 0040003E005B00691B3B:3E 5E00 :0069 PUSH BX : PUSH CX : PUSH DX : PUSH AX :00

23、6F CALL 007A :0085 CALL 0091 :00A0 RET :008D CALL 0091 :00A0 RET :0090 RET :0072 POP AX :0073 CALL 007A :0090 RET :0075 POP DX : POP CX : POP BX : RET9 将00A1处子程序中输出的回车符改为换行符,从开始处运行程序,记录执行情况。10同上,将换行符改为回车符。11跟踪:0080 ROL DL,CL指令,记录DL和CL的变化情况。四EXA2.EXE程序的反汇编清单1B40:0000 B8321B MOV AX,1B321B40:0003 8ED8

24、MOV DS,AX1B40:0005 8EC0 MOV ES,AX1B40:0007 B83B1B MOV AX,1B3B1B40:000A 8EDO MOV SS,AX1B40:000C BC4000 MOV SP,00401B40:000F BB0000 MOV BX,00001B40:0012 B409 MOV AH,091B40:0014 BA0000 MOV DX,00001B40:0017 CD21 INT 211B40:0019 B402 MOV AH,021B40:001B B224 MOV DL,24 1B40:001D CD21 INT 211B40:001F E87F00

25、 CALL 00A11B40:0022 BE3700 MOV SI,00371B40:0025 33C9 XOR CX,CX1B40:0027 33DB XOR BX,BX1B40:0029 B401 MOV AH,011B40:002B CD21 INT 211B40:002D 3C24 CMP AL,241B40:002F 7419 JZ 004A1B40:0031 3C0D CMP AL,0D1B40:0033 7505 JNZ 003A1B40:0035 E86900 CALL 00A11B40:0038 EBEF JMP 00291B40:003A 3C30 CMP AL,301B4

26、0:003C 7204 JB 00421B40:003E 3C39 CMP AL,391B40:0040 7603 JBE 00451B40:0042 41 INC CX1B40:0043 EBE4 JMP 00291B40:0045 88OO MOV BX+SI,AL1B40:0047 43 INC BX1B40:0048 EBDF JMP 00291B40:004A E85400 CALL 00A11B40:004D C60024 MOV BYTE PTR BX+SI,241B40:0050 8BD6 MOV DX,SI1B40:0052 B409 MOV AH,091B40:0054 C

27、D21 INT 211B40:0056 E84800 CALL 00A11B40:0059 8BC1 MOV AX,CX1B40:005B E80B00 CALL 00691B40:005E B402 MOV AH,02 1B40:0060 B248 MOV DL,481B40:0062 CD21 INT 211B40:0064 B8004C MOV AX,4C001B40:0067 CD21 INT 211B40:0069 53 PUSH BX1B40:006A 51 PUSH CX1B40:006B 52 PUSH DX1B40:006C 50 PUSH AX1B40:006D 8AC4

28、MOV AL,AH1B40:006F E80800 CALL 007A1B40:0072 58 POP AX1B40:0073 E80400 CALL 007A1B40:0076 5A POP DX1B40:0077 59 POP CX1B40:0078 5B POP BX1B40:0079 C3 RET1B40:007A 8AD8 MOV BL,AL1B40:007C 8AD3 MOV DL,BL1B40:007E B104 MOV CL,041B40:0080 D2C2 ROL DL,CL1B40:0082 80E20F AND DL,0F1B40:0085 E80900 CALL 00911B40:0088 8AD3 MOV DL,BL1B40:008A 80E20F AND DL,0F1B40:008D E80100 CALL 00911B40:0090 C3 RET1B40:0091 80C230 ADD DL,301B40:0094 80FA3A CMP DL,3A1B40:0097 7203 JB 009C1B40:0099 80C227 ADD DL,271B40:009C B402 MOV AH,021B40:009E CD21 INT 211B40:00A0 C3 RET1B40:00A1 B402 MOV AH,021B40:00A3 B20D MOV D

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1