微机实验三 串操作
- 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个字单元的内容是什么?。
(2) (DI)= ?(CX)= ?,并解释其原因。
2.在上题的基础上,再输入以下程序段并运行之,回答后面的问题。
MOV SI,1000H
MOV DI,2000H
MOV CX,20H
REP MOVSB
程序段执行后:
(1)从DS:2000H开始的16个字单元的内容是什么?
55AAH
(2)(SI)=?(DI)=?(CX)= ?,并分析之。
SI=1020H,DI=2020H,CX=0000H
3.从DS:1000H开始存放有一个字符串”This is a string”,要求把这个字符串从后往前传送到DS:2000H开始的内存区域中(即传送结束后,从DS:2000H开始的内存单元的内容为”gnirts a si sihT”),试编写程序段并上机验证之。
assume cs:code,ds:datasg,ss:stack
datasg segment
db 'THIS IS A STRING'
db 1000 dup(1)
datasg ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,datasg
mov ds,ax
mov es,ax
mov si,0
mov di,30
cld
;rep movsbd
mov cx,16
tag: CLD
LODSB
STD
STOSB
LOOP tag
mov ax,4c00h
int 21h
code ends
end start
四、实验心得与体会
本次实验,我运用了以往所学的知识,实验进行的很顺利,现在越来越能够掌握这门课的精髓了。