各种搜集的知识。。。

1、选择子,保存在保护模式下的段寄存器中,16位,高13位为描述符的索引,低两位为选择子的RPL(请求特权级),中间一位选择描述符表(GDT or LDT)

2、.fill 表达式    格式为: .fill repeat , size , value

      含义:反复拷贝size个字节。repeat可以大于等于0。size也可以大于等于0,但不能超过8,如果超过8,也只取8。把repeat个字节以8个为一组,每组的最高4个字节内容为0,最低4字节内容置为value。size和value为可选项,如果不存在,那么size默认为1,value默认为0。

3、cld指令:设置方向,si、di向前扩展(增加)    std:设置方向,si、di向后扩展(减小)

4、shr:逻辑右移   格式:SHR OPR.CNT。其中OPR用除立即数外的任何寻址方式。移位次数由CNT决定,在8086中可以是1或CL,CNT为1时只移一位。

5、rep ; stosl 操作,这是一个循环,将eax的内容 拷贝到edi的地址中,在这里每次拷贝4个字节,并且每次拷贝之后按照设置的方向,扩展edi,减小ecx,当ecx等于0是,指令执行结束。

6、.macro 伪指令:定义一个宏命令。它的格式如下:

  宏名称 .MACRO [形式参数]     //对于intel格式的汇编代码,宏名称在.macro之后,参数和它有空格,参数之间通过','号隔开。在使用参数的时候需要在参数值钱加上'\'。

        ........

        宏定义语句

        ........

        .ENDM

7、16进制输出一个文本文件,使用od命令,使用选项-A和-t 以16进制输出一个文件。http://holy2010.blog.51cto.com/1086044/340858

8、linux下局域网拷贝的命令scp  基本格式 : scp [备选参数]  源地址   目标地址  或者相反,详见 man  scp,其实如果自己闲着没事情可以写一个类似于scp的程序练手的。

9、find命令,用于在linux查找满足特定条件的文件,基本格式为:find  search_dic  条件   条件可以是文件的任何一个属性(例如文件名,大小,修改时间等),它还具有在查找文件上执行一定操作的功能,其实这个程序自己也可以尝试着写一下,挺有意义的。

10、可恶的RESET报文,一般情况下,出现RESET报文是因为对端异常关闭,例如A向B发送数据,但是B的套接口已经关闭了,这时候A就会收到RESET报文,但是今天遇到一种主动发RESET报文的情况,A主动close的时候没有向B发送FIN报文,而是RESET报文,这个原因是B之前向A写的数据A并没有全部读出,这样在接收缓冲区仍然有数据的时候主动close套接口,就会向对端发送RESET报文了,谨记,谨记~~~


11、C++中尽量使用传引用的方式作为参数传递的方式,要养成这样的习惯,对于不需要修改的变量,例如以前通过传值方式调用的函数使用传const引用的方式传递,但是这样就要求参数只能调用类中的const成员函数,因此需要将那些不会修改成员变量的函数标识为const,以便const引用的调用,因为const 对象只能调用const对象;对于希望改变的参数传递,使用传指针的方式,另外,在C++中为了区分参数和成员变量和使得代码清晰化,在每次使用成员变量的时候加上this指针的引用。

引用除了不需要复制之外,还能消除“截断”的错误,当我们传递一个派生类对象给形参为基类对象的函数中,如果是传值,则会以派生类对象(实参)调用基类的复制构造函数,因此得到的对象就是基类对象,因此会产生对象的“截断”。如果使用传引用方式,可以避免以上的情况,因为一般情况下引用的内部是使用指针实现的,所以可以具有多态的性质。

另外,对于内建类型和STL的迭代器和函数对象,由于它们设计是传值更合适,所以对于它们使用传值的方式,除此之外,所有的用户定义类型要么使用传const的方式,要么使用传指针的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值