请输入您要查询的百科知识:

 

词条 XLAT指令
释义

简介

汇编语言查表指令 XLAT (Translate)。

具体说明

查表指令 XLAT (XLAT: 字节查表转换)。

指令格式:XLAT TABLE 其中TABLE为一待查表格的首地址。

指令功能:把待查表格的一个字节内容送到AL累加器中。在执行该指令前,应将TABLE先送至BX寄存器中,然后将待查字节与其在表格中距表首地址位移量送AL,即AL<--((BX)+(AL)). 执行XLAT将使待查内容送到累加器。

本指令不影响状态标位,表格长度不超过256字节。

举例:

例一

X DW 1122H,3344H,5566H,7788H。

LEA BX,X。

MOV AL,03H。

XLAT。

结果AL为33H。

XLAT作用:将((BX)+(AL))送给(AL)----简单:将BX为首地址的,偏移地址为AL的内容送给AL。

在运行XLAT之前,AL=3 BX=(X的首地址)。

这时BX+AL就是33....为什么?注意高地址放在下面。

也就是。

--------------

22------BX指向这里。

11。

44。

33-----偏移地址AL为3的位置就是这里。

--------------

XLAT X。

在执行XLAT之前,先将X的地址送给BX,偏移次数送给AL。

XLAT即为查找指令 (一个字节)。

例二

;xlat指令测试。

; 汇编语言查表指令 XLAT。

; 查表指令 XLAT。

; 指令格式:XLAT TABLE 其中TABLE为一待查表格的首地址。

; 指令功能:把待查表格的一个字节内容送到AL累加器中。在执行该指令前,

; 应将TABLE先送至BX寄存器中,然后将待查字节与其在表格中距表首地址位移量送AL,

; 即(AL)<--((BX)+(AL)). 执行XLAT将使待查内容送到累加器。 注意:是将bx和al中的值相加再取地址

; 本指令不影响状态标位,表格长度不超过256字节。

assume cs:code,ds:data。

data segment。

tab db 1000000b,1111001b,0100100b,0110000b。

db 0011001b,0010010b,0000010b,1111000b。

db 0000000b,0010000b,0001000b,0000011b。

db 1000110b,0100001b,0000110b,0001110b。

db 0010110b,0100001b,0010010b,0110000b.

XCODE db 9。

YCODE db ?。

data ends。

code segment。

start:

mov ax,data。

mov ds,ax。

mov bx,offset tab。

mov al,XCODE。

and al,0fH。

xlat 。

mov YCODE,al。

mov ah,4cH。

int 21H。

code ends。

end start。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/25 21:08:08