汇编网首页登录博客注册
duckgaga的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
友情链接

[  yc2010   发表于  2010-09-07 21:55  ]

这个问题是实验16中的代码不懂。
table:  dw sub1,sub2,sub3,sub4 

set:    push ax 

        push bx 

  

        cmp ah,3 

        ja sret 

        mov bl,ah 

        mov bh,0 

        add bx,bx                ----------->这里为什么要bx*2 

         

        call word ptr table[bx] 

  

sret:   pop bx 

        pop ax 

        ret 
-----------------------------------------
mov bl,ah   
mov bh,0   
add bx,bx   ----------->这里为什么要bx*2  2个问题 
call word ptr table[bx]   
----------------------------------  
ah是8位寄存器(字节),用来传送子程序编号。  
bx是16位寄存器(字),已经是word了,为什么还要add bx,bx呢? 
还有就是add bx,bx的话,那不就是dd(双字)了吗? 
2个问题怎么就是没个人能解答下。
这个问题是实验16中的代码不懂。

[  lxc345   发表于  2008-05-06 16:07  ]

谢谢!!!
希望以后多多指教啊.

页码数(1):  1 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码