2022年2022年汇编程序设计 .pdf

上传人:C****o 文档编号:39678387 上传时间:2022-09-07 格式:PDF 页数:22 大小:1.95MB
返回 下载 相关 举报
2022年2022年汇编程序设计 .pdf_第1页
第1页 / 共22页
2022年2022年汇编程序设计 .pdf_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《2022年2022年汇编程序设计 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年汇编程序设计 .pdf(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、4.16 LEA SI,DATA1 LEA DI,DATA2 MOV AX,SIADD,AX,AX;a*2 MOV DX,AX ADD AX,AX;a*4 ADD AX,AX;a*8 ADD AX,DX;a*8+a*2 ADD AX,DI;a*10+b 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 22 页 -例 1:设 X和 Y均为 16 位无符号数,写一个求表达式16X十 Y值的程序。由干表达式中的 X和 Y是 16 位数,表达式的结果可能要超出16 位,所以定义两个字变量用于保存X和 Y,另外用一个 32位的双字变量来保存结果。名师资料总结-精品资料欢迎下载-名师精心整理

2、-第 2 页,共 22 页 -例 2:设 X 是一个 110 之间的整数,写一个求函数Y=LG(X)值的程序。.把 1-10 这 10 个数的对数值组织成一张表,那么程序运行时的计算工作就大大简化,甚至可以说没有具体的计算。由于 110的以 10 为底的对数在 01 的范围之间,为了表示的方便和考虑一定的精度,所以把这些对数值放大1000 倍,这样每个对数值就用一个字表示。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 22 页 -例 3:写一个实现把一位十六进制数转换为对应ASCII 码的程序。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 22 页 -在高级语言

3、中,常用switch 语句等实现多向分支。在汇编语言中,如何实现多向分支呢?任何复杂的多向分支总可分解成多个简单分支。下图给出了根据X 的值是否为14,而进行 5 种不同处理的流程图片段。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 22 页 -用汇编语言实现这种多向分支的源程序结构如下所示:名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 22 页 -这种程序结构显得繁琐,如果要用它实现 5 路以上的多向分支,则更加复杂。在汇编语言中,可使用地址表实现多向分支。当多向分支在 5 路以上时,用地址表实现起来既方便又高效。设程序 MRRANCH每次只接收一个单键命令A

4、至 H ,然后根据命令进行相应的处理。如果接受到的输入不是规定的命令字母,则不处理。为了利用入口地址表(也称散转表)实现多向分支,事先必须安排一张入口地址表。如果各处理程序均在同一代码段内,则入口地址只要用偏移表示,所以入口地址表的每一项只用一个字。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 22 页 -名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 22 页 -例 4:把 16 位二进制数转换为5 位十进制数。为了简单,设二进制数是无符号的,采用 8421BCD 码表示十进制数。16 位二进制数能表示的最大十进制数只有5 位,即最高位是“万位”。有多种转换方法

5、。把 16 位二进制数除以 10,余数是“个位”数的 BCD 码;把商再除以 10,余数就是“十位”数的 BCD 码;如此,可依次得“百位”、“千位”和“万位”数的BCD码。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 22 页 -这里采用的方法是:先把二进制数除以10000,得到的商即为十进制数的“万位”;再用余数除以 1000,得到的商为十进制数的“千位”;按照这样的顺序,分别用每次的余数除以100,10,1 得到的商分别为十进制数的“百位”、“十位”和“个位”。每次除后得到的商就是8421BCD 码。名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 22 页

6、 -例 5:写一个把字符串中的所有大写字母改为小写的程序。设字符串以0 结尾。它的主体是一个循环次数不定(字符串长不确定),根据是否到达字符串尾这个条件来控制的循环。名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 22 页 -例 6:设 BUFFER 缓冲区中有 10 个单字节无符号整数,写一个程序将它们由小到大排序。名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 22 页 -名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 22 页 -例 7.编写一子程序,求字符串的长度。名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 22 页

7、-例 8.写一个判别字符是否在字符串中出现的子程序。设字符串以0 结尾。;入口参数:DS:SI搜索字符串首地址的段地址:偏移;AL要搜索的字符;出口叁数:CF=0表示字符在字符串中,AX=字符首次出现处的偏移;CF=1表示字符不在字符串中STRCHR PROC PUSH BX PUSH SI CLD MOV BL,AL STRCH1:LOADSB CMP AL,BL JZ STRCHR2 AND AL,AL JNZ STRCHR1 STC JMP STRCH3 STRCHR2:LEA AX,SI-1 STRCHR3:POP SI POP BX RET STRCHR ENDP 名师资料总结-精品

8、资料欢迎下载-名师精心整理-第 15 页,共 22 页 -例 9:写一个在字符串1 后追加字符串 2 的子程序。设字符串均以0 结尾。名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 22 页 -例 10:编一子程序比较两个字符串是否相同。设字符串均以0 结尾。名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 22 页 -例 11:写一个程序,它先接收一个字符串,然后抽去其中的空格,最后按相反的顺序显示它。名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 22 页 -名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 22 页 -例 12:

9、设字符串 1在数据段 1 中,字符串 2 在数据段否是字符串1 的子字符串。如是子字符串,则把数据段 2 中的 FLAG 单元置 1,否则清 0。设字符串以 0 结尾。名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 22 页 -名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 22 页 -1、写一个程序,统计字符串的长度。设字符串以0 结尾。2、写一个程序,滤去某个字符串中的空格符号(ASCII码 20H)。设字符串以0结尾。3、写一个可以某个十进制数ASCII 码串转换为对应压缩BCD 码的程序。4、写一个可把某个十进制数ASCII 码串转换为对应二进制数的程序。5、写一个可把某个十六进制数ASCII 码串转换为对应二进制数的示例程序。名师资料总结-精品资料欢迎下载-名师精心整理-第 22 页,共 22 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁