当前位置: 代码迷 >> 汇编语言 >> XLAT的有关问题
  详细解决方案

XLAT的有关问题

热度:4405   发布时间:2013-02-26 00:00:00.0
XLAT的问题
ORG   200H
A   DB   'AB '
B   DD   4DUP(1,2,3)
X   LABEL   BYTE
Y   DW   '12 '
分析下列程序段填空
LEA   BX,B;
MOV   AX,WORD   PTR   A;
LEA   SI,X;
MOV   DI,   OFFSET   Y;
MOV   DL,X+1;
AND   AL,0FH;
XLAT                 ;()=__H
请问这个XLAT等于几,请写出详细的解答过程~谢谢

------解决方案--------------------------------------------------------
xlat 就是以 [bx] 以基, AL 为索引, 将索引到的值返回在 AL 中, 和其它都不相关. 在执行 xlat 指令时, AL=1, BX 指向 B 数组, 因此, xlat 将返回 B 数组的第 1 字节的内容. 由于偏址是从 0 开始的, 所以, B DD 4 DUP(1, 2, 3) -> B DB 1, 0, 0, 0, 2, 0, ..... [bx][1] 字节就是 00 了, 1 的话, 应该是 [bx][0], 当然后面的也是如 [bx][12]
  相关解决方案