网站大量收购闲置独家精品文档,联系QQ:2885784924

汇编语言实用教程下.ppt

  1. 1、本文档共268页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言实用教程下

10 . 1 汇编语言的字符串 10 . 2 十进制数算术运算调整指令及其应用 10 . 3 代码转换 10.1.1 字符串及其操作命令 8086/8088提供了专门用于处理字符串的操作指令,称为字符串操作指令,简称为串操作指令。共有五种基本的串操作指令。每种基本的串操作指令包括两条指令,一条适用于以字节为单元的字符串,另一条适用于以字为单元的字符串。串操作指令如下: ? MOVS:传送字节/字/串指令。 ? SCAS:有哪些信誉好的足球投注网站字节/字/串指令。 ? CMPS:比较字节/字/串指令。 ? LODS:取字节/字/串指令。 ? STOS:存字节/字/串指令。 1.取串指令(Load String) 取串指令是把有SI指定的数据段中某单元[SI]的内容送入AL中或AX中,并根据方向标志及数据类型修改SI的内容。其格式有如下三种。 格式: LODS SRC LODSB ; 字节装入指令,装入字节(Byte) LODSW ; 字装入指令,装入字(Word) 字节装入指令LODSB类似于如下的两条指令: MOV AL, [SI] INC SI 或 DEC SI 字装入指令LODSW类似于如下的两条指令: MOV AX, [SI] ADD SI, 2 或 SUB SI, 2 LODS指令将SI指向的源串元素根据其地址表达式的属性来决定读取一个字节或字,将其传送到AL或AX,同时根据DF和串的类型修改SI的内容使之指向串的下一个元素。 例如: …… MSG DB I Love NanJing,0 TAB DW 345,897,12,56,32 …… MOV SI, OFFSET MSG LODS MSG ; LODSB MOV SI, OFFSET TAB LODS TAB ; LODSW …… 2.存串指令(Store String) 存串指令是把AL或AX的内容(源串元素)存入由DI指定的附加段ES的某单元(目的串元素)中,并根据DF的值及数据类型修改DI的内容。其指令格式有如下三种: 格式: STOS DST ; 源串元素隐含在AL或AX中,目的串元素由ES:DI指定 STOSB ; 送字节到目的串 STOSW ; 送字到目的串 字节存储指令STOSB类似于如下的两条指令: MOV ES:[DI], AL INC Dl 或 DEC DI 字存储指令STOSW类似于如下的两条指令: MOV ES:[DI], AX ADD DI, 2 或 SUB DI, 2 在汇编语言中,两条STOSB和STOSW指令可以使用“STOS DST”统一。汇编程序根据操作数DST的类型决定使用字节存储指令还是字存储指令。操作数DST不影响指针寄存器DI之值。 例如: … CLD ; 清方向标志,以便按增值方式调整指针 PUSH DS ; 由于在当前数据段中传送数据 POP ES ; 所以使ES等于DS MOV SI,1000H ; 置源串指针初值 MOV DI,3000H ; 置目的串指针初值 MOV CX,50 ; 置循环次数 NEXT: LODSB ; 取一字节数据 STOSB ; 存一字节数据 LOOP NEXT ; 循环50次 … 3.串传送指令(Move String) 串传送指令可以把由SI指向的数据段DS中的一个字(或字节)送到由DI指向的附加段ES中的一个字(或字节,目的串)中,同时根据方向标志DF及数据格式(字或字节)对SI和DI进行修改。其指令格式有如下三种。 格式: MOVS DST,SRC ; DST代表目的串元素,SRC代表源串元素 MOVSB ; 字节传送 MOVSW ; 字传送 操作数DST或SRC可起到方便阅读程序的作用,但不影响寄存器SI和DI的值,所以在使用上述格式的串传送指令时,仍必须先给SI和DI赋合适的值。 例如: … CLD ; 清方向标志 PUSH DS ; 由于在当前数据段中传送数据 POP ES ; 所以使ES等于DS MOV SI,1000H ; 置源串指针初值 MOV D

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档