《汇编语言》讲稿_07

《汇编语言》讲稿_07

ID:6180188

大小:672.50 KB

页数:101页

时间:2017-11-15

《汇编语言》讲稿_07_第1页
《汇编语言》讲稿_07_第2页
《汇编语言》讲稿_07_第3页
《汇编语言》讲稿_07_第4页
《汇编语言》讲稿_07_第5页
资源描述:

《《汇编语言》讲稿_07》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《汇编语言》课件王爽著-清华大学出版社制作工具:MicrosoftPowerPoint2003本课件由汇编网(www.asmedu.net)制作提供第7章更灵活的定位内存地址的方法7.1and和or指令7.2关于ASCII码7.3以字符形式给出的数据7.4大小写转换的问题7.5[bx+idata]7.6用[bx+idata]的方式进行数组的处理7.7SI和DI7.8[bx+si]和[bx+di]7.9[bx+si+idata]和[bx+di+idata]7.10不同的寻址方式的灵活应用引言前面,我们用[0]、[bx]的方法,在访问内存的指令中,定位内存单元的地址。在这一章中,我

2、们主要讲解一些更灵活的定位内存地址的方法和相关的编程方法。我们的讲解将通过具体的问题来进行。7.1and和or指令首先我们介绍两条指令and和or,因为我们下面的例程中要用到它们。(1)and指令:逻辑与指令,按位进行与运算。如moval,01100011Bandal,00111011B执行后:al=00100011B通过该指令可将操作对象的相应位设为0,其他位不变。示例7.2关于ASCII码世界上有很多编码方案,有种方案叫做ASCII编码,是在计算机系统中通常被采用的。简单地说,所谓编码方案,就是一套规则,它约定了用什么样的信息来表示现实对象。比如说,在ASCII编码方案中,

3、用61H表示“a”,62H表示“b”。7.2关于ASCII码一种规则需要人们遵守才有意义。一个文本编辑过程中,就包含着按照ASCII编码规则进行的编码和解码。在文本编辑过程中,我们按一下键盘的a键,就会在屏幕上看到“a”。这是怎样一个过程呢?7.3以字符形式给出的数据我们可以在汇编程序中,用“……”的方式指明数据是以字符的形式给出的,编译器将把它们转化为相对应的ASCII码。例如程序7.17.3以字符形式给出的数据assumeds:datadatasegmentdb'unIX'db'foRK'dataendscodesegmentstart:moval,'a'movbl,'b'

4、movax,4c00hint21hcodeendsendstart程序7.17.3以字符形式给出的数据上面的源程序中:“db‘unIX’”相当于“db75H,6EH,49H,58H”,“u”、“n”、“I”、“X”的ASCII码分别为75H、6EH、49H、58H;“db‘foRK’”相当于“db66H,6FH,52H,4BH”,“u”、“n”、“I”、“X”的ASCII码分别为66H、6FH、52H、4BH;“moval,’a’”相当于“moval,61H”,”a”的ASCII码为61H;“moval,’b’”相当于“moval,62H”,”b”的ASCII码为62H。7.4

5、大小写转换的问题首先分析一下,我们知道同一个字母的大写字符和小写字符对应的ASCII码是不同的,比如“A”的ASCII码是41H,“a”的ASCII码是61H。要改变一个字母的大小写,实际上就是要改变它所对应的ASCII码。7.4大小写转换的问题我们可以将所有的字母的大写字符和小写字符所对应的ASCII码列出来,进行对比,从中找到规律。大写二进制小写二进制A01000001a01100001B01000010b01100010C01000011c01100011D01000100d011001007.4大小写转换的问题通过对比,我们可以看出来,小写字母的ASCII码值比大写字母

6、的ASCII码值大20H。这样,我们可以想到,如果将“a”的ASCII码值减去20H,就可以得到“A”;如果将“A”的ASCII码值加上20H就可以得到“a”。7.4大小写转换的问题按照这样的方法,我们可以将datasg段中:第一个字符串“BaSiC”中的小写字母变成大写;第二个字符串,“iNfOrMaTiOn”中的大写字母变成小写。7.4大小写转换的问题要注意的是:对于字符串“BaSic”,我们应只对其中的小写字母所对应的ASCII码进行减20H的处理,将其转为大写,而对其中的大写字母不进行改变;7.4大小写转换的问题要注意的是:(续)对于字符串“iNforMaTIOn”,我

7、们应只对其中的大写字母所对应的ASCII码进行加20H的处理,将其转为小写;而对于其中的小写字母不进行改变,这里面就存在着一个前提,程序必须要能够判断一个字母是大写还是小写。7.4大小写转换的问题以“BaSiC”讨论,程序的流程将是这样的:assumecs:codesg,ds:datasgdatasgsegmentdb'BaSiC'db'iNfOrMaTiOn'datasgendscodesgsegmentstart:movax,datasgmovds,axmovbx,0movcx,5s:m

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。