. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->外中断
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  为什么向0:[36]和0:[38]写入数据不行啊最后用debug查看这4个字单元的数据没改变。  [待解决] 回复[ 1次 ]   点击[ 263次 ]  
njxxdx
[帖 主]   [ 发表时间:2008-10-16 15:41 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-09-29 21:57
mov ax,0
mov es,ax
mov word ptr es:[24h],204h
mov word ptr es:[26h],0
startasm
[第1楼]   [ 回复时间:2008-10-23 11:52 ]   [引用]   [回复]   [ top ] 
荣誉值:50
信誉值:0
注册日期:2007-11-27 20:05
楼主看看下面这个代码运行一下看看,并能但不跟踪。

assume cs:code
code segment
start:        

        mov ax,0 
        mov es,ax 

        push es:[9*4]
        pop ax
        push es:[9*4+2]
        pop bx

        mov es:[24h],ax 
        mov es:[26h],bx

        mov ax,4c00h
        int 21h

code ends
end start

希望楼主试验玩上面的代码后,思考有了结论再看下面的几句话
1,es:[24h]不是不能更改,书上就有这个实例,作为一本出版的书不可能范这样的严重错误,当碰到问题的时候,“他是能更改的”是我们的一个分析理由。
2,上面的程序和楼主的程序的差别是,给es:[24h]的赋值不是随意给的,而是原来的值。

键盘中断比较特殊,因为只要我们按键它就会执行。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved