USB系列之五:用汇编实现的一些USB功能
2024-10-11 23:50:16
前面的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
最新文章
- 各大浏览器内核特性及对应的Browserhacks举例
- 【Win10 应用开发】从前台应用触发后台任务
- 增加线程异步发送消息的方法二(Runnable)
- 场景9 深入RAC运行原理
- LINUX运维实战案例之文件已删除但空间不释放问题的分析与解决办法
- Spring MVC学习笔记——JSR303介绍及最佳实践
- NoteExpress 自定义参考文献输出样式
- Ubuntu 通过Deb安装 MySQL5.5(转载)
- 使用命令xrandr设置当前系统的显示分辨率及显示的旋转脚本
- (heap)239. Sliding Window Maximum
- SPOJ 687 Repeats(后缀数组+ST表)
- VK Cup 2012 Qualification Round 1---C. Cd and pwd commands
- Elasticsearch学习随笔(二)-- Index 和 Doc 查询新建API总结
- Flask开发微电影网站(七)
- Freeswitch配置之sofia
- Leetcode35 Search Insert Position 解题思路(python)
- Mac 软件专题之:OS X Yosemite 精彩应用软件推荐
- Android_Printservice_API_部分翻译
- TeamViewer 版本v13.2.26558 修改ID
- Docker:Dockerfile命令详解
热门文章
- 几种TCP连接中出现RST的情况
- LeetCode_N-Queens
- Visual Studio 2013 Professional Key
- 《Programming WPF》翻译 第7章 2.图形
- 在CentOS上安装FFMPEG和Gstream-ffmpeg
- Hibernate逆向工程全过程
- jquery datepicker日期控件用法
- 《Two Days DIV + CSS》读书笔记——CSS控制页面方式
- Timer.4 - Using a member function as a handler
- BOOST 线程完全攻略 - 扩展 - 线程消息通讯