汇编:XLAT查表转换指令

汇编语言:如何正确使用查表指令XLAT ?

XLAT指令简介
首先,我们对XLAT 指令进行简单的介绍:
①功能:完成一个字节的查表转换功能。将DS:[BX+AL]指向的字节单元的内容送给AL。其中,BX存放的是DS段内表首元素的偏移地址,AL存放的是表内元素相对于表首的偏移量。(可以看作是对一维数组的访问)
②说明:使用该指令需要先在数据段中建立一张字节类型的表,该表的最大长度为256字节。

实例讲解
例:设计程序(非子程序实现)利用XLAT指令把十六进制数转换成ASCII码。假设ASCII码存放在以DAT 1为首地址的数据区中,对应的16进制数放在以DAT2为首地址的数据区中,转换结果送以DAT3为首地址的数据区中。
分析:在数据区中建立所需要的ASCII码表。在非子程序结构中直接使用。

.486
DATA   SEGMENT
    DAT1   DB    30H,31H,32H,33H,34H,35H,36H,37H,38H,39H
    DAT2   DB    5
    DAT3   DB    ?
DATA   ENDS
CODE   SEGMENT
             ASSUME CS:CODE,DS:DATA
START: MOV   AX,DATA
             MOV   DS,AX
             LEA      BX,DAT1;将表首地址送给BX
             MOV    AL,DAT2  ;将偏移量送给AL
             XLAT
             MOV    DAT3,AL
             MOV   AH,4CH
             INT      21H
CODE   ENDS
             END    START  
          

  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值