|
主题 : : 实验17完成 [待解决] |
回复[ 0次 ]
点击[ 502次 ] | |
荣誉值:8
信誉值:0
注册日期:2010-07-12 08:47 |
assume cs:code,ds:data,ss:stack
data segment
db 512 dup (6) ;往软盘里写如512个6
data ends
stack segment
dw 32 dup (0)
stack ends
code segment
start: mov ax,stack
mov ds,ax
mov sp,64
mov ax,cs
mov ds,ax
mov si,offset int13lg
mov ax,0
mov es,ax
mov di,204h
mov cx,offset int13lgend-offset int13lg
cld
rep movsb
mov ax,0
mov es,ax
cli
mov ax,es:[7ch*4]
mov es:[200h],ax
mov ax, es:[7ch*4+2]
mov es:[202h],ax
mov word ptr es:[7ch*4],204h
mov word ptr es:[7ch*4+2],0
sti
mov dx,0
mov ax,data
mov es,ax
mov bx,0
mov ah,3
int 7ch ;调用7ch中断例程
mov ax,0
mov es,ax
mov ax,es:[200h]
mov es:[7ch*4],ax
mov ax,es:[202h]
mov es:[7ch*4+2],ax ;还原7CH中断例程的起始地址
over:mov ax,4c00h
int 21h
int13lg: push si
push di
push cx
push bx
push es
mov al,ah
sub ah,ah
mov di,ax
mov ax,dx
mov si,1440
div si
mov bx,ax
mov si,18
mov ax,ax
div si
mov cx,ax
mov ch,cl
inc dx
mov cl,dl
mov dh,bl
mov dl,1
mov ax,di
mov ah,al
pop es
pop bx
int 13h
pop cx
pop di
pop si
iret
int13lgend:nop
code ends
end start | | |