指令系统(串操作类指令)

指令系统(串操作类指令)

ID:37783779

大小:290.81 KB

页数:13页

时间:2019-05-31

指令系统(串操作类指令)_第1页
指令系统(串操作类指令)_第2页
指令系统(串操作类指令)_第3页
指令系统(串操作类指令)_第4页
指令系统(串操作类指令)_第5页
资源描述:

《指令系统(串操作类指令)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六节串操作指令●定义串——指存储器中地址连续的若干单元字符或数据。串传送指令串比较指令串扫描指令串装入指令串存储指令8086提供的处理串的指令包含:串处理指令只能处理单个字节或字,应用中需要串重复前缀配合使用。由多个字节数据组成的数据串称为字节数据串,简称字节串;由多个字数据组成的数据串称为字数据串,简称字串。组成数据串的字节数据或字数据称为数据串元素。若对数据串元素作同样的操作,就称为串操作。把能完成串操作功能的指令称为数据串操作指令或简称为串操作指令。串重复前缀指令:REP(重复)、REPE/REPZ(相等/为零重复)、REPNE/REPNZ(不相等/不为零重复);CX寄存器

2、存放重复操作的次数;一般源串存放在数据段DS中,偏移地址由SI指定;目的串存放在附加段ES中,偏移地址由DI指定;设置方向标志指令:CLD(DF=0)和STD(DF=1)来设置SI、DI偏移地址在重复操作过程中的移动方向。教学进程基本的字符指令●1.(1)串传送指令MOVS●指令功能:把位于数据段DS:SI中一个字节或字的数据传送到附加段ES:DI中。●指令格式:MOVSB;传送字节数据MOVSW;传送字数据●指令操作:字节操作:(DI)←((SI)),SI←(SI)±1,DI←(DI)±1字操作:(DI)←((SI)),SI←(SI)±2,DI←(DI)±2(方向标志DF=0时用

3、+;DF=1时用-)●本指令对标志位无影响例[4–14]将数据段中首地址为SOURCE的100个字节串元素传送到附加段中首地址为DEST的内存单元中。实现该功能的程序段如下:CLD;使DF=0LEASI,SOURCE;SI指向源串LEADI,DEST;DI指向目的串MOVCX,100AGAIN:MOVSB;(DS:SI)→ES:DI,   ;(SI)+1→SI,(DI)+1→DIDECCXJNZAGAINHLT本例中MOVSB指令可用以下4条指令替代:MOVAL,[SI]MOVES:[DI],ALINCSIINCDI(2)串比较指令CMPS●指令功能:将ES:DI指定的单元的内容减

4、去由DS:SI指定单元的内容,不送回结果,只影响标志位CF、PF、AF、ZF、SF和OF。●指令格式:CMPSB;比较字节数据CMPSW;比较字数据●指令操作:①((DI))-((SI)),根据比较结果置条件标志位:相等ZF=1,不等ZF=0②字节操作:SI←(SI)±1,DI←(DI)±1字操作:SI←(SI)±2,DI←(DI)±2(方向标志DF=0时用+;DF=1时用-)例[4–15]检查数据段中首地址分别为STR1和STR2的两个长度为50的字节串是否相等。若相等,则(BX)=0;若不相等,则BX保存STR1中第1个不相同元素的偏移地址,并将该元素保存到AL中。实现该功能的

5、程序段如下:CLDMOVCX,50MOVAX,DSMOVES,AX;使附加段与数据段重叠LEASI,STR1LEADI,STR2LP1:CMPSB;(ES:DI)-(DS:SI),(SI)+1→SI,(DI)+1→DIJNZLP2DECCXJNZLP1MOVBX,0JMPDONELP2:DECSIMOVBX,SIMOVAL,[SI]DONE:HLT(3)●指令功能:AL或AX中的内容与附加段ES:DI所指的目的串中的一个字节(或字)的数据相减,并根据结果设置标志位,但结果不回送任何单元。●指令格式:SCASB;比较字节数据SCASW;比较字数据●指令操作:字节操作:(AL)-((D

6、I)),DI←(DI)±1字操作:(AX)-((DI)),DI←(DI)±2(方向标志DF=0时用+;DF=1时用-)串扫描指令SCAS●指令功能:将DS:SI所指定的字节(或字)单元的内容取出来送入AL(或AX)中。●指令格式:LODSB;存字节数据LODSW;存字数据●指令操作:字节操作:AL←((SI)),SI←(SI)±1字操作:AX←((SI)),SI←(SI)±2(方向标志DF=0时用+;DF=1时用-)(4)串装入指令LODS●指令功能:将AL或AX中的数据送入ES:DI所指定的目标单元中。●指令格式:STOSB;存字节数据STOSW;存字数据●指令操作:字节操作:(

7、DI)←(AL),DI←(DI)±1字操作:(DI)←(AX),DI←(DI)±2(方向标志DF=0时用+;DF=1时用-)(5)串存储指令STOS●指令功能:重复执行指令规定的操作,直到(CX)=0。●指令格式:REPMOVS(B/W)或STOS(B/W)或LODS(B/W)●指令操作:①如(CX)=0则退出REP,否则转②;②(CX)←(CX)-1;③执行其后的串操作指令;④重复①〜③。(1)无条件重复前缀REP重复前缀●2.(2)●指令功能:重复执行指令规定的操

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。