微机接口实验报告_第1页
微机接口实验报告_第2页
微机接口实验报告_第3页
微机接口实验报告_第4页
微机接口实验报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上武汉大学微机接口实验报告 专心-专注-专业目录实验一 数据传送一、 实验目的1 熟悉8086指令系统的数据传送指令及8086的寻址方式。2 利用EMU调试工具来调试汇编语言程序。二、 实验预习要求1 复习8086指令系统中的数据传送类指令和8086的寻址方式。2 预习EMU的使用方法:3 按照题目要求预先编写好实验中的程序段。三、 实验任务1通过下述程序段的输入和执行来熟悉EMU的使用,并通过显示器屏幕观察程序的执行情况。练习程序段如下: MOV BL,08H MOV CL,BL MOV AX,03FFH MOV BX,AXMOV DS:0020H,BX 2用以下程序

2、段将一组数据压入(PUSH)堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。压栈程序段如下: MOV AX,0102H MOV BX,0304H MOV CX,0506H MOV DX,0708H PUSH AX PUSH BX PUSH CX PUSH DX出栈段程序:POP CXPOP DX POP BX POP AX RET3. 指出下列指令的错误并加以改正,上机验证之。(1) MOV BX,SI存储器操作数不可直接传递,改为MOV BX, SI(2) MOV AH,BX操作数字长不相同,改为MOV AH,BH(3) MOV AX,SIDI基址変址寻址时,不允许两变址寄存器

3、组合在一起,改为MOV AX,BXDI(4) MOV BYTE PTRBX,2000H字长不同,改为MOV WORD PTRBX,2000H(5) MOV CS,AX段寄存器CS内容不通过MOV指令改写(6) MOV DS,2000H不能用立即数直接给段寄存器赋值,改为MOV AX, 2000H MOV DS, AX5. 将DS:1000H字节存储单元中的内容送到DS:2020H单元中存放。试分别用8086的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,并上机验证结果。(1)直接寻址MOV AX , 1000HMOV 2010H,AX(2)寄存器间接寻址MOV BX,1

4、000HMOV AX, BXMOV 2020H, AX(3)变址寻址MOV SI,1000HMOV AX, SIMOV 2020H, AX(4)寄存器相对寻址MOV AX,1000HMOV BX,1000HMOV 1020HBX ,AX6. 设AX寄存器中的内容为1111H,BX寄存器中的内容为2222H,DS:0010H单元中的内容为3333H。将AX寄存器中的内容与BX寄存器中的内容交换,然后再将BX寄存器中的内容与DS:0010H单元中的内容进行交换。试编写程序段,并上机验证结果。MOV AX,1111HMOV BX,2222HMOV 0010H,3333HMOV DX,BXMOV BX

5、,AXMOV AX,DXMOV DX,BXMOV BX, 0010HMOV 0010H,DX7. 设(DS)1000H,(ES)2000H,有关存储器的内容如图1.5所示。要求将DS段的内容传送到AX寄存器,ES段的内容传送到BX寄存器,试编写程序段。MOV 1000H,0EEFFHMOV ES:2000H,0CCDDHMOV AX,1000HMOV BX,ES:2000H四、实验报告要求小结EMU的使用方法:1.首先选择是建立.COM 文件还是.EXE文件。这取决于是要编写运行一个程序段还是可执行程序。本节均是验证程序段。故采用.COM文件。实验二 算术逻辑运算及移位操作一、 实验目的1熟悉

6、算术逻辑运算指令和移位指令的功能。2了解标志寄存器各标志位的意义和指令执行对它的影响。二、 实验预习要求1复习8086指令系统中的算术逻辑类指令和移位指令。2按照题目要求在实验前编写好实验中的程序段。三、 实验任务1 实验程序段及结果表格如表1.2: 标志位CFZFSFOFPFAF程序段1:MOV AX, 1018HMOV SI, 230AHADD AX, SIADD AL, 30HMOV DX, 3FFHADD AX,BXMOV 20H, 1000HADD 20H, AXPUSH AXPOP BX000000000000000000000011000000000000000000000000

7、000000000000000000程序段2:MOV AX, 0A0AHADD AX, 0FFFFHMOV CX, 0FF00HADC AX, CXSUB AX, AXINC AXOR CX, 0FFHAND CX, 0F0FHMOV 10H, CX000000000000100011100011100010010010000000001010000010000010程序段3: MOV BL, 25HMOV BYTE PTR10H, 4MOV AL, 10HMUL BL000000000000000000000000000000程序段4:MOV WORD PTR10H,80HMOV BL, 4

8、MOV AX, 10HDIV BL000000000000000000000000000000程序段5:MOV AX, 0DEC AXADD AX, 3FFFHADD AX, AXNOT AXSUB AX, 3OR AX, 0FBFDHAND AX, 0AFCFHSHL AX,1RCL AX,1000000001011100001000011000011001010001000001000100110112用BX寄存器作为地址指针,从BX所指的内存单元(0010H)开始连续存入三个无符号数(10H、04H、30H),接着计算内存单元中的这三个数之和,和放在0013H单元中,再求出这三个数之积,

9、积放0014单元中。写出完成此功能的程序段并上机验证结果。程序如下:MOV BX,0010HMOV BX,10HMOV 0001HBX,04HMOV 0002HBX,30HMOV AL,BXADD AL,0001HBXADD AL,0002HBXMOV 0003HBX,ALMOV AL,BLMUL 0001HBXMUL 0002HBXMOV 0004HBX,AX3写出完成下述功能的程序段。上机验证你写出的程序段,程序运行的最后结果(AX)(1) 传送15H到AL寄存器;(2) 再将AL的内容乘以2;(3) 接着传送15H到BL寄存器;(4) 最后把AL的内容乘以BL的内容。程序如下:MOV A

10、L,15HMOV DX,2MUL DXMOV BL,15HMUL BLRET4写出完成下述功能的程序段。上机验证你写出的程序段,程序运行后的商?(1) 传送数据2058H到DS:1000H单元中,数据12H到DS:1002H单元中;(2) 把DS:1000H单元中的数据传送到AX寄存器;(3) 把AX寄存器的内容算术右移二位;(4) 再把AX寄存器的内容除以DS:1002H字节单元中的数;(5) 最后把商存入字节单元DS:1003H中。程序如下:MOV 1000H,2058HMOV 1002H,12HMOV AX,1000HMOV CL,2SAR AX,CLDIV 1002HMOV 1003H

11、,ALRET5下面的程序段用来清除数据段中从偏移地址0010H开始的12个字存储单元的内容(即将零送到这些存储单元中去)。(1) 将第4条比较指令语句填写完整(划线处)。 MOV SI,0010H NEXT: MOV WORD PTRSI,0 ADD SI,2 CMP SI, (填写18) JNE NEXT HLT (2) 假定要按高地址到低地址的顺序进行清除操作(高地址从0020H开始),则上述程序段应如何修改?程序如下:MOV SI,0020HNEXT: MOV WORD PTRSI,0SUB SI,2CMP SI,18 JNE NEXTHLT6 输入并运行表1.3中的程序段,把结果填入表

12、右边的空格中,并分析结果,说明本程序段的功能是什么。程序段字单元(1A00H)=字单元(1A02H)=MOV 1A00H, 0AA55HMOV 1A02H, 2AD5HSHL WORD PTR1A02H,1 CMP 1A00H, 8000HCMCRCL WORD PTR1A02H,1RCL WORD PTR1A00H,1550055D555AA55AA55AA5555AA55功能是将第一个数除以2,第二个数乘以4四、 实验报告要求1 简要说明ADD、SUB、AND、OR指令对标志位的影响。ADD:对6个状态标志位都会影响;SUB:影响与ADD指令影响完成相同;AND: 影响6个标志位,并使CF

13、=OF=0;OR: 影响6个标志位,并使CF=OF=02 简要说明一般移位指令与循环移位指令之间的主要区别。一般移位: 将操作数右移m位,同时每移一位,左边的符号位保持不变,移出的最低位进入标志位CF。对于有符号数和无符号数而言,算术右移相当于除以2.;循环移位:循环移位指令的操作数形式与移位指令相同,如果仅移动一次,可以用1表示;如果需要移位多次,则需用CL寄存器表示移位次数。 实验三 算术逻辑运算及移位操作一、 实验目的1熟悉串操作指令的功能。2了解串操作指令的使用方法。二、 实验预习要求1复习8086指令系统中的串操作类指令。2按照题目要求在实验前编写好实验中的程序段。三、 实验任务1

14、输入以下程序段并运行之,回答后面的问题。 CLDMOV DI,1000HMOV AX,55AAHMOV CX,10HREP STOSW (1) 从DS:1000H开始的16个字单元的内容是什么?(2) (DI)= ?(CX)= ?,并解释其原因。2 在上题的基础上,再输入以下程序段并运行之,回答后面的问题。MOV SI,1000HMOV DI,2000HMOV CX,20HREP MOVSB (1) 从DS:2000H开始的16个字单元的内容是什么?(2) (SI)= ?(DI)= ?(CX)= ?,并分析之。3 从DS:1000H开始存放有一个字符串”This is a string”,要求

15、把这个字符串从后往前传送到DS:2000H开始的内存区域中(即传送结束后,从DS:2000H开始的内存单元的内容为”gnirts a si siht”),试编写程序段并上机验证之。#MAKE_COM# ORG 100H JMP STARTSTR DB 'THIS IS A STRING',13,10 START: LEA SI, STR MOV DI,1000H MOV CX,10H CLD REP MOVSB MOV CX,10H MOV SI,1000H MOV DI,200FHAGAIN: CLD LODSB STD STOSB LOOP AGAIN四、 实验报告要求1

16、简要说明执行串操作指令之前应初始化哪些寄存器和标志位。 应预设源串指针DS,SI,目标串指针ES,DI,重复次数CX,及操作方向DF2 总结串操作指令的用途及使用方法。实验四 字符及字符串的输入和输出一、 实验目的1熟悉如何进行字符及字符串的输入输出。2掌握简单的DOS系统功能调用。二、 实验预习要求1复习系统功能调用的1、2、9、10号功能。2按照题目要求预先编写好实验中的程序段。三、 实验任务1 要在屏幕上显示一个字符串“Hello, world”,写出该字符串变量的定义语句和显示这个字符串的程序段。上机验证之。 DSEG SEGMENTSTR DB Hello,world, 0DH,0A

17、H,$DSEG ENDSCSEG SEGMENT ASSUME CS: CSEG,DS: DSEGSTART: MOV AX,DSEG MOV DS,AX LEA DX,STR MOV AH,09H INT 21H MOV AH,4CH INT 21HCSEG ENDS END START2 按6行×16列的格式顺序显示ASCII码为20H到7FH之间的所有字符,即每16个字符为一行,共6行。每行中相邻的两个字符之间用空格字符分隔开。试编写程序段并上机运行验证。提示:程序段包括两层循环,内循环次数为16,每次内循环显示一个字符和一个空格字符;外循环次数为6,每个外循环显示一行字符并显

18、示一个回车符(0DH)和一个换行符(0AH)。 程序如下:#MAKE_EXE#CODE SEGMENTMAIN PROC FAR ASSUME CS:CODESTART: MOV AH, 02H MOV DL, 20H MOV BL, 6 E: MOV CX, 16 L: INT 21H PUSH DX MOV AH, 02H MOV DL, 0 INT 21H MOV AH, 02H MOV DL, 0 INT 21H POP DX INC DL LOOP L PUSH DX MOV AH, 02H MOV DL, 0DH INT 21H MOV AH, 02H MOV DL, 0AH IN

19、T 21H POP DX DEC BL CMP BL, 0 JNE AGAIN JE EEXIT: MOV AX, 4CH INT 21HMAIN ENDPCODE ENDS END START四、 实验报告要求1 1、2、9、10号功能的输入输出参数有哪些?分别放在什么寄存器中?2 总结一下,如何实现字符及字符串的输入输出。 字符串输入:MOV AH, 0AH ;功能号0AH LEA DX, <字符串缓冲区首地址>; 字符串在内存中的存放地址(由DS:DX定) INT 21H 字符串输出:显示字符串(功能号=9)     MOV AH, 9  &

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论