前面的USB系列一至四,实现了我们需要的一些USB功能,但都是用C语言的32位代码,之后我们插进了三篇关于DOS下设备驱动程序的文章,我们现在应该清楚,当我们要在DOS下写一个U盘的驱动时,最好使用汇编语言,而且不得不在实模式下编程。

基于这样一个原因,本文计划把《USB系列二》到《USB系列四》中的三段程序代码,用汇编语言再重新实现一遍,而且使用16位的8086模式编程,在下载下面的源代码之前,希望读者能够认真阅读USB系列以前所有的文章,最好能把其中的代码都看明白并亲自试一试,否则可能会对下面的内容不知所云。

以下是USB系列文章列表:

《USB系列之一:列出你的USB设备》
    《USB系列之二:读取USB设备的描述符》
    《USB系列之三:从你的U盘里读出更多的内容》
    《USB系列之四:向U盘上写数据》

以下是本文奉献给大家的汇编源代码:

与《USB系列之二:读取USB设备的描述符》对应的源代码下载:
    http://blog.hengch.com/source/usb-view-asm.zip

与《USB系列之三:从你的U盘里读出更多的内容》对应的源代码下载:
    http://blog.hengch.com/source/usb-reader-asm.zip

与《USB系列之四:向U盘上写数据》对应的源代码下载:
    htpp://blog.hengch.com/source/usb-write-asm.zip

所有程序均使用small模式,可以编译成COM文件。

实际使用的编译器为masm6.11,编译链接如下

masm xxxxxxx

link xxxxxxx /tiny

最新文章

  1. 各大浏览器内核特性及对应的Browserhacks举例
  2. 【Win10 应用开发】从前台应用触发后台任务
  3. 增加线程异步发送消息的方法二(Runnable)
  4. 场景9 深入RAC运行原理
  5. LINUX运维实战案例之文件已删除但空间不释放问题的分析与解决办法
  6. Spring MVC学习笔记——JSR303介绍及最佳实践
  7. NoteExpress 自定义参考文献输出样式
  8. Ubuntu 通过Deb安装 MySQL5.5(转载)
  9. 使用命令xrandr设置当前系统的显示分辨率及显示的旋转脚本
  10. (heap)239. Sliding Window Maximum
  11. SPOJ 687 Repeats(后缀数组+ST表)
  12. VK Cup 2012 Qualification Round 1---C. Cd and pwd commands
  13. Elasticsearch学习随笔(二)-- Index 和 Doc 查询新建API总结
  14. Flask开发微电影网站(七)
  15. Freeswitch配置之sofia
  16. Leetcode35 Search Insert Position 解题思路(python)
  17. Mac 软件专题之:OS X Yosemite 精彩应用软件推荐
  18. Android_Printservice_API_部分翻译
  19. TeamViewer 版本v13.2.26558 修改ID
  20. Docker:Dockerfile命令详解

热门文章

  1. 几种TCP连接中出现RST的情况
  2. LeetCode_N-Queens
  3. Visual Studio 2013 Professional Key
  4. 《Programming WPF》翻译 第7章 2.图形
  5. 在CentOS上安装FFMPEG和Gstream-ffmpeg
  6. Hibernate逆向工程全过程
  7. jquery datepicker日期控件用法
  8. 《Two Days DIV + CSS》读书笔记——CSS控制页面方式
  9. Timer.4 - Using a member function as a handler
  10. BOOST 线程完全攻略 - 扩展 - 线程消息通讯