前面的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