首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

XLAT的有关问题

2012-03-17 
XLAT的问题ORG200HADBABBDD4DUP(1,2,3)XLABELBYTEYDW12分析下列程序段填空LEABX,BMOVAX,WORDPTRALEASI,X

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]

热点排行