Znn3bq.jpeg
²é¿´: 560  |  »Ø¸´: 1
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

[½»Á÷] 32λ´úÂëÓÅ»¯³£Ê¶[תÌù]

32λ´úÂëÓÅ»¯³£Ê¶
        Ô­×÷Õß:  Benny/29A
        ·­Òë¸Äд:hume/ÀäÓêÆ®ÐÄ

[×¢Òâ:Õâ²»ÊÇðÐðÄѧÉàµÄ·­Òë,ÎÒ¾¡Á¿ÒÔÎÒµÄÀí½â´«´ïÔ­Îĵı¾Òâ]

¹ØÓÚ´úÂëÓÅ»¯µÄÎÄÕÂʵÔÚÌ«¶àÁË,Òź¶µÄÊǴ󲿷ÖÎÒ¶¼Ã»Óп´,¾¡¹ÜËûÃǾͰÚÔÚÎҵĴ²±ß(ÿµ±ÎÒÒª¿´µÄʱºò¾ÍÈ̲»×¡´ò¹þÇ·...ºÙºÙ).ÕâÆªÎÄÕ½϶ÌËùÒÔ·­ÁËÒ»ÏÂ.

´úÂëÓÅ»¯µÄº¬Òå:

´úÂëÓÅ»¯µÄÄ¿±êµ±È»ÊÇÌå»ýСºÍËÙ¶È¿ì,µ«ÊÇÔÚͨ³£µÄÇé¿ö϶þÕß¾ÍÏóÓãºÍÐÜÕÆÒ»Ñù²»Äܵüæ,ÎÒÃÇͨ³£Ñ°ÕÒµÄÊÇÕâ¶þÕßµÄÕÛÖÐ,¾¿¾¹Ó¦¸ÃÆ«ÏòºÎ·½,ÄǾ͵þßÌå¿´ÎÒÃǵÄʵ¼ÊÐèÒª.

µ«ÓÐЩ³£Ê¶ÊÇÎÒÃÇÓ¦¸ÃÀμǵÄ,ÏÂÃæ¾Í½áºÏÎÒÃÇ×î³£Óöµ½µÄ¾ßÌåÇé¿öÀ´Âþ̸һÏÂ:

1.¼Ä´æÆ÷Çå0
        ÎÒ¾ø¶Ô²»ÏëÔÙ¿´µ½ÏÂÃæµÄд·¨:
        1)      mov eax, 00000000h                    ;5 bytes
        
        ¿´ÆðÀ´ÉÏÃæµÄд·¨ºÜ·ûºÏÂß¼­,µ«ÄãÓ¦µ±Òâʶµ½»¹Óиü¼ÓÓÅ»¯µÄд·¨:
        2)      sub eax, eax                          ;2 bytes

        3)      xor eax, eax                          ;2 bytes
        ¿´¿´ºóÃæµÄ×Ö½ÚÊýÄã¾ÍÓ¦¸ÃÀí½âΪʲôҪÕâô×÷ÁË,³ý´ËÖ®Íâ,ÔÚËÙ¶ÈÉÏҲûÓÐËðʧ,ËûÃÇÒ»Ñù¿ì,µ«Äãϲ»¶xor»¹ÊÇsubÄØ?ÎÒÊDZȽÏϲ»¶xor,Ô­ÒòºÜ¼òµ¥,ÒòΪÎÒÊýѧ²»ºÃ....
        ²»¹ýMicrosoft±È½Ïϲ»¶sub....ÎÒÃÇÖªµÀwindowsÔËÐеÄÂý....(ºÇºÇ,µ±È»ÊÇÍæÐ¦Õâ²¢²»ÊÇÕæÕýÔ­ÒòX-D!)

2.²âÊԼĴæÆ÷ÊÇ·ñΪ0
        ÎÒÒ²²»Ï£Íû¿´µ½ÏÂÃæµÄ´úÂë:
        1)      cmp eax, 00000000h                    ;5 bytes
                je _label_                            ;2/6 bytes (short/near)

        [* ×¢ÒâºÜ¶àÖ¸ÁîÕë¶Ôeax×÷ÁËÓÅ»¯,ÄãÒª¾¡¿ÉÄÜ¶àµØÊµÓÃeax,±ÈÈçCMP EAX, 12345678h (5 bytes)
        Èç¹ûÄãʹÓÃÆäËû¼Ä´æÆ÷,¾ÍÊÇ6bytes *]
        
        ÈÃÎÒÃÇ¿´¿´,¼òµ¥µÄ±È½ÏÖ¸Áî¾ÓȻҪÓÃ7/11 bytes,No No No,ÊÔÊÔÏÂÃæµÄд·¨:
        2)      or eax, eax                          ;2 bytes
                je _label_                            ;2/6 (short/near)

        3)      test eax, eax                        ;2 bytes
                je _label_                            ;2/6 (short/near)

        ºÇºÇ,Ö»ÓÐ4/8 bytes,¿´¿´ÎÒÃǿɽÚÊ¡¶àÉÙ×Ö½Ú°¡3/4×Ö½Ú...ÄÇô½ÓÏÂÀ´µÄÎÊÌâÊÇÄãϲ»¶OR»¹ÊÇTESTÄØ,¾ÍÎÒ¸öÈ˶øÑÔ,±È½Ïϲ»¶TEST,ÒòΪtest²»¸Ä±äÈκμĴæÆ÷,²¢²»ÏòÈκμĴæÆ÷дÈëÄÚÈÝ,Õâͨ³£ÄÜÔÚpentium»úÉÏÈ¡µÃ¸ü¿ìµÄÖ´ÐÐËÙ¶È.
        
        ±ð¸ßÐ˵ÄÌ«Ôç,ÒòΪ»¹ÓиüÖµµÃÎÒÃǸßÐ˵ÄÊÂÇé,¼ÙÈçÄãÒªÅжϵĵÄÊÇeax¼Ä´æÆ÷,ÄÇô¿´¿´ÏÂÃæµÄ,ÊDz»ÊǸüÓÐÆô·¢?
        4)      xchg eax, ecx                        ;1 byte
                jecxz _label_                        ;2 bytes
        ÔÚ¶ÌÌø×ªµÄÇé¿öÏÂÎÒÃDZÈ2)ºÍ3)ÓÖ½ÚÊ¡ÁË1×Ö½Ú.oh....___...

3.²âÊԼĴæÆ÷ÊÇ·ñΪ0FFFFFFFFh
        Ò»Ð©API·µ»Ø-1,Òò´ËÈçºÎ²âÊÔÕâ¸öֵĨ?¿´Äã¿ÉÄÜÓÖÒªÕâÑù:
        1)      cmp eax, 0ffffffffh                  ;5 bytes
                je _label_                            ;2/6 bytes
        hey,²»ÒªÕâÑù,д´úÂëµÄʱºòÏëÒ»Ïë,ÓÚÊÇÓÐÁËÏÂÃæµÄд·¨:
        2)      inc eax                              ;1 byte
                je _label_                            ;2/6 bytes
                dec eax                              ;1 byte

        ¿ÉÒÔ½ÚÊ¡3 bytes²¢ÇÒÖ´ÐÐËÙ¶È»á¸ü¿ì.

4.ÖüĴæÆ÷Ϊ0FFFFFFFFh
        ¿´¿´¼ÙÈçÄãÊÇApiµÄ×÷Õß,ÈçºÎ·µ»Ø-1?ÕâÑùÂð?
        1)      mov eax, 0ffffffffh                  ;5 bytes

        ¿´ÁËÉÏÃæµÄ²»»áÔÙÕâôXXXÁ˰É?¿´¿´ÏÂÃæµÄ:
        2)      xor eax, eax / sub eax, eax          ;2 bytes
                dec eax                              ;1 byte
        ½Úʡһ¸ö×Ö!»¹ÓÐд·¨:
        3)      stc                                  ;1 byte
                sbb eax, eax                          ;2 bytes
        ÕâÓÐʱ»¹¿ÉÒÔÓÅ»¯µô1 byte:
                jnc _label_
                sbb eax, eax                          ;2 bytes only!
      _label_: ...

      ÎÒÃÇΪʲôÓÃasmÄØ?Õâ¾ÍÊÇÔ­Òò.

5.¼Ä´æÆ÷Çå0²¢ÒÆÈëµÍ×ÖÊýÖµ
        1)      xor eax, eax                          ;2 bytes
                mov ax, word ptr [esi+xx]            ;4 bytes
        ????--->²»»á°É,Õâ¿ÉÄÜÊÇ×î¶à³õѧÕßµÄд·¨ÁË,ÎÒµ±È»Ô­À´Ò²ÊÇ,¿´ÁËbennyµÄÎÄÕÂÖ®ºóÎÒ¾ö¶¨¸ÄдΪ:
        2)      movzx eax, word ptr [esi+xx]          ;4 bytes
        ÊÕ»ñ2 bytes!

        ÏÂÃæµÄ
        3)      xor eax, eax                          ;2 bytes
                mov al, byte ptr [esi+xx]            ;3 bytes

        ¾ÍÏàÓ¦¸ÄΪ:
        4)      movzx eax, byte ptr [esi+xx]          ;4 bytes

        ÎÒÃÇÓ¦µ±¾¡¿ÉÄÜÀûÓÃmovzx
        5)      xor eax, eax                          ;2 bytes
                mov ax, bx                            ;3 bytes

        ÒòΪִÐÐËٶȲ»Âý²¢Í¨³£ÄܽÚÊ¡×Ö½Ú...
        6)      movzx eax, bx                        ;3 bytes

6.¹ØÓÚpush,ÏÂÃæÊÇ×ÅÖØ´úÂëÌå»ýµÄÓÅ»¯,ÒòΪ¼Ä´æÆ÷²Ù×÷×ÜÒª±ÈÄÚ´æ²Ù×÷Òª¿ì.

        1)      mov eax, 50h                          ;5 bytes

        ÕâÑù¾ÍСÁË1 word

        2)      push 50h                              ;2 bytes
                pop eax                              ;1 byte
        
        µ±²Ù×÷ÊýÖ»ÓÐ1×Ö½Úʱºò,pushÖ»ÓÐ2 bytes,·ñÔò¾ÍÊÇ5 bytes,¼Çס!
        ÏÂÒ»¸öÎÊÌâ,Ïò¶ÑÕ»ÖÐѹÈë7¸ö0

        3)      push 0                                ;2 bytes
                push 0                                ;2 bytes
                push 0                                ;2 bytes
                push 0                                ;2 bytes
                push 0                                ;2 bytes
                push 0                                ;2 bytes
                push 0                                ;2 bytes

      Õ¼ÓÃ14×Ö½Ú,ÏÔÈ»²»ÄÜÂúÒâ,ÓÅ»¯Ò»ÏÂ
        4)      xor eax, eax                          ;2 bytes
                push eax                              ;1 byte
                push eax                              ;1 byte
                push eax                              ;1 byte
                push eax                              ;1 byte
                push eax                              ;1 byte
                push eax                              ;1 byte
                push eax                              ;1 byte

        ¿ÉÒÔ¸ü½ô´Õ,µ«»áÂýÒ»µãµÄÐÎʽÈçÏÂ:

        5)      push 7                                ;2 bytes
                pop ecx                              ;1 byte
      _label_:  push 0                                ;2 bytes
                loop _label_                          ;2 bytes

        ¿ÉÒÔ½ÚÊ¡7×Ö½Ú....

        ÓÐʱºòÄã¿ÉÄÜ»á´Ó½«Ò»¸öÖµ´ÓÒ»¸öÄÚ´æµØÖ·×ªÒÆµ½ÁíÍâÄÚ´æµØÖ·,²¢ÇÒÒª±£´æËùÓмĴæÆ÷:

        6)      push eax                              ;1 byte
                mov eax, [ebp + xxxx]                  ;6 bytes
                mov [ebp + xxxx], eax                  ;6 bytes
                pop eax                                ;1 byte

        ÊÔÊÔpush,pop

        7)      push dword ptr [ebp + xxxx]            ;6 bytes
                pop dword ptr [ebp + xxxx]            ;6 bytes
7.³Ë·¨
   
        µ±eaxÒѾ­·ÅÈë±»³ËÊý,Òª³Ë28h,ÈçºÎÀ´Ð´?
        1)      mov ecx, 28h                          ;5 bytes
                mul ecx                              ;2 bytes

      ºÃÒ»µãµÄд·¨ÈçÏÂ:

        2)      push 28h                              ;2 bytes
                pop ecx                              ;1 byte
                mul ecx                              ;2 bytes

        ÍÛÕâ¸ö¸üºÃ::

        3)      imul eax, eax, 28h                    ;3 bytes

        intelÔÚÐÂCPUÖÐÌṩеÄÖ¸Áî²¢²»ÊǰÚÉè,ÐèÒªÄãµÄʹÓÃ.

8.×Ö·û´®²Ù×÷


        ÄãÈçºÎ´ÓÄÚ´æÈ¡µÃÒ»¸ö×Ö½ÚÄØ?
        ËÙ¶È¿ìµÄ·½°¸:
        1)      mov al/ax/eax, [esi]                  ;2/3/2 bytes
                inc esi                              ;1 byte

        ´úÂëСµÄ·½°¸:
        2)      lodsb/w/d                            ;1 byte

        ÎұȽÏϲ»¶lodÒòΪËûС,ËäÈ»ËÙ¶ÈÂýÁ˵ã.
        
        ÈçºÎµ½´ï×Ö·û´®Î²ÄØ?
      JQwerty's method:

        9)      lea esi, [ebp + asciiz]              ;6 bytes
      s_check: lodsb                                ;1 byte
                test al, al                          ;2 bytes
                jne s_check                          ;2 bytes

        Super's method:

        10)    lea edi, [ebp + asciiz]              ;6 bytes
                xor al, al                            ;2 bytes
      s_check: scasb                                ;1 byte
                jne s_check                          ;2 byte

      Ñ¡ÔñÄÄÒ»¸ö?SuperµÄÔÚ386ÒÔϵĸü¿ì,JQwertyµÄÔÚ486ÒÔ¼°pentiumÉϸü¿ì,Ìå»ýÒ»Ñù,Ñ¡ÔñÓÉÄã.

9.¸´ÔÓÒ»µãµÄ...

        ¼ÙÉèÄãÓÐÒ»¸öDWORD±í,ebxÖ¸Ïò±íµÄ¿ªÊ¼,ecxÊÇÖ¸Õë,ÄãÏë¸øÃ¿¸ödoword¼Ó1,¿´¿´ÈçºÎ×÷:
        1)      pushad                                ;1 byte
                imul ecx, ecx, 4                      ;3 bytes
                add ebx, ecx                          ;2 bytes
                inc dword ptr [ebx]                  ;2 bytes
                popad                                ;1 byte

        ¿ÉÒÔÓÅ»¯Ò»µã,µ«ÊǺÃÏñûÈËÓÃ:

        2)      inc dword ptr [ebx+4*ecx]            ;3 bytes

        Ò»ÌõÖ¸Áî¾Í½ÚÊ¡6×Ö½Ú,¶øÇÒËٶȸü¿ì,¸üÒ×¶Á,µ«ºÃÏñûÓÐʲôÈËÓÃ?...why?
        »¹¿ÉÒÔÓÐÁ¢¼´Êý:
        3)      pushad                                ;1 byte
                imul ecx, ecx, 4                      ;3 bytes
                add ebx, ecx                          ;2 bytes
                add ebx, 1000h                        ;6 bytes
                inc dwor ptr [ebx]                    ;2 bytes
                popad                                ;1 byte

        ÓÅ»¯Îª:
        4)      inc dword ptr [ebx+4*ecx+1000h]      ;7 bytes

        ½ÚÊ¡ÁË8×Ö½Ú!
        

        ¿´Ò»ÏÂleaÖ¸ÁîÄÜΪÎÒÃǸɵãÊ²Ã´ÄØ?
                lea eax, [12345678h]

        eaxµÄ×îºó½á¹ûÊÇÊ²Ã´ÄØ?ÕýÈ·´ð°¸ÊÇ12345678h.

        ¼ÙÉè EBP = 1
                lea eax, [ebp + 12345678h]
        ½á¹ûÊÇ123456789h....ºÇºÇ±È½ÏÒ»ÏÂ:
                lea eax, [ebp + 12345678h]            ;6 bytes
                ==========================
                mov eax, 12345678h                    ;5 bytes
                add eax, ebp                          ;2 bytes

        5) ¿´¿´:
                mov eax, 12345678h                    ;5 bytes
                add eax, ebp                          ;2 bytes
                imul ecx, 4                          ;3 bytes
                add eax, ecx                          ;2 bytes

        6) ÓÃleaÀ´½øÐÐһЩ¼ÆËãÎÒÃŽ«´ÓÌå»ýÉϵõ½ºÃ´¦:

                lea eax, [ebp+ecx*4+12345678h]        ;7 bytes

        ËÙ¶ÈÉÏÒ»ÌõleaÖ¸Áî¸ü¿ì!²»Ó°Ïì±ê־λ...¼ÇסÏÂÃæµÄ¸ñʽ,ÔÚÐí¶àµØ·½ÉÆÓÃËûÃÇÄã¿ÉÒÔ½Úʡʱ¼äºÍ¿Õ¼ä.
                OPCODE [BASE + INDEX*SCALE + DISPLACEMENT]

[ Last edited by sdlj8051 on 2006-10-6 at 12:45 ]
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sdlj8051

½ð³æ (ÖøÃûдÊÖ)

10.ÏÂÃæÊǹØÓÚ²¡¶¾Öض¨Î»ÓÅ»¯µÄ,¾å¶¾ÈËÊ¿ÇëÈÆÐÐ...
        
        ÏÂÃæµÄ´úÂëÄã²»Ó¦¸ÃİÉú
        1)      call gdelta
        gdelta: pop ebp
                sub ebp, offset gdelta

        ÔÚÒÔºóµÄ´úÂëÖÐÎÒÃÇÕâÑùʹÓÃdeltaÀ´±ÜÃâÖØ¶¨Î»ÎÊÌâ
                lea eax, [ebp + variable]

        ÕâÑùµÄÖ¸ÁîÔÚÓ¦ÓÃÄÚ´æÊý¾ÝµÄʱºòÊDz»¿É±ÜÃâµÄ,Èç¹ûÄÜÓÅ»¯Ò»ÏÂ,ÎÒÃŽ«»áµÃµ½Êý±¶ÊÕÒæ,´ò¿ªÄãµÄsice»òÕßtrw»òÕßollydbgµÈµ÷ÊÔÆ÷,¿´¿´:
        3)      lea eax, [ebp + 401000h]              ;6 bytes
        
        ¼ÙÈçÊÇÏÂÃæÕâÑù      
        4)      lea eax, [ebp + 10h]                  ;3 bytes

        Ò²¾ÍÊÇ˵Èç¹ûebpºóÃæ±äÁ¿ÊÇ1×ֽڵϰ,×ܵÄÖ¸Áî¾ÍÖ»ÓÐ3×Ö½Ú        
        ÐÞ¸ÄÒ»ÏÂ×î³õµÄ¸ñʽ±äΪ:

        5)      call gdelta
        gdelta: pop ebp

        ÔÚijЩÇé¿öÏÂÎÒÃǵÄÖ¸Áî¾ÍÖ»ÓÐ3×Ö½ÚÁË,¿ÉÒÔ½ÚÊ¡3×Ö½Ú,ºÙºÙ,ÈÃÎÒÃÇ¿´¿´:
        6)      lea eax, [ebp + variable - gdelta]    ;3 bytes

        ºÍÉÏÃæµÄÊǵÈЧµÄ,µ«ÊÇÎÒÃÇ¿ÉÒÔ½ÚÊ¡3×Ö½Ú,¿´¿´CIH...

11.ÆäËû¼¼ÇÉ:
      Èç¹ûEAXСÓÚ80000000h,edxÇå0:
        --------------------------------------------------

        1)      xor edx, edx                          ;2 bytes, but faster

        2)      cdq                                  ;1 byte, but slower

        ÎÒһֱʹÓÃcdq,Ϊʲô²»ÄØ?Ìå»ý¸üС...


        ÏÂÃæÕâÖÖÇé¿öÒ»°ã²»ÒªÊ¹ÓÃespºÍebp,ʹÓÃÆäËû¼Ä´æÆ÷.
        -----------------------------------------------------------

        1)      mov eax, [ebp]                        ;3 bytes
        2)      mov eax, [esp]                        ;3 bytes

        3)      mov eax, [ebx]                        ;2 bytes


        ½»»»¼Ä´æÆ÷ÖÐ4¸ö×Ö½ÚµÄ˳Ðò?ÓÃbswap
        ---------------------------------------------------------
                mov eax, 12345678h                    ;5 bytes

                bswap eax                            ;2 bytes

                ;eax = 78563412h now      

        Wanna save some bytes replacin' CALL ?
        ---------------------------------------

        1)      call _label_                          ;5 bytes
                ret                                  ;1 byte

        2)      jmp _label_                          ;2/5 (SHORT/NEAR)

        Èç¹û½ö½öÊÇÓÅ»¯,²¢ÇÒ²»ÐèÒª´«µÝ²ÎÊý,Ç뾡Á¿ÓÃjmp´úÌæcall
        

        ±È½Ï reg/mem ʱÈçºÎ½Úʡʱ¼ä:
        ------------------------------------------

        1)      cmp reg, [mem]                        ;slower

        2)      cmp [mem], reg                        ;1 cycle faster


        ³Ë2³ý2ÈçºÎ½Úʡʱ¼äºÍ¿Õ¼ä?
        ------------------------------------------------------------
        1)      mov eax, 1000h
                mov ecx, 4                            ;5 bytes
                xor edx, edx                          ;2 bytes
                div ecx                              ;2 bytes

        2)      shr eax, 4                            ;3 bytes

        3)      mov ecx, 4                            ;5 bytes
                mul ecx                              ;2 bytes

        4)      shl eax, 4                            ;3 bytes
        

        loopÖ¸Áî
        ------------------------

        1)      dec ecx                              ;1 byte
                jne _label_                          ;2/6 bytes (SHORT/NEAR)

        2)      loop _label_                          ;2 bytes

        ÔÙ¿´:
        3)      je $+5                                ;2 bytes
                dec ecx                              ;1 byte
                jne _label_                          ;2 bytes

        4)      loopXX _label_ (XX = E, NE, Z or NZ)  ;2 bytes
        loopÌå»ýС,µ«486ÒÔÉϵÄcpuÉÏÖ´ÐÐËÙ¶È»áÂýÒ»µã...


      ±È½Ï:
        ---------------------------------------------------------
        1)      push eax                              ;1 byte
                push ebx                              ;1 byte
                pop eax                              ;1 byte
                pop ebx                              ;1 byte
      
      
        2)      xchg eax, ebx                        ;1 byte

        3)      xchg ecx, edx                        ;2 bytes
        Èç¹û½ö½öÊÇÏëÒÆ¶¯ÊýÖµ,ÓÃmov,ÔÚpentiumÉÏ»áÓнϺõÄÖ´ÐÐËÙ¶È:
        4)      mov ecx, edx                          ;2 bytes


        ±È½Ï:
        --------------------------------------------

        1) δÓÅ»¯:
        lbl1:  mov al, 5                            ;2 bytes
                stosb                                ;1 byte
                mov eax, [ebx]                        ;2 bytes
                stosb                                ;1 byte
                ret                                  ;1 byte
        lbl2:  mov al, 6                            ;2 bytes
                stosb                                ;1 byte
                mov eax, [ebx]                        ;2 bytes
                stosb                                ;1 byte
                ret                                  ;1 byte
                                                      ---------
                                                      ;14 bytes
        2) ÓÅ»¯ÁË:
        lbl1:  mov al, 5                            ;2 bytes
        lbl:    stosb                                ;1 byte
                mov eax, [ebx]                        ;2 bytes
                stosb                                ;1 byte
                ret                                  ;1 byte
        lbl2:  mov al, 6                            ;2 bytes
                jmp lbl                              ;2 bytes
                                                      ---------
                                                      ;11 bytes

      ¶ÁÈ¡³£Êý±äÁ¿,ÊÔÊÔÔÚÖ¸ÁîÖÐÖ±½Ó¶¨Òå:
      -----------------------------                    

...
                mov [ebp + variable], eax            ;6 bytes
                ...
                ...
      variable dd      12345678h                    ;4 bytes

        2) ÓÅ»¯Îª:

                mov eax, 12345678h                    ;5 bytes
      variable = dword ptr $ - 4
                ...
                ...
                mov [ebp + variable], eax            ;6 bytes

        ºÇºÇ,ºÃ¾Ãû¿´µ½ÕâôÓÐȤµÄ´úÂëÁË,ǰÌáÊDZàÒëµÄʱºòÖ§³Ö´úÂë¶ÎµÄдÈëÊôÐÔÒª±»ÉèÖÃ.
        
        ×îºó½éÉÜδ¹«¿ªÖ¸ÁîSALC,ÏÖÔڵĵ÷ÊÔÆ÷¶¼Ö§³Ö...ʲôº¬ÒåÄØ:¾ÍÊÇCFλÖÃ1µÄ»°¾Í½«alÖÃΪ0xff
        ------------------------------------------------------------------

        1)      jc _lbl1                              ;2 bytes
                mov al, 0                            ;2 bytes
                jmp _end                              ;2 bytes
          _lbl: mov al, 0ffh                          ;2 bytes
          _end: ...

        2)      SALC  db    0d6h                    ;1 byte
------------------------------------------------------------------>over...
2Â¥2006-08-23 13:56:51
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ sdlj8051 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ÊÕµ½¸´ÊÔµ÷¼Áµ«ÊÇÈ¥²»ÁË +7 СÎÏÅ£* 2026-04-16 7/350 2026-04-18 09:24 by Ï£ÍûÎҺúõÄ
[¿¼²©] Ç󲩵¼£üÉúÎïÖÊ»ù¶à¿×̼/³¬¼¶µçÈÝ·½Ïò£¬ÒÑÓÐÏà¹Ø³É¹û£¬Ñ°ÄÜÔ´²ÄÁÏ/̼²ÄÁÏ·½ÏòÀÏʦ +3 ÖíÖíÈËZzz 2026-04-12 3/150 2026-04-17 19:10 by ÑôÑôÑô^_^
[¿¼ÑÐ] ½ÓÊÜÈκε÷¼Á +4 Ò²¾ÍÊÇÀõ×Ó 2026-04-17 4/200 2026-04-17 17:57 by Equinoxhua
[½Ìʦ֮¼Ò] ɽ¶«Ë«·ÇԺУ¿¼ºË³¬¼¶ÎÞµ×Ïߣ¬Áìµ¼ÐÒÔÖÀÖ»ö£¬½ÌʦÔâÑê¿Ö +4 qut2026 2026-04-11 8/400 2026-04-17 16:10 by »á·ÉµÄÖí157
[¿¼ÑÐ] 322Çóµ÷¼Á +6 tekuzu 2026-04-17 6/300 2026-04-17 13:48 by Espannnnnol
[¿¼ÑÐ] 279Çóµ÷¼Á +13 ÕÅ·¬ÇѲ»³´µ° 2026-04-11 13/650 2026-04-17 10:38 by cuisz
[¿¼ÑÐ] 297£¬¹¤¿Æµ÷¼Á? +4 ºÓÄÏũҵ´óѧ-ÄÜ 2026-04-14 4/200 2026-04-16 22:52 by wulijun2012
[¿¼ÑÐ] 291Çóµ÷¼Á +9 ¹ØÒä±±. 2026-04-14 9/450 2026-04-16 22:49 by cfdbai
[¿¼ÑÐ] 300Çóµ÷¼Á +11 ³Èa777 2026-04-15 11/550 2026-04-16 22:43 by cfdbai
[¿¼ÑÐ] 307ÖÐÒ½¿¼Ñе÷¼Á +6 ÓÚÒÔ²ÉÞÀ 2026-04-14 6/300 2026-04-16 16:20 by qingfeng258
[¿¼ÑÐ] 297£¬¹¤¿Æµ÷¼Á?ºÓÄÏũҵ´óѧ±¾¿Æ +14 ºÓÄÏũҵ´óѧ-ÄÜ 2026-04-14 14/700 2026-04-16 14:41 by dingyanbo1
[¿¼²©] É격×Ô¼ö +3 LinxiaÁÖÏÄ 2026-04-13 3/150 2026-04-16 12:55 by Ä«ºÉ֮¶
[»ù½ðÉêÇë] RY£ºÖйú²ú³öµÄ¿ÆÑ§À¬»øÂÛÎÄ£¬¾ø¶ÔÊýÁ¿ºÍ±ÈÀý¶¼ÊÀ½çµÚÒ» +7 zju2000 2026-04-14 18/900 2026-04-16 11:36 by »¶ÀÖËÌÒ¶Ýè
[¿¼ÑÐ] ÇóÖúµ÷¼Á£¬¿çµ÷ +19 XÊ®¸¦´çY 2026-04-11 20/1000 2026-04-15 21:18 by cuisz
[¿¼ÑÐ] 310Çóµ÷¼Á +16 666ÕæºÃ 2026-04-11 18/900 2026-04-15 13:28 by ºÚ¿Æ¼¼¿óÒµ
[¿¼ÑÐ] ²ÄÁϹ¤³Ì281»¹Óе÷¼Á»ú»áÂð +43 xaw. 2026-04-11 44/2200 2026-04-15 12:46 by Î÷±±Íû¡ª·çɳ
[¿¼ÑÐ] Çóµ÷¼Á +12 ºÎÆøÕý 2026-04-13 13/650 2026-04-14 14:47 by zs92450
[¿¼ÑÐ] ¿¼ÑÐÓ¢Ò»ÊýÒ»338·Ö +9 ³¤½­´óѧ¶«Ð£Çø 2026-04-13 10/500 2026-04-14 00:41 by Íõ¬Bè±
[¿¼ÑÐ] 293Çóµ÷¼Á +16 ÎÒ°®¸ßÊý¸ßÊý°®Î 2026-04-12 18/900 2026-04-13 21:47 by ѧԱJpLReM
[¿¼ÑÐ] Çóµ÷¼Á +3 θ¾·ÂÎÀÛÁË 2026-04-11 5/250 2026-04-11 14:13 by luhong1990
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û