![]() | 第8章 文件句柄功能与磁盘 | -221- | |||||||||||||||||||
main loop1: |
proc mov mov mov mov int jc mov mov mov push mov int mov mov int lodsw mov lodsw mov mov mov int jc mov mov mov int jc call mov int pop loop |
far ax,data ds,ax dx,offset fname ax,3d00h 21h exit cx,5 bx,ax si,offset off cx ax,0003h 10h ah,09h dx,offset msg 21h dx,ax cx,ax ah,42h al,00h 21h exit ah,3fh dx,offset buffer cx,32 21h exit disp ah,0 16h cx loop1 |
;初始化DS寄存器 ;DX指向待处理的文件名 ;按"读取"的方式打开文件 ;若文件打开出错,转EXIT结束 ;准备读取5组数据 ;BX寄存器获得文件句柄 ;SI寄存器指向偏移值数组 ;暂存CX寄存器 ;重置显示模式,清除屏幕 ;显示字符串MSG ;取得第一个偏移量的低字 ;将偏移量低字送入DX寄存器 ;取得第一个偏移量的高字 ;将偏移量高字送入CX寄存器 ;调用42H移动文件指针 ;从文件首部计数偏移量 ;若移动指针出错,转EXIT结束 ;准备读取数据 ;DX寄存器指向文件缓冲区 ;读入32个字节 ;若读取出错,转EXIT结束 ;调用DISP子过程 ;等待键盘输入 ;恢复CX寄存器 ;转LOOP1继续读取下一组数据 |
||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |