- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章-编语言程序设计
4.1 汇编语言基础 4.1 汇编语言基础 汇编语句的组成 汇编语句的组成 汇编语句的组成 4.1 汇编语言基础 常数 常数 表达式 表达式 表达式 4.1 汇编语言基础 标识符 标识符可以包含1~31个字符; 标识符对大小写不敏感 标识符的第一个字符必须是字母、下划线、@、?或者$,后继字符可以是数字。 标识符不能与汇编器的保留字相同。 4.1 汇编语言基础 数据定义 数据定义 格式中的表达式可以有以下几种情况: 一个或多个常数或表达式。常数之间、表达式之间用逗号隔开。 带引号的字符串。 一个问号“?”。 重复方式。此时表达式部分的格式为:重复次数 DUP(表达式) 数据定义 数据定义 4.1 汇编语言基础 属性操作符 属性操作符 属性操作符 PTR 运算符 PTR 运算符 4.1 汇编语言基础 符号定义 符号定义 符号定义 其他伪指令 顺序程序设计 顺序程序设计 顺序程序设计 顺序程序设计 顺序程序设计 顺序程序设计 顺序程序设计 分支程序结构 无条件转移指令 JMP 无条件转移指令 JMP 无条件转移指令 JMP 无条件转移指令 JMP 条件转移指令 条件转移指令 条件转移指令 条件转移指令 条件转移指令 分支程序举例 分支程序举例 分支程序举例 分支程序举例 方法一 方法二——跳转表法 循环程序的基本结构 循环程序的基本结构 循环指令 循环指令 循环指令 循环指令 循环指令 循环程序举例 DOS系统功能调用 DOS系统功能调用 DOS系统功能调用 DOS系统功能调用 DOS系统功能调用 DOS系统功能调用 DOS系统功能调用 DOS系统功能调用 4.6.1 子程序设计 返回指令 调用指令 调用指令 调用指令 调用指令 调用指令 过程定义 过程定义 参数和结果的传递 寄存器传递参数 寄存器传递参数 寄存器传递参数 寄存器冲突问题 寄存器冲突问题 内存单元传递参数 堆栈传递参数 字符串操作指令 字符串操作指令 字符串传送指令MOVS 字符串比较指令CMPS 字符串扫描指令SCAS 字符串存储指令STOS (存串) 字符串存储指令LODS(取串) 重复指令前缀 4.8节 码转换程序设计 十六进制到ASCII码 二进制到ASCII串的转换 ASCII码到十六进制码 将程序4.15改为多个字符串的转换。数据段的定义如下 DATA SEGMENT STR DB ‘HELLO WORLD!’ DB ‘CONVERSATION’ DB ‘Very Good!!!’ DATA ENDS 每个字符串的长度都是12。该如何处理? 深醇处猎杠释袭姬皑塌袖财葡啮讯篆宦流媳犯敦厢脆虹燎慨凝树毋挖庞烃第4章-编语言程序设计第4章-编语言程序设计 CODE SEGMENT START: MOV AX, DATA MOV DS, AX MOV BX, OFFSET STR MOV CX, 3 NEXT: MOV SI, BX CALL CAPT ADD BX, 12 LOOP NEXT MOV AX, 4C00H INT 21H CAPT PROC MOV CX,12 S: CMP BYTE PTR [SI], 41H JB NOTL ;ascii码小于41H,则处理下一个字符 CMP BYTE PTR [SI], 5AH JA NOTL ;ascii码大于5AH,则处理下一个字符 ADD BYTE PTR [SI],20H ;ascii码在41~5AH内,转换成小写 NOTL: INC SI LOOP S RET CAPT ENDP CODE ENDS END START CX在子程序和主程序中都使用了,但是作用不同 寄存器冲CX突! 室度膛火允隙张霍归蒙杨染诵定林疼屿柏蔑堡涤龚肥琢琉捐不讹择痛钩靠第4章-编语言程序设计第4章-编语言程序设计 在子程序的开始将子程序中所有用到的寄存器都保存起来,子程序返回时再恢复。此时就要借助到3.2节学习的堆栈。 解决方法 CAPT PROC MOV CX,12 S: CMP BYTE PTR [SI], 41H JB NOTL CMP BYTE PTR [SI], 5AH JA NOTL ADD BYTE PTR [SI],20H NOTL: INC SI LOOP S RET CAPT ENDP CAPT PROC PUSH CX PUSH SI MOV CX,12 S: CMP BYTE PTR [SI], 41H JB NOTL CMP BYTE PTR [SI], 5AH JA NOTL ADD BYTE PTR [SI],20H NOTL: INC SI LOOP S
文档评论(0)