- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编课件第六章数值与非数值程序设计
第6章 数值与非数值程序设计 数值计算程序设计 多字节数据的加/减法运算 在以DAT0和DAT1开始的字节型无符号数据, 长度都是8字节,且低字节存放在低地址,高字节存放在高地址。 编程求和,结果存放在以DAT2开始的缓冲区 设计分析 从低字节开始执行加法运算,且低字节可能会产生进位,应采用带进位的加法指令。 对应字节的加法运算的操作相同,采用循环结构 多字节数据的加/减法运算 定义数据 多字节数据的加法运算 主程序设计 多字节数据的减法运算 主程序设计 多字节数据的加/减法运算 多字节BCD码的运算 在以DAT0和DAT1开始的缓冲区中各有一组压缩的BCD码,字节长度为8,低位数位于低地址。 编程求和,结果存在DAT2开始的缓冲区。 程序分析 同样使用多字节的运算方法 加法运算完成后须对和进行BCD码调整,加法用DAA、减法用DAS且被转换的数据存储在AL中 多字节数据的加/减法运算 定义数据 数值计算程序设计 乘法运算 在内存字单元W1和字节单元B1各有一个有符号数,分别为 -128H 和 0A1H。 计算两者的乘积,并将结果存储在以W2 开始的字单元中。 数值计算程序设计 乘法运算 在以 DAT 为首地址的缓冲区中有一个 6 字节的二进制无符号数,将其与字节单元 B1中的一个无符号数相乘。 结果存储在RSLT开始的缓冲区 数值计算程序设计 除法运算 在内存字单元W1和W2各有一个有符号数,分别为 -1A28H 和 2A1H。 求其商和余数,结果存入RSLT开始的两个字单元 数值计算程序设计 除法运算举例 在 DAT 为首地址的缓冲区中有一个 6 位非压缩的 BCD 数 954328,将其除以字节单元 B1 中非压缩的 BCD 数 5,结果显示在屏幕上。 被除数以高位存在低地址 AAD:AX中数据作为被除数进行除法前,AAD指令将AX中的两个非压缩的BCD数转换成二进制数。(AH×10+AL→AL) 数值计算程序设计 除法运算举例 数据段定义 数值计算程序设计 子程序设计 非数值处理程序设计 常见的非数值处理 大小写字母间的相互转换 不同进制间的相互转换 数据与ASCII码间的相互转换 字符与字符串的处理 表格的处理及检索排序等 数据与ASCII码的转换 二进制→ ASCII码 编写子程序,将入口参数AL中的二进制数以十六进制形式显示到屏幕。 分析 4位二进制数对应一位十六进制数,可将AL中的低4位和高4位作为入口参数分别处理。 子过程CHGE只处理AL参数中的低 4 位,实现转换成十六进制数对应的字符并输出到屏幕。 数据与ASCII码的转换:子程序 数据与ASCII码的转换:主程序 主程序设计 数据与BCD码的转换 常见的问题 输入数据是BCD码,并在程序中进行算术运算,结果以BCD码输出。 输入的BCD码 →字符序列 →二进制数 →算术运算 →BCD码 →字符序列 →输出到屏幕。 例6.12 在内存BUFF单元开始存放着一个4位非压缩的BCD数(高位在低地址)。 编程实现将其转换为二进制数并存入RSLT字单元中。 数据与BCD码的转换 数据段定义 数据与BCD码的转换 将从键盘输入4位非压缩的BCD码转化为二进制数,并存在RSLT字型变量中。 字符串处理 字符串处理 字符或字符串的查找、比较、统计、复制、添加和删除等。 可以使用串操作指令完成对字符串的操作 也可以使用其他指令及循环结构实现操作 例子: 自BUFF开始的内存单元中存有一个ASCII码字符串,长度为COUNT,统计其中含有多少个字符串“OK”,并将统计结果保存到RSLT中。 字符串处理 数据段定义 检索与排序 检索 也称为查找,是指在一批数据中查找某个关键的数据项,该数据项称为关键字。 检索举例 在以DAT为首地址的字缓冲区中有一个数组,数组长度存于LENTH单元,编程查找数组中是否与W1单元中数据相同的数。 若有则将其在数组中的序号送RSLT单元中,否则将RSLT单元置为0FFFFH。 检索举例 数据段定义 * 山东工商学院 * DATA SEGMENT DAT0 DB 12H,35H,82H,36H,49H,27H,26H,66H DAT1 DB 75H,82H,19H,41H,32H,65H,33H,71H DAT2 DB 9 DUP(0) DATA ENDS 即将数组 DAT0 和数组 DAT1 中的元素值一一取出对应相加,并存储在数组DAT2对应元素中 DAT0[SI]+DAT1[SI] → DAT2[SI] MOV SI, 0 MOV CX,8 CLC NEXT: MOV AL, DAT0[SI] ADC AL, DAT1[SI] MOV DAT
您可能关注的文档
最近下载
- 国家开放大学电大专科《植物学基础》期末试题、选择填空简答题题库、单项选择题题库、判断正误题题库及答案10套(试卷号:2704).pdf
- 汉语语法 - 石毓智.pdf
- 河西新区棚改(城中村)安置小区项目可行性研究报告.pdf
- 《中国民间美术剪纸》课程教学大纲.doc
- 30题汽车标定工程师岗位常见面试问题含HR问题考察点及参考回答.docx VIP
- 四年级的乘除法混合脱式计算练习题及答案(四年级数学计算题100道).pdf
- 除法脱式计算简算四年级练习题及答案(四年级数学计算题100道).pdf
- 政治学:谁得到什么?何时和如何得到?.doc
- 100道脱式计算含竖式答案 四年级脱式计算题100道 简算 简算,更要简单.docx
- 佳能R62使用说明书【必威体育精装版完整电子版】.pdf
文档评论(0)