注册 登录
编程论坛 汇编论坛

如何用汇编写一个程序读取MBR扇区的内容

brantyou 发布于 2009-10-20 21:33, 1777 次点击
我想用汇编做一个程序,这个程序是在DOS下,用汇编语言编写的,该程序用于把计算机中的MBR扇区(512B)内容,读取并显示在屏幕上。    各位大虾那位可以帮小弟我出出主意啊!
3 回复
#2
东海一鱼2009-10-21 07:25
程序代码:
DATA SEGMENT
    str DB "读取硬盘的主引导区到内存中。","$"     
DATA ENDS  
 
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START:
    MOV   AX,DATA
    MOV   DS,AX
    MOV   ES,AX
 
    MOVAH,09H                     
    MOVDX,OFFSET str                    
    INT21H         ;显示字符串str
 
    MOVAX,0201H                    
    MOVBX,0700H                    
    MOVCX,0001H                    
    MOVDX,0080H                    
    INT13H         ;读MBR区到内存            
            
    MOV   AH,4CH
    INT   21H         ;退出程序
CODE ENDS
END START
#3
brantyou2009-10-21 18:32
哦!my god!我无法用这段程序编译啊!谁能救救我
#4
psdx2009-10-26 18:23
以下是引用brantyou在2009-10-21 18:32:02的发言:

哦!my god!我无法用这段程序编译啊!谁能救救我

哼哼哈嘿,快使用debug,哼哼哈嘿,快使用debug
debug是我们编译16位asm的最佳武器~~~~~~~~~
 
程序代码:
DATA SEGMENT
    str DB "读取硬盘的主引导区到内存中。","$"     
DATA ENDS  

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
START:
    MOV   AX,DATA
    MOV   DS,AX
    MOV   ES,AX

    MOV AH,09H                     
    MOV DX,OFFSET str                    
    INT   21H         ;显示字符串str

    MOV AX,0201H                    
    MOV BX,0700H                    
    MOV CX,0001H                    
    MOV DX,0080H                    
    INT  13H         ;读MBR区到内存            
            
    MOV   AH,4CH
    INT   21H         ;退出程序
CODE ENDS
END START


[ 本帖最后由 psdx 于 2009-10-26 18:34 编辑 ]
1