飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2375|回复: 1

汇编语言例子2---DOS时代的小工具,读取主引导扇区保存

[复制链接]

该用户从未签到

发表于 2006-6-22 13:33:51 | 显示全部楼层 |阅读模式
在DOS和95,98的年代,引导盘病毒很多,一般是用DEBUG来读写MBR,后来用汇编写了这个程序,怀念一下DOS。。。。。。。

;----------------
;编译模式="DOS"
;----------------
.model small
.stack 200h
.data
mes db 0dh,0ah,'This program save the master boot record to mboot.dat',0dh,0ah,'$'
file db 'd:\mboot.dat',0
buf db 512 dup(?)
errmsg db 0dh,0ah,'Error',0dh,0ah,'$'
.CODE
START:
   mov bx,offset buf
        mov ax,0201
        mov cx,0001
        mov dx,0080
        int 13       ;读取主引导扇中内容,其中包括引导记录及分区表
        mov ax,@data
        mov ds,ax
        mov dx,offset file  ;建立文件MBOOT.DAT用来存储主引导内容
        mov ah,3ch
        mov cl,00h
        mov ch,00h
        int 21h
        jc err
        mov ah,3dh
        mov al,02h
        mov dx,offset file
        int 21h
        jc err
        mov bx,ax,
        mov ah,40h
        mov cx,512
        mov dx,offset buf
        int 21h
        jc err
        mov ah,3eh
        int 21h
        jc err
        jmp ok
err:
        mov dx,offset errmsg
        mov ah,09h
        int 21h
ok:
        mov ah,4ch     ;结束,可以修改al设置返回码
        int 21h
END START

[ 本帖最后由 caterpilla 于 2006-6-22 13:37 编辑 ]
PYG19周年生日快乐!

该用户从未签到

发表于 2006-6-22 17:04:14 | 显示全部楼层
恩,顶一个
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表