目录 上一页 下一页 下一章

第8章 文件句柄功能与磁盘 -235-











loop1:














disp:


loop2:


loop3:








cmp
jz
add
dec
or
cmp
ja
mov
sub
mov

mov
mov
mov
mov
mov
mov
int
jnc
dec
jnz
mov
mov
int
jmp

mov
mov

push
mov

cmp
jz
mov
mov
mov
mov
int
add
byte ptr [bx],0
exit
bl,byte ptr [bx]
bx
byte ptr [bx],20h
byte ptr [bx],'b'
exit
dl,byte ptr [bx]
dl,'a'
di,4

ah,2
al,3
bx,offset buffer
ch,0
cl,2
dh,1
13h
disp
di
loop1
ah,9
dx,offset errmsg
21h
short exit

si,bx
cx,2

cx
cx,24

byte ptr [si],0
exit
word ptr [si+11],0a0dh
byte ptr [si+13],'$'
dx,si
ah,9
21h
si,32
;没有命令行参数吗?
;若没有命令行参数,转EXIT结束
;BX指向命令行参数末尾

;将驱动器名改为小写
;驱动器名比"B"大吗?
;若驱动器名大于"B",转EXIT结束
;将驱动器名送入DL寄存器
;并转换成对应的数字
;准备进行4次操作

;选择扇区读取功能
;读入3个扇区
;BX寄存器指向缓冲区
;读0磁道
;从第2扇区开始
;读磁盘的1面

;若操作正确,转DISP显示读入的内容
;若出错,则准备进行一次重试
;未做完4次重试,转LOOP1继续
;4次读取不成功,显示出错信息


;结束进程

;SI寄存器指向读入的数据





;SI寄存器指向的数据为0吗?
;若为0,转EXIT结束
;在[SI+11]处加入回车和换行
;在回车换行符后加"$"表示字符串结束
;DX寄存器指向构造好的字符串
;显示这个字符串

;SI寄存器指向后面32个字节

Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章