⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hdbootldn.asm

📁 一本《硬盘保护技术手册》附带的源码
💻 ASM
字号:
;hdbootld.asm     ---boot1.asm install program
;masm   hdbootld
;link   hdbootld
;exe2com  hdbootld
;Usage: Before running this program,you must place a floppy in drive a:,
;       and run this program,choose the disk type.
;book: HARDDISK PROTECTION TECHNIQUE HANDBOOK
;page:167
;creat on 02/21/1999
;this program likes fixboot.asm
           .model tiny
	   .code
	   org   100h
start:
       jmp   begin
      
buffer  db  0EBh,29h,90h,48h,6Fh,77h,61h,72h,64h,20h,00h,02h
	db  01h,01h,00h,02h,0E0h,00h,40h,0Bh,0F0h,09h,00h,12h
	db  00h,02h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
	db  00h,00h,00h,00h,00h,00h,00h,0FAh,33h,0C0h,8Eh,0D0h
	db  0BCh,00h,7Ch,8Bh,0F4h,50h,07h,50h,1Fh,0FCh,0BFh,00h
	db  06h,0B9h,00h,01h,0F2h,0A5h,33h,0C0h,50h,0B8h,4Ah,06h
	db  50h,0CBh,0BFh,63h,06h,0E8h,73h,01h,0B8h,01h,02h,0BBh
	db  00h,7Ch,0B9h,01h,00h,0BAh,80h,00h,0CDh,13h,0EAh,00h
	db  7Ch,00h,00h,20h,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh
	db  5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh
	db  5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh
	db  5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,0Dh,0Ah,7Ch,20h
	db  20h,20h,20h,20h,2Ah,2Ah,2Ah,20h,48h,61h,72h,64h
	db  64h,69h,73h,6Bh,20h,62h,6Fh,6Fh,74h,65h,72h,20h
	db  66h,6Ch,6Fh,70h,70h,79h,20h,2Ah,2Ah,2Ah,20h,20h
	db  20h,20h,20h,7Ch,0Dh,0Ah,7Ch,3Dh,3Dh,3Dh,3Dh,3Dh
	db  3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh
	db  3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh
	db  3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,3Dh,7Ch
	db  0Dh,0Ah,7Ch,20h,20h,20h,20h,20h,20h,20h,20h,20h
	db  20h,20h,56h,65h,72h,73h,69h,6Fh,6Eh,20h,31h,2Eh
	db  30h,30h,20h,20h,20h,20h,20h,20h,20h,20h,20h,20h
	db  20h,20h,20h,20h,20h,20h,20h,7Ch,0Dh,0Ah,7Ch,20h
	db  20h,20h,20h,54h,68h,69h,73h,20h,64h,69h,73h,6Bh
	db  65h,74h,74h,65h,20h,69h,73h,20h,66h,6Fh,72h,63h
	db  65h,64h,20h,74h,6Fh,20h,62h,6Fh,6Fh,74h,20h,20h
	db  20h,20h,20h,7Ch,0Dh,0Ah,7Ch,20h,20h,20h,20h,66h
	db  72h,6Fh,6Dh,20h,74h,68h,65h,20h,48h,61h,72h,64h
	db  20h,44h,69h,73h,6Bh,2Eh,2Eh,2Eh,20h,20h,20h,20h
	db  20h,20h,20h,20h,20h,20h,20h,20h,20h,20h,20h,7Ch
	db  0Dh,0Ah,7Ch,20h,20h,20h,20h,20h,20h,20h,20h,20h
	db  20h,20h,20h,20h,20h,62h,79h,20h,48h,6Fh,77h,61h
	db  72h,64h,2Ch,20h,30h,32h,2Fh,32h,31h,2Fh,31h,39h
	db  39h,39h,20h,20h,20h,20h,20h,7Ch,0Dh,0Ah,7Ch,5Fh
	db  5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh
	db  5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh
	db  5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh,5Fh
	db  5Fh,5Fh,5Fh,7Ch,0Dh,0Ah,24h,2Eh,8Ah,05h,3Ch,24h
	db  74h,0Ah,0B4h,0Eh,0BBh,03h,00h,0CDh,10h,47h,0EBh,0EFh
	db  0C3h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
	db  00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
	db  00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h
	db  00h,00h,00h,00h,00h,00h,55h,0AAh

;floppy bpb data (get from format.exe )

type1  db   00h,02h,02h,01h,00h,02h,70h,00h,0d0h,02h
       db   0fdh,02h,00h,09h,00h,02h,00h,00h,00h

type2  db   00h,02h,01h,01h,00h,02h,40h,00h,68h,01h
       db   0fch,02h,00h,09h,00h,01h,00h,00h,00h

type3  db   00h,02h,02h,01h,00h,02h,70h,00h,80h,02h
       db   0ffh,01h,00h,08h,00h,02h,00h,00h,00h

type4  db   00h,02h,01h,01h,00h,02h,40h,00h,40h,01h
       db   0feh,01h,00h,08h,00h,01h,00h,00h,00h

type5  db   00h,02h,02h,01h,00h,02h,70h,00h,0a0h,05h
       db   0f9h,03h,00h,09h,00h,02h,00h,00h,00h
       

t_ofs    dw   offset type1
         dw   offset type2
	 dw   offset type3
	 dw   offset type4
	 dw   offset type5

ask_msg  db  ' ________________________________________________',0ah,0dh
         db  '|    *** Hard Disk booter install utility ***    |',0ah,0dh
	 db  '|================================================|',0ah,0dh
	 db  '|   This program is used to install the hard     |',0ah,0dh
	 db  '| disk booter to your floppy...  Howard 02/21/99 |',0ah,0dh
	 db  '|________________________________________________|',0ah,0dh
	 db  '    Do you want to proceed? (y/n)',0ah,0dh,07h,'$'
	 
Media    db  '(1) 360K, (2) 1.2M','$'

suc_msg  db  0dh,0ah,'Hard Disk booter is installed sucessfully!',07h,'$'
err_msg  db  0dh,0ah,'Drive A write error,please check the floppy...',07h,'$'

begin:
       push  cs
       pop   ds
       push  cs
       pop   es
       
       mov   ah,09h
       mov   dx,offset ask_msg
       int   21h
       
echo:
       mov   ah,07h
       int   21h
       cmp   al,'Y'
       je    check_media
       cmp   al,'y'
       je    check_media
       jmp   exit
       
check_media:
       mov   ah,09h
       mov   dx,offset media
       int   21h
p1:
       mov   ah,07h
       int   21h
       cmp   al,'1'
       je    dtype1
       cmp   al,'2'
       je    install

       jmp   p1
       
dtype1:   
       mov   si,[word ptr t_ofs]
       mov   di,offset buffer+11
       mov   cx,19
       rep   movsb

       

       
install:
       mov   si,5
       push  cs
       pop   es
       
writeboot:
       push  si
       mov   ax,0301h
       mov   bx,offset buffer
       mov   cx,0001h
       mov   dx,0
       int   13h
       pop   si
       jnc   sucess
       dec   si
       jnz   writeboot
       
error:
;       call  checket
       mov   ah,09h
       mov   dx,offset err_msg
       int   21h
       jmp   exit
       
sucess:
;       call  checket
       mov   ah,09h
       mov   dx,offset suc_msg
       int   21h
       
exit:
       mov   ah,4ch
       int   21h
       end  start
       
	 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -