??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产精品不卡毛片a在线,亚洲精品国产美女久久久,亚洲午夜AV无码专区在线播放http://www.tkk7.com/ljf-tianyi/category/40713.html天一zh-cnThu, 17 Mar 2011 17:19:51 GMTThu, 17 Mar 2011 17:19:51 GMT60|络d结【DDos?/title><link>http://www.tkk7.com/ljf-tianyi/archive/2011/03/13/346173.html</link><dc:creator>天一</dc:creator><author>天一</author><pubDate>Sun, 13 Mar 2011 15:09:00 GMT</pubDate><guid>http://www.tkk7.com/ljf-tianyi/archive/2011/03/13/346173.html</guid><wfw:comment>http://www.tkk7.com/ljf-tianyi/comments/346173.html</wfw:comment><comments>http://www.tkk7.com/ljf-tianyi/archive/2011/03/13/346173.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ljf-tianyi/comments/commentRss/346173.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ljf-tianyi/services/trackbacks/346173.html</trackback:ping><description><![CDATA[<span style="font-family: times new roman,times;">现在|络技术日新月?/span> Q不断有新技术被不同cd软g所使用。在提高开发Y件各个方面性能同时Q也增加了系l安全隐患。例如:云技术能够ؓ我们带来了一个更加有效地利用|络资源和整合网l数据模式;不过Q这个新技术引Z安全的担心? <p>      |络安全是涉及到|络各个斚w内容Q现在最为突出问题就是网l攻凅R根据近q来接触到问题,ȝ了下面几个现在比较常用网l攻L法和一些防御测试?/p> <h3>      DDos--分布式拒l服务攻?/h3> <p>      DDos ?Distributed Denial of service  , q种dh?996q_此攻M要利用合理的服务h来占用过多的服务资源Q从而服务器无法处理合法用L指o。有以下主要几种具体d手段Q?/p> <p>Q?QSYN z水d</p> <p>        原理QSYN z水d主要是利用TCP协议~陷Q通过“肉鸡”伪造地址和发送大量的半连接请求,使得L一直等待半q接h的回复。通过此方法不断耗费L有限的CPU资源和内存资源?/p> <p>        d手段Q一般都是开发专门制造洪水攻ȝ序;E序核心主要是伪造一个TCP协议信息头和IP协议的信息头</p> <div id="4ui4yoe" class="dp-highlighter"> <ol class="dp-cpp" start="1"> <li id="u4c64og" class="alt"><span><span>TCP_HEADER  tcpheader;  </span></span></li> <li id="4som44u" class=""><span>    IP_HEADER   ipheader;  </span></li> <li id="6ewo4c4" class="alt"><span>    <span id="eaa4cke" class="comment">//填充IP首部</span><span>  </span></span></li> <li id="4mym4ow" class=""><span>    ipheader.h_verlen=(4<<4 | <span id="egam44u" class="keyword">sizeof</span><span>(IP_HEADER)/</span><span id="2myae4y" class="keyword">sizeof</span><span>(unsigned </span><span id="iscoams" class="datatypes">long</span><span>));  </span></span></li> <li id="2ei4y4i" class="alt"><span>    ipheader.total_len = htons(<span id="skwoi26" class="keyword">sizeof</span><span>(IP_HEADER)+</span><span id="e2gg46s" class="keyword">sizeof</span><span>(TCP_HEADER));  </span></span></li> <li id="o4wqkkk" class=""><span>    ipheader.ident = 1;  </span></li> <li id="eais4k4" class="alt"><span>    ipheader.frag_and_flags = 0;  </span></li> <li id="cwyku4o" class=""><span>    ipheader.ttl = 128;  </span></li> <li id="askog24" class="alt"><span>    ipheader.proto = IPPROTO_TCP;  </span></li> <li id="26uc464" class=""><span>    ipheader.checksum =0;  </span></li> <li id="eya4ag4" class="alt"><span>    ipheader.sourceIP = htonl(FakeIpHost+SendSEQ);  </span></li> <li id="k4s4iig" class=""><span>    ipheader.destIP = inet_addr(DestIP);  </span></li> <li id="k244aqo" class="alt"><span>    <span id="koqs6cu" class="comment">//填充TCP首部</span><span>  </span></span></li> <li id="i2ugqcy" class=""><span>    tcpheader.th_dport=htons(port);  </span></li> <li id="eikm2c4" class="alt"><span>    tcpheader.th_sport = htons(8080);  </span></li> <li id="2a46w44" class=""><span>    tcpheader.th_seq = htonl(SEQ+SendSEQ);  </span></li> <li id="qse4wea" class="alt"><span>    tcpheader.th_ack = 0;  </span></li> <li id="mg2wiuk" class=""><span>    tcpheader.th_lenres =(<span id="ia2oigm" class="keyword">sizeof</span><span>(TCP_HEADER)/4<<4|0);  </span></span></li> <li id="2a4a6q4" class="alt"><span>    tcpheader.th_flag = 2;  </span></li> <li id="ewyam26" class=""><span>    tcpheader.th_win = htons(16384);  </span></li> <li id="2ke444q" class="alt"><span>    tcpheader.th_urp = 0;  </span></li> <li id="2ikmuok" class=""><span>    tcpheader.th_sum =   </span></li> </ol> </div> <textarea style="display: none;" cols="50" rows="15" name="code" class="cpp">TCP_HEADER tcpheader; IP_HEADER ipheader; //填充IP首部 ipheader.h_verlen=(4<<4 | sizeof(IP_HEADER)/sizeof(unsigned long)); ipheader.total_len = htons(sizeof(IP_HEADER)+sizeof(TCP_HEADER)); ipheader.ident = 1; ipheader.frag_and_flags = 0; ipheader.ttl = 128; ipheader.proto = IPPROTO_TCP; ipheader.checksum =0; ipheader.sourceIP = htonl(FakeIpHost+SendSEQ); ipheader.destIP = inet_addr(DestIP); //填充TCP首部 tcpheader.th_dport=htons(port); tcpheader.th_sport = htons(8080); tcpheader.th_seq = htonl(SEQ+SendSEQ); tcpheader.th_ack = 0; tcpheader.th_lenres =(sizeof(TCP_HEADER)/4<<4|0); tcpheader.th_flag = 2; tcpheader.th_win = htons(16384); tcpheader.th_urp = 0; tcpheader.th_sum = </textarea> <p>         防M手段Q?/p> <p>               1Q用硬防火墙过滤;g防火墙明显提高防御性能Q基本能拦截95%~99%的攻M息包Q服务器依然会接受到d的信息包。缺点:只能被动提高防M性能</p> <p>               2Q用门户代理过滤;防M效果非常明显Q曾l试q被20G数据d。经q美国某防M门户qo后,大概只有几十K有效数据发送到服务器上。缺点:在用了防M门户后,服务端与客户端之交互延时非常严重Q?gt;1000MSQ?/p> <p>               3Q修Ҏ务器一些网l安全参数设?如:Window 可以修改下面一些配|SynAttackProtectQTcpMaxPortsExhaustedQTcpMaxHalfOpen? TcpMaxHalfOpenRetried{;更加详细相关配置讑֮介绍可以到网上搜索一?应该不少。系l的防M性能提高有限Q但无需要Q何投入?/p> <p>               4Q机器群集均衡负载;q个Ҏ是一个最有效和成本最高的Ҏ。这里我׃多讲最后这个方法啦?/p> <p>         ȝQSYNz水d主要是攻L与防御方比拼g资源和防御策略?/p> <p>Q?Q流量攻?/p> <p>        原理Q流量攻M要是“肉鸡”通过对目的主机的服务端口发送大量的垃圾数据Q导致目的主机的|络堵塞。在|络上很多文章都会将SYNz水d和流量攻击视 作ؓ相同手段。从监控软g来看Q被q两U攻L候都会表Cؓ|络量暴涨D|络堵塞。其实,q两U攻ȝ|络堵塞原因是有本质上区别的。流量攻d致网 l堵塞是某些IP机器实际发送大量垃圾信息去耗尽L带宽QSYNz水dD|络堵塞是目标主机本w所有资源被伪造半q接h耗尽了,使得机器Ҏ不能 l箋接受新连接?/p> <p>        d手段Q最单流量攻ȝ序都是将单Socket E序中的sendBuf 修改为大?4K数据块就可以了?/p> <p>                  </p> <div id="giumqw2" class="dp-highlighter"> <ol class="dp-cpp" start="1"> <li id="k24s4um" class="alt"><span><span id="ee4guqo" class="comment">// 一般都是将'sendBuf' 讑֮?4K以上随机的垃圾数?/span><span>  </span></span></li> <li id="eeg2qqm" class=""><span>sendto(sock,sendBuf,dataSize,0,(<span id="2o44g6a" class="keyword">struct</span><span> sockaddr*) &sockAddr,</span><span id="oo44e4e" class="keyword">sizeof</span><span>(sockAddr));  </span></span></li> </ol> </div> <textarea style="display: none;" cols="50" rows="15" name="code" class="cpp:showcolumns">// 一般都是将'sendBuf' 讑֮?4K以上随机的垃圾数? sendto(sock,sendBuf,dataSize,0,(struct sockaddr*) &sockAddr,sizeof(sockAddr));</textarea> <p>         防M手段Q?/p> <p>               1Q用硬防火墙过滤;Ҏ服务E序现状讑֮合适策略,基本拦截95~99%的垃圾信息;量d拦截非常依靠g防火墙设定策略,有效{略会大大提高系l防御性能?/p> <p>               2Q用门户代理过滤;参照【SYNz水d】相应描q?</p> <p>               3Q优化服务端E序解密法</p> <p>                    现在一般网l上C/S 或者B/S 架构模式的程序,在系l互盔R信指o上基本都是密文。当pȝ服务端程序受到攻L候,服务的解密算法就会受到巨大压力,很容易导致服务器资源耗尽。所以, Z提高pȝ在高压力下生存率Q选择高效解密Ҏ是很有必要?/p> <p>               4Q增加服务端E序|络异常处理</p> <p>                    在一定高压力情况下,除了需要确保服务端?#8221;E_?#8220;Q还需要确保系l的”准确?#8220;。对一些网l异怸断的情况Q制定一些补救性措施和机制。特别是一些实时性系l特别重要,按过往l验在一定压力情况下会出现非常离谱错误?/p> <p>               5Q增加服务端E序防M{略</p> <p>                    ׃DDos d往往都用IP地址”ƺ骗“技术,在行业里面暂时没有比较有效的反击Ҏ。所以,现在最行防M{略是服务?#8221; 装死 “。n边其他hUCؓ” 信息忽略回馈机制“Q主要思想是当系l收C个不能识别的指o时候,立即掉弃q接和不对连接作ZQ何反馈信息。除?#8221; 信息忽略回馈机制“外,q有一些商业上和业务上防M{略。如Q?账户锁定{略QIP锁定{略和服务器认证{略{?/p> <p>         ȝQ流量攻L验防御方|络量Q系l安全策略,pȝ异常处理和系l性能。在目旉允许情况下,q个试是必不可的?/p> <p>Q?QHTTPz水d</p> <p>         原理QHTTPz水是利用【应用层】中HTTP协议~陷Q不断发送没有完成的HTTP_直到你的服务器耗尽所有的资源?/p> <p>         d手段Q?/p> <p>               1Q首先向服务器发出如下HTTP头部Q?br />                        GET / HTTP/1.1\r\n<br />                        Host: host\r\n<br />                        User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)\r\n<br />                        Content-Length: 42\r\n</p> <p>               2Q然后每隔一定时间l发Z个自定义的头部:<br />                        X-a: b\r\n<br />                ȝҎHTTP协议QHTTPh头部与请求主体的分隔是多一个\r\n。也是说上q的HTTP头部一直没有发送完成,HTTP服务器会{在那里准备 接受余下的内容,一直到接受时Q然后关闭连接。默认的apached头部的超时据说是3000U。Apache的情冉|Q每接受一个连接新开一个进E? 或线E,q样新接受一个连接的资源消耗很大,我测试的q结果是Q一般apache只需在超时时间内Q持l发?00个以上的包,apache׃会再接收 新的q接了?/p> <p>         防M手段Q?/p> <p>               1Q减HTTP头部q接时的时_其是HTTPh中GET、HEADҎ的超时时间。注意一般POSTҎ的头部包含了上传的内容,所以传输时间会很长Q要避免合法的h提前关闭?br />                2Q限定单个IP的连接数。缺ҎQ有些学校、大公司都通过NAT方式q接互联|,所以同一个IP的连接数会很多?br />                3Q特别针对ApacheQ将Nginx此类反向服务器放在apache前面Q用来撑q接Q代理合法的h?/p> <p>               4Q用硬防火墙过滤;</p> <p>               5Q用门户代理过滤;</p> <p>         ȝQHTTP协议的缺陷其实是TCP/IP协议~陷的一个g伸,只是表现在应用层|络协议面上?/p> <p>本h水^有限Q若有不准确地方Ƣ迎提出?/p> <img src ="http://www.tkk7.com/ljf-tianyi/aggbug/346173.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ljf-tianyi/" target="_blank">天一</a> 2011-03-13 23:09 <a href="http://www.tkk7.com/ljf-tianyi/archive/2011/03/13/346173.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库设计和数据库重?-小心得http://www.tkk7.com/ljf-tianyi/archive/2008/11/25/204143.html天一天一Tue, 25 Nov 2008 13:53:00 GMThttp://www.tkk7.com/ljf-tianyi/archive/2008/11/25/204143.htmlhttp://www.tkk7.com/ljf-tianyi/comments/204143.htmlhttp://www.tkk7.com/ljf-tianyi/archive/2008/11/25/204143.html#Feedback3http://www.tkk7.com/ljf-tianyi/comments/commentRss/204143.htmlhttp://www.tkk7.com/ljf-tianyi/services/trackbacks/204143.html
但由于系l的需求是不断变化Q得在数据库设计变得十分重要而且困难?br /> 在需求变化非常快情况下,有一部分Z认ؓ要寻找一U设计方法以固定不变的表l构来适用不断变化需
求。这个观Ҏ十分不明智和以现时的技术上暂时不能实现。对于Y件功能程序在需求不断变法时候,?br /> 了适应新的需求,不断重构pȝ的代码。以相同的道理,数据库设计也是程序设计的一部分。那么,数据
库一样可以用重构来实现适用不断变化的Y件系l?br />
本h认ؓ数据库设计将会分Z个阶D进行:

W一阶段Q数据库功能上的设计Q由于在软gpȝ的数据库建立初期Q数据库也只是以实现pȝ同能为目
标,对于pȝ性能优化不会是数据库设计的重点?br />
·建立软gpȝ的比较通用功能基础表。在基础功能建立后,pȝ使用者会对系l部分功能作价和?br /> 改要求。而功能基表设计ؓ减少日后修改和维护量Q会量设计通用和冗杂结构?br />
·攉软gpȝ的一些基本信息。对于Y件系l设计者来_对Y件系l的中每个表数据量,E序上SQL?br /> 使用Q系l的J忙时段以及周期{都会有比较初步评估。但对于数据库设计者来_q些估计都是只一?br /> 推断q没有实际数据支持。ؓW二阶段数据库修改和l护Q对软gpȝ作一些基本数据收集是必要的?br />
W二阶段为数据库pȝ能上优化Q主要是通过W一阶段攉pȝ数据库一些信息来对系l做修改和优?br /> 数据库具体优化方案需要以攉信息为基来之际来q行指定?br />
下面本hȝ下,数据库中一般有哪些斚w需要进行优化?br />
1优化pȝ的SQLQ具体有下面几点可以q行Q?br /> ·对用频J的SQL以创建具体功能存储过E来代替Q可以减数据库pȝ对SQL~译和解?br /> ·涉及到数据量大的表,量建立基本视图来完成数据查询工?br /> ·在程序中量使用扚w提交
(注:此方法在多数据更新和插入软gpȝ?Q可以比较显著提高性能?br />      在提高系l性能的同Ӟ对程序的多线E控制技术上增加不少隑ֺ?br />      若线E控制出现问题,会对数据库带来灾难性破?
·E序在用SQL的时候,量使用消耗数据库资源的运行方?br />
2 数据库表l构?br /> ·在数据量大表中,量减少非必要字D늃引徏立?br /> Q注Q?索引建立多了查询速度是可以很有效的提高,但随之而来的是插入数据消耗的数据库资源也提高了很多)
·大表需要进行分区存?br /> Q注Q现在主数据库都已l开始支持分区存储数据)
·在不影响pȝ的业务逻辑上,清理数据表中被废弃用的字段
 (注:在清理废弃的字段需要关注的定q些字段是否真的已经被废弃,E序真的不再启用)

3 修改有问题的SQL
·在实现功能时候,׃旉或者其他原因整个系l中肯定会有部分性能不优的SQL存在。第一阶段攉的数据,现在可以有效的q行使用。通过q些数据我们可以很有效地把这些不优的SQL[甚至是很烂]扑և来,一条一条进行调?br /> ·在调整SQL外,q需要对数据库内存或者共享空间等{进行调_使得数据库永q是处于最优的状态?br />
以上是本Z些小心得,如果不对的地Ҏq指教?br />
      MK-TIANYI


天一 2008-11-25 21:53 发表评论
]]>
关于MySQL奇怪的问题http://www.tkk7.com/ljf-tianyi/archive/2007/03/10/101632.html天一天一Sat, 10 Mar 2007 14:38:00 GMThttp://www.tkk7.com/ljf-tianyi/archive/2007/03/10/101632.htmlhttp://www.tkk7.com/ljf-tianyi/comments/101632.htmlhttp://www.tkk7.com/ljf-tianyi/archive/2007/03/10/101632.html#Feedback0http://www.tkk7.com/ljf-tianyi/comments/commentRss/101632.htmlhttp://www.tkk7.com/ljf-tianyi/services/trackbacks/101632.html l那个文件夹的权限ؓ : 777,但依然出C下错?: can't create the file ...'select outfile'.
用mysqld_safe --user = root 启动数据?再用mysqldump 把数据导出来成功了.
原因何在请各位指??

天一 2007-03-10 22:38 发表评论
]]>
Euclid 法http://www.tkk7.com/ljf-tianyi/archive/2006/04/20/42137.html天一天一Thu, 20 Apr 2006 04:46:00 GMThttp://www.tkk7.com/ljf-tianyi/archive/2006/04/20/42137.htmlhttp://www.tkk7.com/ljf-tianyi/comments/42137.htmlhttp://www.tkk7.com/ljf-tianyi/archive/2006/04/20/42137.html#Feedback0http://www.tkk7.com/ljf-tianyi/comments/commentRss/42137.htmlhttp://www.tkk7.com/ljf-tianyi/services/trackbacks/42137.html 用c语言描述如下Q?br />
int Euclid_Algorithm (int m, int n) {
   
int temp = m;
   
if (!|| !n) return 0;
   if
 (m < n) {m = n; n = temp;
while (1) {
if (!(m = m % n)) return n;
if (!(n = n % m)) return m; } 
 


 knuth_当m,n取某两个巨大的数Ӟ展{的次数超q百万次?br />  我开始还不相信,又翻了几发现用fibonacci数就能找到展转次数最多的两个敎ͼq两个数是F[n]和F[n+1]^_^Q很Ҏ验证最大展转次数k = log(n)Q就是以黄金分割G为底n的对数?
写到q里q完了Q但q须证明一个先xӞ是fibonacci怏两项互质。一个方法是利用q个性质Q? F[n-1] * F[n+1] - F[n]^2 = (-1)^n =>F[n-1]^2 + F[n-1] * F[n] - F[n]^2 = (-1)^n 说明F[n-1]与F[n]是互素的Q因为其中Q何公因子都将?-1)^n的一个因子?


天一 2006-04-20 12:46 发表评论
]]>
匯編指ohttp://www.tkk7.com/ljf-tianyi/archive/2006/04/19/41895.html天一天一Wed, 19 Apr 2006 06:14:00 GMThttp://www.tkk7.com/ljf-tianyi/archive/2006/04/19/41895.htmlhttp://www.tkk7.com/ljf-tianyi/comments/41895.htmlhttp://www.tkk7.com/ljf-tianyi/archive/2006/04/19/41895.html#Feedback0http://www.tkk7.com/ljf-tianyi/comments/commentRss/41895.htmlhttp://www.tkk7.com/ljf-tianyi/services/trackbacks/41895.html 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数?
1. 通用数据传送指?
MOV 传送字或字?
MOVSX 先符h?再传?
MOVZX 先零扩展,再传?
PUSH 把字压入堆栈.
POP 把字弹出堆栈.
PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.
POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.
PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.
POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.
BSWAP 交换32位寄存器里字节的序 XCHG 交换字或字节.( 臛_有一个操作数为寄存器,D寄存器不可作ؓ操作?
CMPXCHG 比较q交换操作数.( W二个操作数必须为篏加器AL/AX/EAX )
XADD 先交换再累加.( l果在第一个操作数?)
XLAT 字节查表转换. ── BX 指向一?256 字节的表的v? AL 的烦引?(0-255,? 0-FFH); q回 AL 为查表结? ( [BX+AL]->AL )

2. 输入输出端口传送指? IN I/O端口输入. ( 语法: IN 累加? {端口号│DX} ) OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加?) 输入输出端口qx式指定时, 其范围是 0-255; 由寄存器 DX 指定? 其范围是 0-65535.
3. 目的地址传送指? LEA 装入有效地址.

?
LEA DX,string ;把偏Ud址存到DX.
LDS 传送目标指?把指针内容装入DS.

?
LDS SI,string ;把段地址:偏移地址存到DS:SI.
LES 传送目标指?把指针内容装入ES.

?
LES DI,string ;把段地址:偏移地址存到ES:DI.
LFS 传送目标指?把指针内容装入FS.

?
LFS DI,string ;把段地址:偏移地址存到FS:DI.
LGS 传送目标指?把指针内容装入GS.

?
LGS DI,string ;把段地址:偏移地址存到GS:DI.
LSS 传送目标指?把指针内容装入SS.

? LSS DI,string ;把段地址:偏移地址存到SS:DI.

4. 标志传送指?
LAHF 标志寄存器传?把标志装入AH.
SAHF 标志寄存器传?把AH内容装入标志寄存?
PUSHF 标志入栈.
POPF 标志出栈.
PUSHD 32位标志入?
POPD 32位标志出?

二、算术运指? ───────────────────────────────────────

ADD 加法.
ADC 带进位加?
INC ?
1. AAA 加法的ASCII码调?
DAA 加法的十q制调整.
SUB 减法.
SBB 带借位减法.
DEC ?1.
NEC 求反(?0 减之).
CMP 比较.(两操作数作减?仅修Ҏ志位,不回送结?.
AAS 减法的ASCII码调?
DAS 减法的十q制调整.
MUL 无符号乘?
IMUL 整数乘法. 以上两条,l果回送AH和AL(字节q算),或DX和AX(字运?,
AAM 乘法的ASCII码调?
DIV 无符号除?
IDIV 整数除法.
以上两条,l果回? 商回送AL,余数回送AH, (字节q算); ? 商回送AX,余数回送DX, (字运?.
AAD 除法的ASCII码调?
CBW 字节转换为字. (把AL中字节的W号扩展到AH中去)
CWD 字{换ؓ双字. (把AX中的字的W号扩展到DX中去)
CWDE 字{换ؓ双字. (把AX中的字符h展到EAX中去)
CDQ 双字扩展. (把EAX中的字的W号扩展到EDX中去)

三、逻辑q算指o ───────────────────────────────────────

AND 与运?
OR 或运?
XOR 异或q算.
NOT 取反.
TEST 试.(两操作数作与q算,仅修Ҏ志位,不回送结?.
SHL 逻辑左移.
SAL 术左移.(=SHL)
SHR 逻辑右移.
SAR 术右移.(=SHR)
ROL 循环左移.
ROR 循环右移.
RCL 通过q位的@环左U?
RCR 通过q位的@环右U?

以上八种UM指o,其移位次数可?55? UM一ơ时, 可直接用操作? ?SHL AX,1. UM>1ơ时, 则由寄存器CLl出UMơ数. ? MOV CL,04 SHL AX,CL

四、串指o ───────────────────────────────────────

DS:SI 源串D寄存器 :源串变址.
ES:DI 目标串段寄存?目标串变址.
CX 重复ơ数计数? AL/AX 扫描?
D标志 0表示重复操作中SI和DI应自动增? 1表示应自动减? Z标志 用来控制扫描或比较操作的l束.
MOVS 串传? ( MOVSB 传送字W? MOVSW 传送字. MOVSD 传送双? )
CMPS 串比? ( CMPSB 比较字符. CMPSW 比较? )
SCAS 串扫? 把AL或AX的内容与目标串作比较,比较l果反映在标志位.
LODS 装入? 把源串中的元?字或字节)逐一装入AL或AX? ( LODSB 传送字W? LODSW 传送字. LODSD 传送双? )
STOS 保存? 是LODS的逆过E?
REP 当CX/ECX<>0旉?
REPE/REPZ 当ZF=1或比较结果相{?且CX/ECX<>0旉? REPNE/REPNZ 当ZF=0或比较结果不相等,且CX/ECX<>0旉?
REPC 当CF=1且CX/ECX<>0旉? REPNC 当CF=0且CX/ECX<>0旉?

五、程序{UL? ───────────────────────────────────────
1>无条件{UL?(长{U? JMP 无条件{UL? CALL q程调用 RET/RETFq程q回.
2>条g转移指o (短{U?-128?127的距d) ( 当且仅当(SF XOR OF)=1?OP1循环控制指o(短{U?
LOOP CX不ؓ零时循环.
LOOPE/LOOPZ CX不ؓ零且标志Z=1时@?
LOOPNE/LOOPNZ CX不ؓ零且标志Z=0时@?
JCXZ CX为零时{U?
JECXZ ECX为零时{U?

4>中断指o
INT 中断指o
INTO 溢出中断
IRET 中断q回

5>处理器控制指?
HLT 处理器暂? 直到出现中断或复位信hl箋.
WAIT 当芯片引UTEST为高电^时CPUq入{待状?
ESC 转换到外处理?
LOCK 锁ȝ.
NOP I操?
STC |进位标志位.
CLC 清进位标志位.
CMC q位标志取反.
STD |方向标志位.
CLD 清方向标志位.
STI |中断允怽.
CLI 清中断允怽.

六、伪指o ───────────────────────────────────────
DW 定义?2字节).
PROC 定义q程.
ENDP q程l束.
SEGMENT 定义D?
ASSUME 建立D寄存器d.
ENDS D늻?
END E序l束


天一 2006-04-19 14:14 发表评论
]]>
վ֩ģ壺 ӰԺ߲| ҹav뾫Ʒ| þ޹ҹƷƬ| վ߹ۿ| ޳a߿| ҴýһAV| ձĻ| AVרߵӰ| ѿaɫƬ| ŮƵվ| ҹƷþþþþ˳| þóѲ| AVô뾫Ʒ | ޵Ӱ߲| avһ| ɫƵwww| ѿŮճˮƵ| ҹAV| þ㽶߿ۿƬ| 99þ޾Ʒһ| ߹ۿ| ڵƵ| 99þѹػ| պþþþþ| Ƶ| Ƶ| ޾ƷŮþþþ| þþѸӰԺ| ɫƷva߹ۿƵ | ŮƵվ| avһas| www.ɫվ| ҹAV| ŷ͵ۺ| ѴƬֻ߹ۿ | ˿wwwƵ| ޹Ƭ߹ۿ| պĻպ| ˶wwwҹվ| ˽ۺϾþ| Ļ|