. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->外中断
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  15章的1个疑问  [待解决] 回复[ 2次 ]   点击[ 330次 ]  
yixiaodaxia
[帖 主]   [ 发表时间:2009-04-07 12:25 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-03-15 20:47
int9new:
push ax
push bx
push cx
push es


in al,60h
pushf

call dword ptr cs:[200h] 请问这为社么一定要cs才行 我用es赋值0 改成es:[200h] 调试就不成功?
cmp al,3bh
jnz int9ret
mov ax,0b800h
mov es,ax
mov cx,2000
mov bx,1
color:mov byte ptr es:[bx],01000010b 
      add bx,2
      loop color
      
int9ret:pop es
        pop cx
        pop bx
        pop ax
        iret    
int9newstop:nop
abob
[第1楼]   [ 回复时间:2009-04-09 13:13 ]   [引用]   [回复]   [ top ] 
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
call dword ptr cs:[200h] 请问这为社么一定要cs才行 我用es赋值0 改成es:[200h] 调试就不成功? 
-------
这句后面用了问号,是楼主调试了还是没有调试呢?

来凉凉调试过程啊~
fangyugirl
[第2楼]   [ 回复时间:2009-05-12 12:50 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-03-06 09:35
建议你再回头看看第10章的10.6节 call dword ptr 内存单元地址,按照你的code所说,
call dword ptr cs:[200h]就是等于:push cs,push ip,jmp dword ptr cs:[200h],它保存CS和IP后就跳到cs:[200h]这个地方执行了, cs:[200h]这个地方你放的什么?你再仔细想想,其实还是书没看好。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved