博文
给大学生的忠告,不是真理,但是足够你用四年(2005-07-30 20:42:00)
摘要:给大学生的忠告,不是真理,但是足够你用四年
一,别以为在学生会你能得到你曾经想要的。工作的热情很可能因为你所看到的所经历的一些事而改变,但是也不必惧怕。你有大一一年来适应或者承受,并做出是继续坚持还是退出的决定。
二,大学可能有真实的爱情,但是记住只是可能。很多时候他们是因为别人都谈恋爱而羡慕或者别的原因而在一起。所以,不必为任何分手而受太大的伤,记住,太大的伤,真爱,还是值得追求的。
三,如果你的家庭一般的话,那么记得你在大学有很多意外用钱的地方。比如二专业或者将来的各种班,为了你的家人和你自己的前途,永远别乱花钱。记住,永远。
四,朋友,你大学的朋友很可能就是你将来事业的一部分。他们会帮助你。但是你也应该让自己有帮助他们的实力,所以,你要努力,你和你的朋友会一起在将来打造一个可能很辉煌的事业。很好听是吗?但是记住,你们都要努力。
五,很多事情当你再回忆时会发现其实没什么。所以,不管你当时多么生气愤怒或者别的,都告诉自己不必这样,你会发现其实真的不必。
六,学习,永远别忘记她。不管别人怎么说大学是个提高综合能力的地方云云,如果你学习失败了,你就什么也不是--不排除意外,但你考虑好了吗?你会是那个意外吗??
七,别说脏话,你应该知道习惯的力量。找工作或者和别人接触时,你随便的一个字或者几个字会让你在别人心中的形象大打折扣。
八,好好利用在公共场合说话的机会,展示或者锻炼,都可以。
九,别为你自己和别人下定论,无比重要。你所看到听到的可能只是一面,为这个失去可能的朋友,很不值。
十,如果你发现很久了你一直是一个人去食堂吃饭或者去上自习,别在意,大学里一个人是正常的,你觉得孤独?你的朋友是怕你觉得你没有自由的空间,所以别以为你没有朋友。
十一,很多事情别人通知你了,要说谢谢,没有通知你,不要责怪,因为那些事你其实应该自己弄清楚。
十二,“我请你吃饭“之类的话不要乱说,因为所有人都会当真,不管......
诗两首(2005-07-22 14:17:00)
摘要:民工
高楼挺拔璧辉煌
灯红酒绿人猖狂
诸君可知谁建此
谁为流血谁为亡
前行
万里无云空余晴
轻风拂柳柳不惊
擎起一身自然美
俯身咬牙踽踽行......
古体诗几首(2005-07-20 11:36:00)
摘要:咏月
明月映水水映月
晴空万星戏银河
吾指此月向天笑
尔等孰能忍圆缺
思乡
昨夜帐内听风雨
蚊声凄凄水淅淅
梦断故乡思不语
却道天凉人欢喜
知己
昨夜无眠思木瓜
投桃报李蒹葭花
欲把心事付汝听
杨柳依依风欲发
今日
翻山越岭跨今朝
不思玄德思曹操
白驹过隙今已逝
吾辈岂能作此飘
......
挑战快来了(2005-07-13 20:42:00)
摘要:今天看了看书 明天考微机 然后八天后考数字,太变态了!不过千万不能放松,相反要更忙,把模拟、数字、接口都看一看。中心是数字。此外,在图书馆借的那本80c51有用了。看吧!!......
即将研究单片机------(2005-07-13 20:38:00)
摘要:学完了微机原理 接口技术还没学 但单片机还是要学底 因为为了比赛------......
再说汇编(2005-07-10 21:32:00)
摘要:汇编语言和CPU以及内存,端口等硬件知识是连在一起的. 这也是为什么汇编语言没有通用性的原因. 下面简单讲讲基本知识(针对INTEL x86及其兼容机)
============================
x86汇编语言的指令,其操作对象是CPU上的寄存器,系统内存,或者立即数. 有些指令表面上没有操作数, 或者看上去缺少操作数, 其实该指令有内定的操作对象, 比如push指令, 一定是对SS:ESP指定的内存操作, 而cdq的操作对象一定是eax / edx.
在汇编语言中,寄存器用名字来访问. CPU 寄存器有好几类, 分别有不同的用处:
1. 通用寄存器:
EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP(这个虽然通用,但很少被用做除了堆栈指针外的用途)
这些32位可以被用作多种用途,但每一个都有"专长". EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器. EBX 是"基地址"(base)寄存器, 在内存寻址时存放基地址. ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器. EDX是...(忘了..哈哈)但它总是被用来放整数除法产生的余数. 这4个寄存器的低16位可以被单独访问,分别用AX,BX,CX和DX. AX又可以单独访问低8位(AL)和高8位(AH), BX,CX,DX也类似. 函数的返回值经常被放在EAX中.
ESI/EDI分别叫做"源/目标索引寄存器"(source/destination index),因为在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目标串.
EBP是"基址指针"(BASE POINTER), 它最经常被用作高级语言函数调用的"框架指针"(frame pointer). 在破解的时候,经常可以看见一个标准的函数起始代码:
push ebp ;保存当前ebp
mov ebp,esp ;EBP设为当前堆栈指针
sub esp, xxx ;预留xxx字节给函数临时变量.
...
这样一来,EBP 构成了该函数的一个框架, 在EBP上方分别是原来的EBP, 返回地址......
主题:汇编语言的准备知识(2) (2005-07-10 21:31:00)
摘要:主题:汇编语言的准备知识(2)
汇编语言的准备知识--给初次接触汇编者(2)
汇编指令的操作数可以是内存中的数据, 如何让程序从内存中正确取得所需要的数据就是对内存的寻址.
INTEL 的CPU 可以工作在两种寻址模式:实模式和保护模式. 前者已经过时,就不讲了, WINDOWS 现在是32位保护模式的系统, PE 文件就基本是运行在一个32位线性地址空间, 所以这里就只介绍32位线性空间的寻址方式.
其实线性地址的概念是很直观的, 就想象一系列字节排成一长队,第一个字节编号为0, 第二个编号位1, .... 一直到4294967295(十六进制FFFFFFFF,这是32位二进制数所能表达的最大值了). 这已经有4GB的容量! 足够容纳一个程序所有的代码和数据. 当然, 这并不表示你的机器有那么多内存. 物理内存的管理和分配是很复杂的内容, 初学者不必在意, 总之, 从程序本身的角度看, 就好象是在那么大的内存中.
在INTEL系统中, 内存地址总是由"段选择符:有效地址"的方式给出.段选择符(SELECTOR)存放在某一个段寄存器中, 有效地址则可由不同的方式给出. 段选择符通过检索段描述符确定段的起始地址, 长度(又称段限制), 粒度, 存取权限, 访问性质等. 先不用深究这些, 只要知道段选择符可以确定段的性质就行了. 一旦由选择符确定了段, 有效地址相对于段的基地址开始算. 比如由选择符1A7选择的数据段, 其基地址是400000, 把1A7 装入DS中, 就确定使用该数据段. DS:0 就指向线性地址400000. DS:1F5278 就指向线性地址5E5278. 我们在一般情况下, 看不到也不需要看到段的起始地址, 只需要关心在该段中的有效地址就行了. 在32位系统中, 有效地址也是由32位数字表示, 就是说, 只要有一个段就足以涵盖4GB线性地址空间, 为什么还要有不同的段选择符呢? 正如前面所说的, 这是为了对数据进行不同性质的访问. 非法的访问将产生异常中断, 而这正是保护模式的核心内容, 是构造优先级和多任务系统的基础. 这里有涉及到很多深层的东西, 初学者先可不必理会.
有效地址的计算方式是: 基址+间址*比例因子+偏移量. 这些量都是指段内的相对于段起始地址的量度, 和段的起始地址没......
主题:汇编语言的准备知识(1) (2005-07-10 21:30:00)
摘要:主题:汇编语言的准备知识(1)
汇编语言和CPU以及内存,端口等硬件知识是连在一起的. 这也是为什么汇编语言没有通用性的原因. 下面简单讲讲基本知识(针对INTEL x86及其兼容机)
============================
x86汇编语言的指令,其操作对象是CPU上的寄存器,系统内存,或者立即数. 有些指令表面上没有操作数, 或者看上去缺少操作数, 其实该指令有内定的操作对象, 比如push指令, 一定是对SS:ESP指定的内存操作, 而cdq的操作对象一定是eax / edx.
在汇编语言中,寄存器用名字来访问. CPU 寄存器有好几类, 分别有不同的用处:
1. 通用寄存器:
EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP(这个虽然通用,但很少被用做除了堆栈指针外的用途)
这些32位可以被用作多种用途,但每一个都有"专长". EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器. EBX 是"基地址"(base)寄存器, 在内存寻址时存放基地址. ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器. EDX是...(忘了..哈哈)但它总是被用来放整数除法产生的余数. 这4个寄存器的低16位可以被单独访问,分别用AX,BX,CX和DX. AX又可以单独访问低8位(AL)和高8位(AH), BX,CX,DX也类似. 函数的返回值经常被放在EAX中.
ESI/EDI分别叫做"源/目标索引寄存器"(source/destination index),因为在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目标串.
EBP是"基址指针"(BASE POINTER), 它最经常被用作高级语言函数调用的"框架指针"(frame pointer). 在破解的时候,经常可以看见一个标准的函数起始代码:
push ebp ;保存当前ebp
mov ebp,esp ;EBP设为当前堆栈指针
sub esp, xxx ;预留xxx字节给函数临时变量.
...
这样一来,EBP 构成了该函数的一......
