![]() | 第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 |