caterpilla 发表于 2006-6-22 13:33:51

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

在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 编辑 ]

hacker0058 发表于 2006-6-22 17:04:14

恩,顶一个
页: [1]
查看完整版本: 汇编语言例子2---DOS时代的小工具,读取主引导扇区保存