qintangtao

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 31 下一页

2013年1月17日

摘要: Ring 3下的方法:童鞋们应该已经发现了,GetDriveType函数只能识别出U盘,无法识别移动硬盘。移动硬盘和本地硬盘将返回相同的类型DRIVE_FIXED。MSDN上的建议是用一个蛋疼无比的函数SetupDiGetDeviceRegistryProperty来识别USB设备。其实有个更方便的方法,可以通过DeviceIoControl函数查询总线类型来识别USB设备。贴代码:BOOL IsUsbDriver(TCHAR tchDrvName) /*++Routine Description: 判断某分区是否是USB设备。Arguments: tchDrvName - 输入参... 阅读全文
posted @ 2013-01-17 15:45 qintangtao 阅读(994) 评论(0) 推荐(0) 编辑

2013年1月16日

摘要: C文件概述1、所谓“文件”是指一组相关数据的有序集合。2、这个数据集合有一个名称,叫做文件名3、文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来4、操作系统是以文件为单位对数据进行管理的文件分类1、从用户观点: a)特俗文件(标准输入输出文件或标准设备文件) b)普通文件(磁盘文件)2、从操作系统的角度看,每个与主机相连的输入、输出设备看作是一个文件3、按数据的组织形式: a)ASCII文件(文本文件):每一个字节放一个ASCII代码b)二进制文件:把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放C语言对文件的处理方法缓冲文件系统:系统自动地在内存区为每一个正在使... 阅读全文
posted @ 2013-01-16 21:04 qintangtao 阅读(8026) 评论(1) 推荐(1) 编辑

摘要: 原码也叫符号一绝对值码最高位0表示正1表示负,其余二进制位是该数字的绝对值的二进制位原码简单易懂加减运算复杂存在加减乘除四种运算,增加了CPU的复杂度零的表示不唯一反码反码运算不便,也没有在计算机中应用移码移码表示数值平移n位,n称为移码量移码主要用于浮点数的阶码的存储补码已知十进制求二进制 求正整数的二进制 除2取余,直至商为零,余数倒叙排序 求负整数的二进制 先求与该负数相对应的正整数的二进制代码,然后将所有位取反,末尾加1,不够位数时,左边补1 求零的二进制 全是零已知二进制求十进制 如果首位是0,则表明是正整数,按普通方法来求 如果首位是1,则表明是负整数 ... 阅读全文
posted @ 2013-01-16 20:51 qintangtao 阅读(500) 评论(0) 推荐(0) 编辑

2013年1月15日

摘要: ;--------------------------------------------------------------------------------------;功能:;将word型数据转变为表示十进制的字符串,字符串以0位结尾符;--------------------------------------------------------------------------------------assume cs:code, ds:datadata segment db 10 dup(0)data endscode segment start: mov ax, 126... 阅读全文
posted @ 2013-01-15 10:34 qintangtao 阅读(220) 评论(0) 推荐(0) 编辑

2013年1月14日

摘要: ;--------------------------------------------------------------------------------------------;解决除法溢出的问题:;除法溢出;1、标准:;被除数:;如果除数是8位,被除数则为16位,默认放在AX中;如果除数是16位,被除数则为32位,在DX和AX中存放,DX存放高16位,AX存放低16位;结果:;如果除数为8位,则AL存储除法操作的商,AH存储除法操作的余数;如果除数为16位,则AX存储除数操作的商,DX存储除法操作的余数;2、自定义:;被除数位dword型,除数位word型, 结果为dword型;参 阅读全文
posted @ 2013-01-14 17:44 qintangtao 阅读(1344) 评论(0) 推荐(0) 编辑

摘要: ;---------------------------------------------------------;编写字符串;显示字符串;在第8行 第3列 显示 绿色 Welocme to masm!;---------------------------------------------------------assume cs:codedata segment db 'Welocme to masm!', 0data endscode segment start: mov dh, 8 ;行号[1~25] mov dl, 3 ;列号[1~80] mov cl, 2 ;颜 阅读全文
posted @ 2013-01-14 16:11 qintangtao 阅读(172) 评论(0) 推荐(0) 编辑

摘要: inc 寄存器(寄存器)=(寄存器)+1dec 寄存器(寄存器)=(寄存器)-1add和sub1、add add 寄存器,数据 add 寄存器,寄存器 add 寄存器,内存单元 add 内存单元,寄存器2、sub sub 寄存器,数据 sub 寄存器,寄存器 sub 寄存器,内存单元 sub 内存单元,寄存器 div【除法指令】除法: 有8位和16位两种,在一个寄存器或内存单元中被除数: 如果除数是8位,被除数则为16位,默认放在AX中 如果除数是16位,被除数则为32位,在DX和AX中存放,DX存放高16位,AX存放低16位结果: 如果除数为8位,则AL存储除法操作的商,AH存储除法... 阅读全文
posted @ 2013-01-14 15:37 qintangtao 阅读(1437) 评论(0) 推荐(0) 编辑

摘要: offset 标号取得标号处的偏移位置jmp short 标号段内短跳转(IP)=(IP)+8位位移 【有符号的位移(-128~127)】jmp near ptr 标号段内近转移(IP)=(IP)+16位位移 【有符号的位移(-132768~32767)】jmp far ptr 标号段间转移(CS)=标号所在段的段地址(IP)=标号在段中的偏移地址比如:EA 0B 01 BD OB高地址"BD OB" ==> 转移的段地址低地址"0B 01" ==> 偏移地址jmp 16位寄存器(IP)=(16位寄存器)jmp word ptr 内存单元地址 阅读全文
posted @ 2013-01-14 11:45 qintangtao 阅读(401) 评论(0) 推荐(0) 编辑

摘要: ;---------------------------------------------------; 编程:;在屏幕中间分别显示绿色、绿低红色、白底蓝色的字符串'welcome to masm!';;---------------------------------------------------assume cs:code,ds:data,ss:stackdata segment db 'welcome to masm!' db 02h, 24h, 71h data endsstack segment dw 8 dup(0)stack endscod 阅读全文
posted @ 2013-01-14 11:31 qintangtao 阅读(1026) 评论(0) 推荐(0) 编辑

2013年1月11日

摘要: ①:IMAGE_DOS_HEADER STRUCT 【M_DOS头部 共64字节】{ +00 h WORD e_magic // DOS可执行文件标记 MZ(4Dh 5Ah) +02 h WORD e_cblp ; Bytes on last page of file +04 h WORD e_cp ; Pages in file +06 h WORD e_crlc ; Relocations +08 h WORD e_cparhdr ; Size of header in paragraphs +0A h WORD e_minalloc ; M... 阅读全文
posted @ 2013-01-11 23:19 qintangtao 阅读(1127) 评论(0) 推荐(1) 编辑

上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 31 下一页