| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1530 人关注过本帖
标题:汇编出错your program cause a divide overflow error...
只看楼主 加入收藏
brantyou
Rank: 1
等 级:新手上路
帖 子:26
专家分:2
注 册:2009-5-3
结帖率:85.71%
收藏
已结贴  问题点数:15 回复次数:3 
汇编出错your program cause a divide overflow error...
代码:
section .text
global main
  org 100h
main:
  mov  ax, cs
  mov  ds, ax
  mov  ah, 09H          ;9号调用
  mov dx,msge
  int 21h

  JMP READ


    MOV AX,0201H      ;(用功能号2读1个扇区)              
    MOV BX,B0      ;把读出的数据放入缓冲区的地址为CS:1000              
               
    MOV DX,0080H      ;(指定第一物理盘的0磁头)
    MOV CX,0001H      ;(读0柱面,1扇区)               
    INT 13H         ;读MBR区到内存

MOV AH,09H
MOV DX,B0
INT 21H
MOV AH,4CH
INT 21H


READ:   PUSH CS
    POP ES
    MOV BX,B0

msge:
  db "read the message of MBR to the memory!",0ah,0dh,"$"

B0: DB 512,"$"

运行时情况:
图片附件: 游客没有浏览图片的权限,请 登录注册


谁能告诉我这是怎么回事啊????

[ 本帖最后由 brantyou 于 2009-10-24 10:37 编辑 ]
搜索更多相关主题的帖子: overflow divide cause program 
2009-10-24 10:34
wingfeng
Rank: 2
等 级:论坛游民
帖 子:292
专家分:10
注 册:2008-12-12
收藏
得分:0 
???我也是新手,不过你的程序我完全看不懂,是不是我太烂了,??
帮你顶一下! 学一下!
2009-10-24 10:52
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:15 
以下是引用brantyou在2009-10-24 10:34:46的发言:

代码:
section .text
global main
  org 100h
main:
  mov  ax, cs
  mov  ds, ax
  mov  ah, 09H          ;9号调用
  mov dx,msge
  int 21h

  JMP READ


    MOV AX,0201H      ;(用功能号2读1个扇区)       ...
   
   这个代码有明显逻辑错误。
   从代码形式上看,应该是遵从了NASM的语法。其目的是把硬盘的主引导分区读入BO这个数据单元。但是从BO的定义来看它只是保留了两个字节的空间。显然不能容纳512字节的扇区内容。
   再有JMP READ跳转到了READ这个位置,只是简单设置了ES=DS,并且没有返回读入扇区的代码。使得代码直接执行到了mesage的数据内容中这才是最要命的地方。怀疑楼主是从几个地方拼凑的代码,并没有真正理解。
  

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-10-25 10:06
brantyou
Rank: 1
等 级:新手上路
帖 子:26
专家分:2
注 册:2009-5-3
收藏
得分:0 
高手果然慧眼,一眼就看出问题的所在。但如果能够给出如何修改的话那就更好了,小弟我是新手,还需要多多学习才行啊
2009-10-25 17:06
快速回复:汇编出错your program cause a divide overflow error...
数据加载中...
 
   



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

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