您当前的位置:首页>>编程相关>>正文
 
读扇区汇编程序源程序清单
作者: 来源: 日期:2007-5-15 9:26:54  点击次数:


        int 21h                  ;43.


        mov dx,offset buffer     ;44.取缓冲区数据地址


        mov cx,512               ;45.


        mov bx,ax                ;46.


        mov ah,40h               ;47.写文件


        int 21h                  ;48.


        mov ah,3eh               ;49.关闭文件


        int 21h                  ;50.


        mov ah,4ch               ;51.返回系统


        int 21h                  ;52.


code ends                        ;53.


        end start                ;54.程序结束

源程序解释


在对汇编源程序进行解释的时候,有些属于汇编程序的基本格式和基本语法,就不再介绍了。大家可以看看汇编语言的基础教程,这一类的书是很多的。


第2行定义了缓冲区内的一个字符串,该字符串是作为提示行输出到屏幕的。因为输出字符串是由INT21H中断里的09H号DOS功能调用完成的,所以字符串必须以“$”作为结束符。


第3-5行在内存中开辟一块缓冲区,用来存储由键盘输入的文件名。


第6行在内存中开辟一块缓冲区,用来存储512字节扇区数据。


第7行在内存中开辟一块缓冲区,准备转存键盘输入的文件名。前面已经将文件名存入缓冲区里了,为什么还要转存呢?


因为由键盘输入的表示文件名的字符串,是由0aH号DOS功能调用接收完成的。该功能调用向缓冲区存入字符串时,从第三个字节开始存放字符串的首字节。缓冲区的第一个字节设置为缓冲区的最大容量,属于功能调用的入口参数。缓冲区的第二个字节存放实际读入的字符数(回车符除外),属于功能调用的出口参数,是在键盘输入结束后,由系统写入的。


键盘输入的字符串就是下一步要建立的存储扇区数据的文件名。建立文件是由3cH号DOS功能调用完成的,该功能调用对缓冲区的存储要求与0aH号DOS功能调用不一样,因此必须进行上述转存工作。


第15-16行取变量buffer的段址,用该段址初始化附加段ES。这是由基本INT13H中断的入口参数所要求的,其数据缓冲区地址=ES:BX。


第17-21行设置各项入口参数,然后执行13H中断。下面顺序介绍各项功能:将变量buffer的地址取到BX寄存器中;AH=02H,执行读功能;AL=01H,读一个扇区;CH=00H,磁道号(也就是柱面号)为0;CL=01H,扇区号为1;DH=00H,磁头号为0;DL=80H,驱动器号为第一硬盘(如果读取第二硬盘的扇区,设置DL=81H)。

本新闻共4页,当前在第3页  1  2  3  4  


上一篇:读扇区数据C语言程序
下一篇:Oracle数据库应用程序性能优化探究

  北京总部: 4006-505-808
  上 海 部: 021-58358765
  深 圳 部: 0755-83692929
  浙 江 部: 13666673722
  广 州 部: 020-83821091
  重 庆 部: 023-86870422
  昆 明 部: 15987117834
  哈尔滨部: 13946167430
  其它地区: 4006-505-808

经典案例
中国石油管理局-Oracle数据库恢
中国网通-IBM EXP300磁盘阵列数
大连鸿德经贸有限责任公司-SQL
中国地质环境监测院-HP LH3000
藁城市东街百货-EFS文件解密成
工商银行山东分行-AIX删除LV数
中央电视台新闻评论部-苹果分
promise乔鼎硬盘阵列数据恢复成
麒麟童文化-苹果分区无法打开,
NAS 8100服务器数据恢复成功 
解决方案
raid磁盘阵列OFFLINE后的应急方
磁盘未被格式化,是否格式化数据
误GHOST、误一键恢复灾难应急方
误删除、误格式化数据灾难应急
LINUX FSCK数据出错灾难应急方
北亚数据恢复 - 联系我们 - 关于北亚 - 友情链接 - 网站地图 - RSS聚合 
版权所有 北京北亚数据恢复中心
24小时免费咨询电话:4006-505-808 或 800-810-580
中关村部:北京市海淀区中关村大街11号E世界A座8层832B室
皂君庙部:北京市海淀区学院南路68号吉安大厦C座(汇智楼)528室