- 博客(24)
- 资源 (39)
- 收藏
- 关注
原创 工作状态
经过了上两个月的放羊,现在又有新的任务了。看了三天,感觉涉及的内容有:TCP协议数据传输,UDP广播,ACE网络部分,IOCP部分应用,COM组件的灵活应用,FAT32文件系统。另外,还有perl脚本编译C++程序的使用,vistor设计模式的使用,windows服务安装启动停止及卸载相关知识。 学习没有终点,知识没有极限,一种好的学习方法才是快速进阶的利器。 计划赶不
2012-11-30 10:40:56 607
原创 王爽《汇编语言》第10章 课程设计1
作为一个其中考试性质的课程设计,的确有一定难度,缩了前面学习到的各个存储器的使用,栈的使用,函数设计以及调用技巧,转移函数使用(在这个课题设计中犯了两次jmp和jczx+loop使用的错误,印象深刻),经过今天6个小时的努力,终于顺利实现。这里实现dtoc功能的时候没有按上一个测试那样使用0结尾,为的是方便整行输出数据,这里不影响整体实现。不多说,上代码,上的图有一张是之前错误显示的,是因为对jm
2012-11-21 14:30:18 983
原创 王爽《汇编语言》第10章 实验10 编写子程序
花了三个多小时写出来的东西,真费劲。。。接下来就是本书的两个课程设计之一。assume cs:codedata segment db 'Welcome to masm!',0data endsnumberdata segment dw 123,12666,1,8,3,38numberdata endscode segmentstart: ;测试显示函数 mov d
2012-11-20 16:42:00 1945 3
原创 王爽《汇编语言》第10章 检测点10.5(1)的疑问
题目:下面的程序执行后,ax中的数值为多少?(注意用call指令的原理来分析,不要在Debug中单步跟踪来验证你的结论。对于此程序,在Debug中单步跟踪的结果,不能代表CPU的实际执行结果)assume cs:codesgstack segment dw 8 dup (0)stack ends codesg segment start: mov ax,stack m
2012-11-20 10:04:56 3025
原创 王爽《汇编语言》第9章 实验9 根据材料编程
实现向屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串'welcome to masm'assume cs:codesg,ds:datasgdatasg segment db 'welcome to masm!'datasg endscolor segment db 00000010B ;黑底绿字 db 00100100B ;绿底红字 db 01110001B ;白底蓝字
2012-11-19 16:33:40 2654
原创 王爽《汇编语言》第9章 实验8 分析一个奇怪的程序
问:以下代码,程序为什么能正常结束?assume cs:codesgcodesg segment mov ax,4c00h int 21hstart: mov ax,0 s: nop nop mov di,offset s mov si,offset s2 mov ax,cs:[si]
2012-11-19 15:30:46 1894
原创 王爽《汇编语言》第9章 转移指令的原理
可以修改IP,或同时修改CS和IP的指令统称为转移指令。 段内转移只修改IP,分为短转移和近转移。 转移指令可以分为:无条件转移指令,条件转移指令,循环指令,过程,中断这五类。 offset取得段偏移地址。 jmp为无条件转移指令,jmp shor只修改IP,范围为-128~127. 注意jmp在只修改IP时,使用的是相对地址,所以同一个
2012-11-19 13:23:38 1079
原创 王爽《汇编语言》第8章 实验7 不使用栈的解法
assume cs:code data segment db '1975','1976','1977','1978','1979','1980','1981','1982' db '1983','1984','1985','1986','1987','1988','1989','1990'
2012-11-16 15:47:46 1325
原创 王爽《汇编语言》第8章 数据处理的两个基本问题
本章重点问题:处理的数据放在什么地方;要处理的数据有多长。 1.[bx]的基址是ds,[bp]的基址是ss。所以bx,bp不能在一起做偏移的寻址,si和di默认基址是ds,但若和bp一起使用则基址为ss。另外,si+-di不能在没有bx或bp的时候作运算。 2.指令执行前数据可以在3个地方:内存,寄存器,指令缓冲器。 3.数据位置表达方式:立即数,寄存器,段地址+
2012-11-16 15:46:21 1148
原创 王爽《汇编语言》第7章 更灵活的定位内存地址的方法
这章增加了一些常用的指令使用方法,但没有小结,我就自己小结一下。 1.and和or,用于位的与或,是一个很基础的逻辑操作用法,一定要灵活掌握。像(n+40H-1)&~(40H-1)和n&~(40H-1)是什么意思应该熟悉。 2.使用逻辑操作实现大小写的转换 3.[bx+idata]来指明一个内存单元,在这里,我认为这个操作既然是一条指令,那么中间就不应该有中断发生
2012-11-16 15:45:52 1368
原创 王爽《汇编语言》问题7.9 将datasg段中每个单词的前4个字母改为大写字母
assume cs:codesg,ds:datasg datasg segment db '1. display ' db '2. brows ' db '3. replace ' db '4. modify ' datasg ends stack se
2012-11-16 15:45:29 7982
原创 王爽《汇编语言》第6章 实验5 第6题 疑问
以下程序执行起来出了一个我无法解析的问题。循环执行到cx=3时,add bx,2执行后居然出现乱跳转的情况,目前还没搞清楚到底怎么一回事。 assume cs:code a segment dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh a ends b segment dw 0,0
2012-11-16 15:44:51 1640
原创 王爽《汇编语言》第6章 包含多个段的程序
理解在汇编中为数据分配空间的方式: 我们可以在程序中,定义我们希望处理的数据,这些数据就会被编译、连接程序作为程序的一部分写到可执行文件中,当可执行文件中的程序被加载入内存时,这些数据同时被加载入内存。与此同时我们要处理的数据也就自然而然的获得了存储空间。 使用g命令执行运行到某个地址的功能。 在伪指令end后面加上标号表示程序入口点。这个入口点在PE文件里体现在
2012-11-16 15:43:35 1239
原创 开始学习汇编语言
计划两周学习完汇编的基本知识,到达看懂一般简单汇编程序的水平。 现在是第一周周四,已经学习完前六章,看来计划进度应该不会有太大的差距,但是需要巩固前面学习到的知识。就想起开个博客记录一下自己学习的心得,看到这里有不少人用王爽老师的教材,是个好地方,也欢迎大家和我的讨论。 我也是初学者,呵呵。此为开篇。
2012-11-16 15:42:49 913 1
原创 学习《windows核心编程》小结
这三周里基本上每天都有4~6小时学习windows核心编程这本上书,就这个系列学习过程,小结一下情况。因为之前的工作内容有多线程相关内容,并且那个时候参考《windows多线程程序设计》已经作了系统的学习,这里就没提那方面的内容;内存映射文件在以前解析数据文件的时候使用过,虽然没有进行过系统学习,翻看了一下应该不是太大的问题;动态连接库已经经过系统的学习,PE文件结构也比较清楚了。至于堆的内容,需
2012-11-12 17:38:37 1690 1
原创 《windows核心编程》读书笔记——在应用程序中使用虚拟内存
Microsoft Windows提供了三种机制来对内存进行操控。 虚拟内存,最适合用来管理大型对象数组或大型结构数组。 内存映射文件,最适合用来管理大型数据流,以及在同一机器上运行的多个进程之间共享数据。 堆,最适合用来管理大量小型对象。使用VirtualAlloc函数来预订分配进程中的地址空间区域:LPVOID WINAPI VirtualAlloc( _In_
2012-11-09 15:37:27 823
转载 在 console mode 中使用 C/C++ 編譯器
侯捷 1999.04.08我總是鼓勵 C/C++ 的學習者,在剛接觸這個程式語言的時候,先以 console mode(DOS-like)程式為目標。換言之,不要一開始就想寫 GUI 程式、想開視窗、想有眩目亮麗的畫面 -- 那只是未走先飛,揠苗助長罷了。所謂 console 程式,就是文字模式的程式,我們可以在其中好好把 C/C++ 的語言根基練好,而不會分心於其他暫無必
2012-11-07 20:27:28 1188
原创 明确区分内存地址和进程空间地址(对于《windows核心编程》中15章部分内容的理解)
提示:阅读这些内容时请参照《windows核心编程》原文或其中文译本。以下内容重点针对中文译本。第15章 在应用程序中使用虚拟内存 P401第三段: 举个例子,设想我们要在进程地址空间第50MB的地方分配区域。在这个例子中,我们需要传52 428 800(50*1024*1024)给pvAddress参数。如果这个内存地址有一块足够大的闲置区域能满足我们的请求,那么
2012-11-07 18:24:59 944
原创 头脑风暴——什么样的游戏才能吸引玩家
这两天想设计或实现一个小游戏,想了一下有关游戏的一些思路,头脑风暴,没有系统的分析,先记下来。单机方向: 1. 界面的友好性 2. 操作的简便性 3. 游戏主题的深刻性 4. 入门易,精通难的吸引力联机方向:(完全包含单机方向的内容,不含长期的网络游戏) 5. 网络资源使用的最小化 6. 网络玩家之间交流的
2012-11-07 11:48:33 2054 1
原创 《windows核心编程》读书笔记——探索虚拟内存
系统信息以一个SYSTEM_INFO结构来存储,这些信息由系统所运行的主机决定,任何进程如果需要这些信息,只需要获取一次就可以了。typedef struct _SYSTEM_INFO { union { struct { WORDwProcessorArchitecture; WORDwReserved; };
2012-11-07 10:59:26 1254
原创 显示CPU信息的程序
//程序可以直接编译运行,是我在MSDN的例子基础上加了超线程判断的函数。">#include #include #include #include typedef BOOL (WINAPI *LPFN_GLPI)( PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, PDWORD);BOOL hyperThr
2012-11-07 10:51:23 985
原创 《windows核心编程》读书笔记——内存体系结构
操作系统所使用的内存体系结构是理解操作系统如何运作的关键,充分理解系统管理内存的方式,往往有助于我们快速而准确地找到理解内存问题的实质。 每个进程都有自己的虚拟地址空间,对32位进程来说,这个地址空间的大小为4GB;对64位进程来说,这个地址空间的大小为16EB。每个进程都有自己专有的地址空间,当进程中的各线程运行时,它们只能访问属于该进程的内存。线程既看不到属于其他进程
2012-11-06 18:12:31 1075
原创 《Windows核心编程》读书笔记——Windows线程池
在JeffreyRichter的《windows核心编程》里提到的windows线程池功能,他把这些功能分为四类: 以异步的方式来调用一个函数; 每隔一段时间调用一个函数; 当内核对象触发的时候调用一个函数; 当异步I/O请求完成的时候调用一个函数; 以下按这四种类型功能,结合其调用函数接口和
2012-11-06 17:17:23 1545
转载 Improve Scalability With New Thread Pool APIs
Source: http://msdn.microsoft.com/en-us/magazine/cc163327.aspxRobert SacconeCode download available at: VistaThreadPools2007_10.exe (175 KB) Browse the Code OnlinePortions of this a
2012-11-05 17:10:26 1565
libevent在vs下编译工程
2015-01-10
DesktopDemo程序
2014-01-14
从文件夹中查找单词程序
2013-12-30
查找指定文件夹中所有文件中的单词
2013-12-30
[Windows.Internals.Part.1(6th,2012.3)文字版
2013-02-25
COM技术内幕第9章代码客户端智能指针(VS2008通过)
2013-01-05
COM技术内幕第5章第7章代码(VS2008通过)
2012-12-28
Windows核心编程随书源代码
2012-10-26
C++ 标准程序库
2012-10-16
C++标准程序库(英文版)
2012-10-16
[AddisonWesley]C++_Network_Programming_Volume_1
2012-06-29
ACE程序员指南
2012-06-29
蓝盾题目解答
2012-03-08
zlib source code
2012-01-11
软件开发三级培训班
2011-10-25
C++ boost regex manual
2011-07-27
boost C++ manual
2011-07-27
STL.源码剖析(完全版).pdf下载中文完整版
2011-02-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人