第4章–汇编语言程序设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章–汇编语言程序设计

4.1 汇编语言基础 4.1 汇编语言基础 汇编语句的组成 汇编语句的组成 汇编语句的组成 4.1 汇编语言基础 常数 常数 表达式 表达式 表达式 4.1 汇编语言基础 标识符 标识符可以包含1~31个字符; 标识符对大小写不敏感 标识符的第一个字符必须是字母、下划线、@、?或者$,后继字符可以是数字。 标识符不能与汇编器的保留字相同。 4.1 汇编语言基础 数据定义 数据定义 格式中的表达式可以有以下几种情况: 一个或多个常数或表达式。常数之间、表达式之间用逗号隔开。 带引号的字符串。 一个问号“?”。 重复方式。此时表达式部分的格式为:重复次数 DUP(表达式) 数据定义 数据定义 4.1 汇编语言基础 属性操作符 属性操作符 PTR 运算符 4.1 汇编语言基础 符号定义 符号定义 符号定义 符号定义 其他伪指令 顺序程序设计 顺序程序设计 顺序程序设计 顺序程序设计 顺序程序设计 顺序程序设计 顺序程序设计 分支程序结构 无条件转移指令 JMP 无条件转移指令 JMP 无条件转移指令 JMP 无条件转移指令 JMP 条件转移指令 条件转移指令 条件转移指令 条件转移指令 条件转移指令 分支程序举例 分支程序举例 分支程序举例 分支程序举例 方法一 方法二——跳转表法 循环程序的基本结构 循环程序的基本结构 循环指令 循环指令 循环指令 循环指令 循环指令 循环程序举例 DOS系统功能调用 DOS系统功能调用 DOS系统功能调用 DOS系统功能调用 4.6.1 子程序设计 返回指令 调用指令 调用指令 调用指令 调用指令 调用指令 过程定义 过程定义 参数和结果的传递 寄存器传递参数 寄存器传递参数 寄存器冲突问题 寄存器冲突问题 内存单元传递参数 堆栈传递参数 字符串操作指令(P97) 字符串操作指令 字符串传送指令MOVS 字符串比较指令CMPS 字符串扫描指令SCAS 字符串存储指令STOS 字符串存储指令LODS 重复指令前缀 十六进制到ASCII码 二进制到ASCII串的转换 ASCII码到十六进制码 子程序的入口参数和出口参数通过堆栈传递 主程序在调用子程序之前应该将子程序的参数压入堆栈,子程序则从堆栈中取出参数,运算后将结果也入堆栈。返回后,主程序再从堆栈取出结果。 见程序4.18 NUIST 主要内容 1 汇编语言基础 2 顺序程序设计 3 分支程序设计 5 DOS系统功能调用 4 循环程序设计 6 子程序设计 7 字符串处理 8 码转换程序设计 由操作数说明是字节或字操作;其余同LODSB或LODSW [(DS:SI)]→AL;(SI)=(SI)±1 [(DS:SI)]→AX;(SI)=(SI)±2 LODS SRC LODSB LODSW 取串 由操作数说明是字节或字操作;其余同STOSB或STOSW AL→((ES:DI));(DI)=(DI)±1 AX→((ES:DI));(DI)=(DI)±2 STOS DST STOSB STOSW 存串 由操作数说明是字节或字操作;其余同SCASB或SCASW AL-((ES:DI));(DI)=(DI)±1 AX-((ES:DI));(DI)=(DI)±2 SCAS DST SCASB SCASW 串搜索 由操作数说明是字节或字操作;其余同CMPSB或CMPSW ((ES:DI))-((DS:SI));(SI)=(SI)±1,(DI)=(DI)±1 ((ES:DI))-[(DS:SI)];(SI)=(SI)±2,(DI)=(DI)±2 CMPS DST,SRC CMPSB CMPSW 串比较 由操作数说明是字节或字操作;其余同MOVSB或MOVSW ((ES:DI))←((DS:SI));(SI)=(SI)±1,(DI)=(DI)±1 ((ES:DI))←((DS:SI));(SI)=(SI)±2,(DI)=(DI)±2 MOVS DST,SRC MOVSB MOVSW 串传送 执行操作 指令格式 功能 注意 字符串操作指令所使用的默认寄存器是:DS:SI(源串地址),ES:DI(目的地址),CX(字串长度),AX或AL(存取或搜索的默认值)。 字符串操作指令可以进行字操作也可以进行字节操作,它可以由指令中的操作数的类型指出,也可以由指令码后加上W或B来指出 DF=1,则修改地址指针时用减法;DF=0时,则修改地址指针时用加法,MOVS、STOS、LODS指令不影响标志位。 指令的功能是把由DS:SI间接寻址的一个字节(或一个字)传送到由ES:DI间接寻址的一个字节单元(或一个字单元)中去,然后,根据方向标志DF及所传送数据的类型(字节或字)对SI及DI进行修改。 例4.15 在

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档