| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 497 人关注过本帖
标题:请问这个中断程序有什么问题?
只看楼主 加入收藏
kd83kdi93
Rank: 2
等 级:论坛游民
帖 子:65
专家分:52
注 册:2011-9-18
结帖率:70%
收藏
已结贴  问题点数:20 回复次数:4 
请问这个中断程序有什么问题?
assume cs:code
data segment
    db 16 dup (0)
data ends
code segment
    start:
    mov ax,cs
    mov ds,ax
    mov si,offset a
    mov ax,data
    mov es,ax
    mov di,0
    mov cx,offset b-offset a
    cld
    rep movsb
    mov ax,0200h
    mov ds,ax
    mov ax,0
    mov word ptr ds:[2],data
    mov word ptr ds:[0],ax
    int 80h
   
    mov ax,4c00h
    int 21h
    code ends
    a:
    mov dx,1234h;
    iret
    b:
    nop
end start

使用80h中断让dx变成1234h  80h中断的内存应该是0200:0000 - 0003吧    但是我debug单步执行完int 80h直接就iret了    dx也没有变化  
不知道是本来就这样还是我的程序有问题   请教
搜索更多相关主题的帖子: start word 
2013-01-17 14:23
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:10 
不懂帮顶
2013-01-17 15:39
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
单片机?
除了纯dos 好像都不能调用int

DO IT YOURSELF !
2013-01-18 08:50
无敌小超人
Rank: 1
等 级:新手上路
帖 子:3
专家分:5
注 册:2012-6-29
收藏
得分:0 
试试不用单步。用单步结果不一样的
2013-01-28 18:34
清微御宇
Rank: 6Rank: 6
来 自:开封
等 级:侠之大者
威 望:2
帖 子:318
专家分:497
注 册:2012-1-15
收藏
得分:0 
回复 楼主 kd83kdi93
一般在自己写中断例程(a)时,需要把它(a)安装在一块别的程序不会用到的内存中(0000:0200~0000:0300)而不是你自己随便申请的data段
    mov word ptr ds:[2],data

    mov word ptr ds:[0],ax中断向量也设错了0000:0200中的值(IP),0000:0202中的值(cs)!!!
!!!

[ 本帖最后由 清微御宇 于 2013-1-28 19:54 编辑 ]

Stay hungry , Stay foolish!
2013-01-28 19:40
快速回复:请问这个中断程序有什么问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032577 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved