【虚拟机专用】软盘版DOS 8.0
就是给虚拟机用的软盘镜像,里面有一个用XP格式化产生的带DOS系统的软盘镜像。笔者把以下一些东西放了进去:
CWSDPMI.EXE(为了让DOS版NASM运行,必须有这个文件。硬盘的C盘必须可用,否则NASM还是无法运行)
NASM.EXE(NASM汇编器的DOS版。注意必须有CWSDPMI.EXE否则无法运行)
DEBUG.EXE(经典16位调试器,这个调试器只能在DOS 5.0下运行。)
DEBUG32.EXE(经典16位调试器,支持32位指令集,只能在DOS 5.0下运行。)
FORMAT.COM(格式化程序,负责给磁盘进行格式化,只能在DOS 7.10下运行。)
GETVER.COM(笔者编写,取得DOS版本号并显示出来。源码见二楼。)
DOSVER5.COM(笔者编写,改DOS版本号为0x0005,也就是5.0。注意是个内存驻留程序,运行一次要消耗掉一部分内存且无法释放源码见二楼。)
DOSVER7A.COM(笔者编写,改DOS版本号为0x0A07,也就是7.10。注意是个内存驻留程序,运行一次要消耗掉一部分内存且无法释放源码见二楼。)
要想使用DEBUG.EXE或DEBUG32.EXE,请先运行一次DOSVER5.COM使DOS版本号被改成5.0。
要想使用FOTMAT.COM,请先运行一次DOSVER7A.COM使DOS版本号被改成7.10。
下载地址:
这是没压缩过的,下下来就能用。
http://pan.baidu.com/share/link?shareid=872924464&uk=2432784531
这是压缩过的,下下来还得解压了才能用。
http://pan.baidu.com/share/link?shareid=870635096&uk=2432784531
小提示:你可以把IMG后缀改成ISO,用WinRAR打开,把里面的文件都提取出来。不过呢,你可不能把文件再塞回去,塞不回去的!除非你们不是用WinRAR塞文件。
看看内容都有些什么。
算了,还是把源码都贴出来吧。
GETVER的源码:
org 0x100
bits 16
Start:
mov ax,0x3000 ;取得版本号
int 0x21
push ax ;暂存住版本号
mov ah,0 ;显示主版本号
call ShowNum
mov dl,'.' ;显示点号
mov ah,2
int 0x21
pop ax ;重新取得版本号
mov al,ah
mov ah,0 ;显示副版本号
call ShowNum
int 0x20 ;退出
;显示数字的程序:
; ax=数字
;结果:
; al,dx被破坏
; ah=2
ShowNum:
xor cx,cx
.ToDec:
xor dx,dx
div word[.10]
push dx
inc cx
or ax,ax
jnz .ToDec
mov ah,2
.NumOut:
pop dx
add dx,'0'
int 0x21
loop .NumOut
ret
.10 dw 10 然后是DOSVER5.ASM和DOSVER7A.ASM的源码(只差一句,所以只给一个代码即可)
org 0x100
bits 16
Start:
jmp Install
DOSVerInt:
cmp ah,0x30 ;判斷功能是不是“取版本”
jnz .OldDOSInt ;如果不是,跳转到旧的DOS中断
mov ax,0x0005 ;版本5.0
;mov ax,0x0A07 ;注释掉上面那句,取消注释这一句后,则是版本7.10
iret
.OldDOSInt: ;回到旧的DOS中断0x21
db 0xEA
.OldIntOff dw 0x0000
.OldIntSeg dw 0xFFFF
Install:
xor ax,ax
mov es,ax
mov ax, ;取得旧的DOS中断入口
mov ,ax
mov ax,
mov ,ax
cli
mov word,DOSVerInt;改DOS中断入口
mov ,cs
sti
mov dx,Install ;內存駐留
int 0x27
楼主大能,感谢感谢
页:
[1]