词条 | 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。