微型计算机原理实验一-串操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三串操作
一、实验目的
1.熟悉串操作指令的功能。
2.了解串操作指令的使用方法。
二、实验预习要求
1.复习8086指令系统中的串操作类指令。
2.按照题目要求在实验前编写好实验中的程序段。
三、实验任务
1.输入以下程序段并运行之,回答后面的问题。
CLD
MOV DI,1000H
MOV AX,55AAH
MOV CX,10H
REP STOSW
上述程序段执行后:
(1)从DS:1000H开始的16个字单元的内容是什么?55AAH
(2) (DI)= 1020H(CX)= 0000H,并解释其原因。
2.在上题的基础上,再输入以下程序段并运行之,回答后面的问题。
MOV SI,1000H
MOV DI,2000H
MOV CX,20H
REP MOVSB
程序段执行后:
(1) 从DS:2000H开始的16个字单元的内容是什么?55AAH
(2) (SI)= 1020H,(DI)= 2020H,(CX)= 0000H,并分析之。
3.在以上两题的基础上,再输入以下三个程序段并依次运行之。
程序段1:
MOV SI,1000H
MOV DI,2000H
MOV CX,10H
REPZ CMPSW
程序段1执行后:
(1) ZF=1 根据ZF的状态,你认为两个串是否比较完了?
(2)(SI)= 1020H,(DI)= 2020H,(CX)=0000H,并分析之。
程序段2:
MOV [2008H],4455H
MOV SI,1000H
MOV DI,2000H
MOV CX,10H
REPZ CMPSW
程序段2执行后:
(1) ZF=0 根据ZF的状态,你认为两个串是否比较完了?
(2)(SI)= 100AH,(DI)=200AH,(CX)= 000BH,并分析之。
程序段3:
MOV AX,4455H
MOV DI,2000H
MOV CX,10H
REPNZ SCASW
程序段3执行后:
(1) ZF=?根据ZF的状态,你认为在串中是否找到了数据4455H?
(2)(SI)= ?(DI)= ?(CX)= ?,并分析之。
4.从DS:1000H开始存放有一个字符串”This is a string”,要求把这个字符串从后往前传送到DS:2000H开始的内存区域中(即传送结束后,从DS:2000H开始的内存单元的内容为”gnirts a si sihT”),试编写程序段并上机验证之。
MOV SI,1000FH
四、实验报告要求
1.简要说明执行串操作指令之前应初始化哪些寄存器和标志位。2.总结串操作指令的用途及使用方法。