| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 536 人关注过本帖
标题:实验12
只看楼主 加入收藏
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
结帖率:99.34%
收藏
 问题点数:0 回复次数:6 
实验12
RT 王爽汇编实验12
下面是程序答案:
程序代码:
;#Mode=DOS
;MASMPlus 单文件代码模板 - 纯 DOS 程序
;--------------------------------------------------------------------
;单个文件需要指定编译模式,否则默认是EXE方式,在系统设置中可以设置默认是DOS还是Windows.
;编译模式自带了DOS/COM/CON/EXE/DLL/LIB这几种,如果有必要,可以更改ide.ini添加新的编译模式
;当然,更好的是创建为一个工程.更方便及易于管理,使用方法:按Ctrl多选->创建工程.必须有多个文件

assume cs:code

code segment
     start: mov ax, 1000h
            mov bh, 1
            div bh               ; 上面3句是我自己添加的
           
            mov ax, cs
            mov ds, ax
            mov si, offset do0
           
            mov ax, 0
            mov es, ax
            mov di, 0200h
           
            mov cx, offset do0end - offset do0
            cld
            rep movsb
           
            mov ax, 0       ; 设置中断向量表
            mov es, ax
            mov WORD ptr es:[0 * 4], 200h
            mov WORD ptr es:[0 * 4 + 2], 0
           
            mov ah, 1
            int 21h
            mov ax, 4c00h
            int 21h
           
      do0:  jmp short do0start
             db 'divide error!'   ; 这里修改了几个不同的字符串
            

 do0start:  mov ax, cs
            mov ds, ax
            mov si, 202h
           
            mov ax, 0b800h
            mov es, ax
            mov di, 20 * 160 + 36 * 5   ; 这里修改了几个不同的位置
           
            mov cx, 13
        s:  mov al, [si]
            mov es:[di], al
            inc si
            add di, 2
            loop s
           
            mov ah, 1
            int 21h
            mov ax, 4c00h
            int 21h
           
   do0end: nop
code ends

end start

mov ax, 1000h
mov bh, 1
div bh
这个是我自己加上去的 为的是验证当发生除法溢出时 是不是调用了自己写的那个中断
但是遗憾的是结果就是除法溢出时还是调用了系统的中断 对我写的那个没有任何反应
有图验证  我将字符串的内容和位置都做了调整但是没出现调整后的字符
[attach]64257[/attach]
--
[attach]64258[/attach]
始终是出现overflow!而且在同一个位置,明显是系统的东西。

我的问题是我写那个貌似没错误 和答案一模一样 为什么div bh后不予理睬呢? 中断向量表我已经设置好了啊、
求解释 求调用。

[ 本帖最后由 有容就大 于 2012-8-16 16:32 编辑 ]
2012-08-16 16:31
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
嘿嘿 为什么现在看不到图了? [attach]64257[/attach]

梅尚程荀
马谭杨奚







                                                       
2012-08-16 16:38
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
[attach]64258[/attach]

梅尚程荀
马谭杨奚







                                                       
2012-08-16 16:38
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

--
图片附件: 游客没有浏览图片的权限,请 登录注册


梅尚程荀
马谭杨奚







                                                       
2012-08-16 16:39
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
自己解决了 我擦 原来要把除法放到写好的中断下面 。。。


梅尚程荀
马谭杨奚







                                                       
2012-08-16 16:43
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
收藏
得分:0 
别学16位的DOS汇编了。 赶快开始学win32汇编吧。快快进入win32环境下编程的大门吧。这里有钞票,这里有美女,这里有帅哥,这里有皮鞭,这里有手铐,这里有蜡烛,这里还有加多宝凉茶。
2012-08-17 02:43
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 6楼 信箱有效
这个应该没有。。。。

梅尚程荀
马谭杨奚







                                                       
2012-08-17 09:15
快速回复:实验12
数据加载中...
 
   



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

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