| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 619 人关注过本帖
标题:汇编问题(读到一半死了)
只看楼主 加入收藏
brantyou
Rank: 1
等 级:新手上路
帖 子:26
专家分:2
注 册:2009-5-3
结帖率:85.71%
收藏
已结贴  问题点数:17 回复次数:3 
汇编问题(读到一半死了)
情况如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册


程序代码:

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




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

  JMP READ

mov dx,B0
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,"$"
;str_len equ $ - B0
;      times 530 - ($ - $$) db 0                            ; 填充剩下的空间,使生
成的二进制代码恰好为512字节
B0: times 510 -($-$$) db 0




这个是不是压栈和读栈的问题?希望知道的高手给点意见,最好就能够给出修正的代码。小弟在此先谢啦!

[ 本帖最后由 brantyou 于 2009-10-25 17:48 编辑 ]
搜索更多相关主题的帖子: 汇编 
2009-10-25 17:47
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:17 
没玩过NAMS,感觉和FASM差不多,下面是改过的代码,你可以调试一下。

程序代码:
section .text 
global main 
  org 100h 
main: 
    mov  ax, cs 
    mov  ds, ax 
    mov  ah, 09H          ;9号调用 
    mov dx,msge 
    int 21h 
 
 
    MOV AX,0201H      ;(用功能号2读1个扇区)               
    MOV BX,B0      ;把读出的数据放入缓冲区的地址为CS:1000               
    MOV CX,0001H      ;(读0柱面,1扇区)                 
    MOV DX,0080H      ;(指定第一物理盘的0磁头) 
             
    INT 13H         ;读MBR区到内存 
 
    MOV CX,0020H  
    MOV DX, szFile 
    MOV AH,3CH  
    INT21H ;建立文件c:\Boot.Bin 
  
    MOV AL,01H  
    MOV DX, szFile  
    MOV AH,3DH  
    INT21H ;打开文件c:\Boot.Bin  
 
    MOV BX,AX  
    MOV DX,B0  
    MOV CX,0200H  
    MOV AH,40H  
    INT 21H ;将内存中的MBR区写入文件中 
 
     
    MOV AH,4CH 
    INT 21H 
 
msge: 
  db "read the message of MBR to the memory!",0ah,0dh,"$" 
 
szFile: 
  db "c:\Boot.Bin","$" 
 
B0:  
  times 512 db 0

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-10-25 20:07
brantyou
Rank: 1
等 级:新手上路
帖 子:26
专家分:2
注 册:2009-5-3
收藏
得分:0 
虽然这个代码读的还是乱码!但不管怎么说也要谢谢你!
2009-10-27 23:22
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
回复 3楼 brantyou
我晕,不知你拿什莫查看的。读出来的数据我没做任何处理就写入了文件。你用文本编辑软件看文件,如果不是‘乱码’那才叫奇怪哪。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2009-10-29 11:02
快速回复:汇编问题(读到一半死了)
数据加载中...
 
   



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

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