第3章 8086指令系统5-串操作指令

第3章 8086指令系统5-串操作指令

ID:46587005

大小:386.77 KB

页数:15页

时间:2019-11-25

第3章 8086指令系统5-串操作指令_第1页
第3章 8086指令系统5-串操作指令_第2页
第3章 8086指令系统5-串操作指令_第3页
第3章 8086指令系统5-串操作指令_第4页
第3章 8086指令系统5-串操作指令_第5页
资源描述:

《第3章 8086指令系统5-串操作指令》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第3章8086指令系统串操作指令1第3章8086指令系统1数据传送指令2算术运算指令3逻辑运算和移位指令4串操作指令5控制转移指令6处理器控制指令2第3章8086指令系统逻辑运算和移位指令1、字符串传送指令(MOVSB/MOVSW)2、字符串比较指令(CMPSB/CMPSW)3、字符串检索指令(SCASB/SCASW)4、取字符串指令(LODSB/LODSW)5、存字符串指令(STOSB/STOSW)3第3章8086指令系统1、字符串传送指令1、字符串传送指令(MOVSB/MOVSW)MOVSB;(MoveStiStringBt)Byte)字节传送指令MOVSW;(MoveStringWo

2、rd)字传送指令[DS:SI]—[ES:DI]将DS段SI所指向的单元字节/字传送到ES段由DI指向的单元,再自动修改DI和SI,指向下一个或两个单元重复操作。计数器CX存放传送的字节数或字数带重复前缀REP,则每传送一次CX自动减1,直到CX为0SI,DI分别为源和目的寄存器方向标志DF=0,SI、DI自动增量;否则自动减量不影响标志位4第3章8086指令系统eg:将数据段1000H开始的100个字节传送到扩展段2000H开始的单元MOVSI,1000HMOVSI,1000HMOVDI,2000HMOVDI2000HMOVDI,2000HMOVCX,100MOVCX,100C

3、LDCLDKKK:MOVSBREPMOVSBDECCX……JNZKKK……5第3章8086指令系统2、字符串比较指令(CMPSB/CMPSW)CMPSB;(CompareStringByte)字节比较指令CMPSW;((pCompareStringg)Word)字比较指令[DS:SI][ES:DI]前缀:REPE/REPZCX0且比较的字节相等(ZF=1)时,继续比较前缀:REPNE/REPNZCX0且比较的字节不等(ZF=0)时,继续比较通过前缀实现在两个字符串中寻找第一个不等的元素或者第一个相等的元素。6第3章8086指令系统eg:比较STR1和STR2开头的两个字符串,两

4、个字符串完全相同,则将AL置1,否则置0。字符串长度为3。LEADI,STR1LEASISTR2LEASI,STR2CLDMOVCX3MOVCX,3REPZCMPSBJZMATCHANDAL,0HLTMATCH:ANDAL,1HLT7第3章8086指令系统3、字符串检索指令(SCASB/SCASW)SCASB;(ScanStringByte):;(ScanStringByte):字节检索指令SCASW;(ScanStringWord):字检索指令[ES:DI]AL(AX)前缀:REPE/REPZCX0且与AL(AX)内容相等(ZF=1),继续检索前缀:REPNE/REPNZCX

5、0且与AL(AX)内容不等(ZF=0),继续检索用重复前缀,找到第一个与AL(AX)内容相同或不同的单元。8第3章8086指令系统eg:试检索AL中字符在STRING字符串中的位置,将该位置记录在BX寄存器中,如果没有检索到则BX置为0。STRING字符串长度为4。LEADISTRINGLEADI,STRINGCLDMOVCX4MOVCX,4MOVBX,CXREPNZSCASBJZFNDXORBX,BXHLTFND:SUBBX,CXHLT9第3章8086指令系统4、取字符串指令(LODSB/LODSW)LODSB;(LoadStringByte)取字节LODSW;(LoadStringWo

6、rd);(LoadStringWord)取字AL(AX)[DS:SI]不能使用重复前缀(否则AL或AX中内容会不断被覆盖,最后只能得到字符串中最后1个字节或字)10第3章8086指令系统eg:将0700H单元开始的5个字节的内容逐一取出,进行处理,处理之后再送回到0700H的内存区域。CLDMOVSI,0700HMOVDISIMOVDI,SIMOVCX,5LI:LODSBPUSHCX-------------------;处理过程POPCXMOV[[]DI],ALINCDIDECCXJNZLI11第3章8086指令系统5、存字符串指令(STOSB/STOSW)STOSB(StoreStS

7、tiringBBt)yte):存字节STOSW(StoreStringWord):存字[ES:DI]AL/AX前缀REP,可以使一串内存单元中填充相同的数。CLDLEADI,AREAMOVCX,0080HXORAX,AXREPSTOSWREPSTOSW12总结指令重复前缀操作数地址指针寄存器MOVSREP源,目的(DS):(SI),(ES):(DI)CMPSREPE/REPNE源,目的(DS):(SI),(ES):(D

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

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

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