回 帖 发 新 帖 刷新版面

主题:急问

有谁能给我讲解xlat指令的使用实例

回复列表 (共5个回复)

沙发

XLAT 换码指令 
格式:XLAT  str_table   或 XLAT 


 

功能:把DS: (BX+AL)内存单元中的内容取出送入AL寄存器中。 说明: (1)XLAT指令使用方法: •     先建立一个字节表格; •     表格第一个字节偏移地址存入str_table送入BX寄存器; •     需要转换代码的序号(相对于表格首地址位移量)存入AL;(表中第一个元素的序号为0) •     执行XLAT指令后,表中指定序号的元素存于AL中。(AL)为转换的代码。 (2)默认寄存器: •     BX:存放表格第一个字节偏移地址 •     AL:使用XLAT指令前,存放相对于表格首字节的位移偏移量;使用XLAT指令后,存放表格中指定的字节的内容;

板凳

例子

内存的数据段中有一十六进制数字的ASCII码表。首地址为:Hex_table ,欲查出元素‘A’的ASCII码; 


       MOV  BX,OFFSET  Hex_table 
MOV  AL,0AH      
 XLAT  Hex_table ;程序运行后,AL寄存器中的内容为41H。

3 楼

有谁能画一下程序在内存中数据的变化图吗
谢谢

4 楼

再举一例,可能好理解一些
(bx)=0100h为字节符表的 起始地址,0105h字节单元中的内容为2ch
若(al)=05h,则执行后xlat后,(al)=2ch了

5 楼

我理解了谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册