微机原理实验指导书.docx

上传人:b****2 文档编号:2052795 上传时间:2022-10-26 格式:DOCX 页数:16 大小:23.35KB
下载 相关 举报
微机原理实验指导书.docx_第1页
第1页 / 共16页
微机原理实验指导书.docx_第2页
第2页 / 共16页
微机原理实验指导书.docx_第3页
第3页 / 共16页
微机原理实验指导书.docx_第4页
第4页 / 共16页
微机原理实验指导书.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

微机原理实验指导书.docx

《微机原理实验指导书.docx》由会员分享,可在线阅读,更多相关《微机原理实验指导书.docx(16页珍藏版)》请在冰豆网上搜索。

微机原理实验指导书.docx

微机原理实验指导书

实验一数据传送

实验目的:

1.熟悉8086指令系统的数据传送指令及8086的寻址方式。

2.利用TurboDebugger调试工具来调试汇编语言程序。

实验任务:

1.通过下述程序段的输入和执行来熟悉TurboDebugger的使用,并通过显示器屏幕观察程序的执行情况。

练习程序段如下:

MOVBL,08H

MOVCL,BL

MOVAX,03FFH

MOVBX,AX

MOVDS:

[0020H],BX

2.用以下程序段将一组数据压入(PUSH)堆栈区,然后通过不同的出栈顺序出栈,观察出栈后数据的变化情况。

压栈程序段如下:

MOVAX,0102H

MOVBX,0304H

MOVCX,0506H

MOVDX,0708H

PUSHAX

PUSHBX

PUSHCX

PUSHDX

出栈程序段请自行编写(用不同的出栈顺序)。

3.指出下列指令的错误并加以改正,上机验证之。

(1)MOV[BX],[SI]

(2)MOVAH,BX

(3)MOVAX,[SI][DI]

(4)MOVBYTEPTR[BX],2000H

(5)MOVCS,AX

(6)MOVDS,2000H

4.设置各寄存器及存储单元的内容如下:

(BX)=0010H,(SI)=0001H

(10010H)=12H,(10011H)=34H,(10012H)=56H,(10013H)=78H

(10120H)=0ABH,(10121H)=0CDH,(10122H)=0EFH

说明下列各条指令执行完后AX寄存器中的内容,并上机验证。

(1)MOVAX,1200H

(2)MOVAX,BX

(3)MOVAX,[0120H]

(4)MOVAX,[BX]

(5)MOVAX,0110H[BX]

(6)MOVAX,[BX][SI]

(7)MOVAX,0110H[BX][SI]

5.将DS:

1000H字节存储单元中的内容送到DS:

2020H单元中存放。

试分别用8086的直接寻址、寄存器间接寻址、变址寻址、寄存器相对寻址传送指令编写程序段,并上机验证结果。

6.设AX寄存器中的内容为1111H,BX寄存器中的内容为2222H,DS:

0010H单元中的内容为3333H。

将AX寄存器中的内容与BX寄存器中的内容交换,然后再将BX寄存器中的内容与DS:

0010H单元中的内容进行交换。

试编写程序段,并上机验证结果。

7.设(DS)=1000H,(ES)=2000H,有关存储器的内容如图所示。

要求将DS段的内容传送到AX寄存器,ES段的内容传送到BX寄存器,试编写程序段。

..

0FFDS:

1000H0EEH

..

0DDH

ES:

2000H0CCH

...

图1第7题图

实验报告要求:

1.写明本次实验内容和实验步骤。

2.整理出运行正确的各题源程序段和运行结果。

3.写出第3题中改正后的正确指令。

4.小结TurboDebugger的使用方法。

实验二算术逻辑运算及移位操作

实验目的:

1.熟悉算术逻辑运算指令和移位指令的功能。

2.了解标志寄存器各标志位的意义和指令执行对它的影响。

实验预习要求:

1.复习8086指令系统中的算术逻辑类指令和移位指令。

2.按照题目要求在实验前编写好实验中的程序段。

实验任务:

2实验程序段及结果表格如表1.

表2

标志CFZFSFOFPFAF

0100000程序MOVAX,1018H

MOVSI,230AH

ADDAX,SI

ADDAL,30H

MOVDX,3FFH

BXADDAX

MOV[20H],1000H

ADD[20H],AX

PUSHAX

POPBX

0程序200000

MOVAX,0A0AH

ADDAX,0FFFFH

MOVCX,0FF00H

ADCAX,CX

SUBAX,AX

INCAX

ORCX,0FFH

ANDCX,0F0FH

MOV[10H],CX

000000:

3程序段.

MOVBL,25H

MOVBYTEPTR[10H],4

MOVAL,[10H]

MULBL

0000程序400

MOVWORDPTR[10H],80H

MOVBL,4

MOVAX,[10H]

DIVBL

程序5000000

MOVAX,0

DECAX

ADDAX,3FFFH

ADDAX,AX

NOTAX

SUBAX,3

ORAX,0FBFDH

ANDAX,0AFCFH

1SHLAX1RCLAX

开始连续存入2.BX寄存器作为地址指针,BX从所指的内存单元(0010H)用,接着计算内存单元中的这三个数之和,、三个无符号数(10H30H)、04H

单元中。

写出完成此00140013H和放在单元中,再求出这三个数之积,积放功能的程序段并上机验证结果。

.写出完成下述功能的程序段。

上机验证你写出的程序段,程序运行的最后结3?

=(AX)果

(1)传送15H到AL寄存器;

(2)再将AL的内容乘以2;

(3)接着传送15H到BL寄存器;

(4)最后把AL的内容乘以BL的内容。

4.写出完成下述功能的程序段。

上机验证你写出的程序段,程序运行后的商=?

(1)传送数据2058H到DS:

1000H单元中,数据12H到DS:

1002H单元中;

(2)把DS:

1000H单元中的数据传送到AX寄存器;

(3)把AX寄存器的内容算术右移二位;

(4)再把AX寄存器的内容除以DS:

1002H字节单元中的数;

(5)最后把商存入字节单元DS:

1003H中。

5.下面的程序段用来清除数据段中从偏移地址0010H开始的12个字存储单元的内容(即将零送到这些存储单元中去)。

(1)将第4条比较指令语句填写完整(划线处)。

MOVSI,0010H

NEXT:

MOVWORDPTR[SI],0

ADDSI,2

CMPSI,

JNENEXT

HLT

(2)假定要按高地址到低地址的顺序进行清除操作(高地址从0020H开始),则上述程序段应如何修改?

上机验证以上两个程序段并检查存储单元的内容是否按要求进行了改变。

6.输入并运行表3中的程序段,把结果填入表右边的空格中,并分析结果,说明本程序段的功能是什么。

3表程序字单(1A00H)=字单(1A02H)=

MOV[1A00H],0AA55H

MOV[1A02H],2AD5H

SHLWORDPTR[1A02H],1

CMP[1A00H],8000H

CMC

RCLWORDPTR[1A02H],1

RCLWORDPTR[1A00H],1

实验报告要求1.整理出完整的实验程序段和运行结果。

2.回答题目中的问题。

3.简要说明ADD、SUB、AND、OR指令对标志位的影响。

4.简要说明一般移位指令与循环移位指令之间的主要区别。

实验三串操作

实验目的:

1.熟悉串操作指令的功能。

2.了解串操作指令的使用方法。

实验预习要求;

1.复习8086指令系统中的串操作类指令。

2.按照题目要求在实验前编写好实验中的程序段。

实验任务:

1.输入以下程序段并运行之,回答后面的问题。

CLD

MOVDI,1000H

MOVAX,55AAH

MOVCX,10H

REPSTOSW

上述程序段执行后:

(1)从DS:

1000H开始的16个字单元的内容是什么?

(2)(DI)=?

(CX)=?

,并解释其原因。

2.在上题的基础上,再输入以下程序段并运行之,回答后面的问题。

MOVSI,1000H

MOVDI,2000H

MOVCX,20H

REPMOVSB

程序段执行后:

(1)从DS:

2000H开始的16个字单元的内容是什么?

(2)(SI)=?

(DI)=?

(CX)=?

,并分析之。

3.在以上两题的基础上,再输入以下三个程序段并依次运行之。

程序段1:

MOVSI,1000H

MOVDI,2000H

MOVCX,10H

REPZCMPSW

程序段1执行后:

(1)ZF=?

根据ZF的状态,你认为两个串是否比较完了?

,并分析之。

=)CX?

(=)DI?

(=)SI(

(2)

程序段2:

MOV[2008H],4455H

MOVSI,1000H

MOVDI,2000H

MOVCX,10H

REPZCMPSW

程序段2执行后:

(1)ZF=?

根据ZF的状态,你认为两个串是否比较完了?

(2)(SI)=?

(DI)=?

(CX)=?

,并分析之。

程序段3:

MOVAX,4455H

MOVDI,2000H

MOVCX,10H

REPNZSCASW

程序段3执行后:

(1)ZF=?

根据ZF的状态,你认为在串中是否找到了数据4455H?

(2)(SI)=?

(DI)=?

(CX)=?

,并分析之。

4.从DS:

1000H开始存放有一个字符串”Thisisastring”,要求把这个字符串从后往前传送到DS:

2000H开始的内存区域中(即传送结束后,从DS:

2000H开始的内存单元的内容为”gnirtsasisihT”),试编写程序段并上机验证之。

实验报告要求:

1.整理出完整的实验程序段和运行结果,对结果进行分析。

2.简要说明执行串操作指令之前应初始化哪些寄存器和标志位。

3.总结串操作指令的用途及使用方法。

实验四字符及字符串的输入和输出

实验目的:

1.熟悉如何进行字符及字符串的输入输出。

2.掌握简单的DOS系统功能调用。

实验预习要求:

1.复习系统功能调用的1、2、9、10号功能

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科

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

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