关于xlat指令

lezi1022 2003-05-28 09:32:47
offset取的是变量的偏移量(偏移量也就是位移吧?一样吗?)

mov bx,offset tab1
mov si,offset tab2
mov al,[si]
xlat tab1;换码,([bx]+(al))=>al

xlat是以bx为基点,al为位移 置换。
offset是取偏移量啊,把offset tab1送到bx中,那bx也是偏移了,就不是表tab1的起始地址了,应该地址用seg取其表的起始吧?
...全文
292 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lezi1022 2003-05-28
  • 打赏
  • 举报
回复
偏移地址也有起始地址的?
不是段才有起始地址吗?
那偏移地址的起始地址和段的起始地址有什么不同?
Tiangua 2003-05-28
  • 打赏
  • 举报
回复
呵呵。byte ptr [bx+al]----->al
就是这样的呀。
bx是表的起始地址,al是要查的项在表里的位置(从0开始数),
然后,把查到的数放到al里。
就完了。

bx确实是一个偏移地址,是表的开始的偏移地址。seg是取段地址的,当然不可以用了。
penhycch 2003-05-28
  • 打赏
  • 举报
回复
好好的去看一看清华出版的本汇编书应该可以搞定
W32API 2003-05-28
  • 打赏
  • 举报
回复
这个问题我看你要找找 XLAT 指令的执行流程了,INTEL 应该有这方面的资料。
一般来说,有关于 INTEL 指令集的指令详细介绍的书,它在列出该指令的格式的同时,还会给出其二进制机器代码的编码方式,同时也会给出该指令的执行流程以及执行过程及执行后会影响到的标志位(包括要根据执行结果要设置的标志位,或无法确定但会有影响的标志位)。
我的资料没带在身边。。。。。
你看看 MSDN 里面有没有
W32API 2003-05-28
  • 打赏
  • 举报
回复
这个问题我看你要找找 XLAT

21,495

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧