第12章 表的处理.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文档。上传文档
查看更多
例12.4是把十六进制数(Hex)转换成ASCII码。要使用XLAT指令,必须先定义一个转换表,用以存放十六进制数对应的ASCII码表,如: XLTAB DB 30H,31H,32H,33H,34H,35H,36H,37H DB 38H,39H,41H,42H,43H,44H,45H,46H 在使用XLAT指令之前,要先将表格的首地址放入BX寄存器内,要转换的字节即 十六进制数,也应预先放入AL寄存器中;指令执行后可在AL中得到转换后的代码(ASCII码)。XLAT指令利用AL寄存器内的值当作相对位移值,再加上BX的值,即可得到正确的地址。假设Hex是5,那么计算所得的地址是XLTAB+5,XALT根据这个地址从表中查得35H,取代了AL原先的5。所以这种方法被称为查表法。 例12.4 用查表法将一位十六进制数转换成相应的ASCII码。 源程序清单如下: ; filename:L124.ASM ; ————————————————————— DATA SEGMENT XLTAB DB 30H,31H,32H,33H,34H,35H,36H,37H DB 38H,39H,41H,42H,43H,44H,45H,46H HEX DB 5 ASC DB ? DATA ENDS ; ————————————————————— CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA BX,XLTAB MOV AL,HEX XLAT MOV ASC,AL MOV AH,4CH INT 21H CODE ENDS END START 12.5 显示十六进制数和对应的ASCII字符 例12.5几乎可以显示所有的ASCII字符和所对应的十六进制数。例如,Hex (十六进制) 53的ASCII码是大写字母S,程序就会显示53 S。完整的屏幕显示是一个16×16 的矩阵。 显示ASCII码符号比较容易,但要将十六进制数显示出来,所涉及的技巧就比较多。例如,要用ASCII码显示Hex 53,就必须将Hex 53,转换成Hex 35 33;要显示Hex 00,就必须将00转换成Hex 3030,依次类推。 这个程序先把HEXCTR内存单元初始化成00,然后将它逐一加1。子程序C10HEX把HEXCTR分成两个十六进制数。假设HEXCTR的内容是4F,C10HEX先取出Hex 4,把它当作转换指令所需要的XLATAB表的指针,转换后所得的值Hex 34放在AL内。然后C10HEX再取出F,转换成Hex 46。这个过程的运算结果是Hex 34 46,便可以显示出4F。显示结果在内存的存放格式是5个为一组(如第一项:2位十六进制数(00)、空格、对应的ASCII字符、空格),以80个字符为一行显示。例如,从DISPROW开始: 十六进制数 字符 十六进制数 字符 十六进制数 字符 … 内存内容:30 30 20 00 20 30 31 20 01 20 30 32 20 02 20 … 显 示:0 0 0 1 ? 0 ?2 ? ??… 表示空格。无法显示的字符均用空格(20)代替,因为DOS功能调用40H会将1AH当作一行的结束,所以程序将它转换成20H(空格)。 例12.5 显示十六进制数及其对应的ASCII字符。 程序清单如下: ; filename:L125.ASM ; ————————————————————— DATA SEGMENT DISPROW DB 16 DUP(‘ ’),13 HEXCTR

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档