΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ+µÚËİæ+Ç®Ïþ½ÝÖ÷±à+¿ÎºóϰÌâ´ð°¸

¡²½â´ð¡³

sub al,al dec al inc al

mov al,89h add al,al add al,9dh cmp al,0bch sub al,al dec al inc al

; AL£½89H ; AL£½12H ; AL£½0AFH ; AL£½0AFH ; AL£½00H ; AL£½0FFH ; AL£½00H

CF ZF 1 0 1 0 0 0

0 0 0 1 0 1

SF 0 1 1 0 1 0

OF 1 0 0 0 0 0

PF 1 1 1 1 1 1

¡²Ï°Ìâ3.22¡³ÓÐÁ½¸ö64λÎÞ·ûºÅÕûÊý´æ·ÅÔÚ±äÁ¿buffer1ºÍbuffer2ÖУ¬¶¨ÒåÊý¾Ý¡¢±àд´úÂëÍê³ÉEDX.EAX¡ûbuffer1£­buffer2¹¦ÄÜ¡£ ¡²½â´ð¡³ buffer1 buffer2

¡²Ï°Ìâ3.23¡³·Ö±ðÖ´ÐÐÈçϳÌÐòƬ¶Ï£¬ËµÃ÷ÿÌõÖ¸ÁîµÄÖ´Ðнá¹û£º

£¨1£©

£¨2£©

£¨3£©

mov eax,1011b rol eax,2

; EAX£½__________B

; EAX£½__________B£¬CF£½__________

mov eax,1010b shr eax,2 shl eax,1 and eax,3

; EAX£½__________B

; EAX£½__________B£¬CF£½__________ ; EAX£½__________B£¬CF£½__________ ; EAX£½__________B£¬CF£½__________

mov esi,10011100b and esi,80h or esi,7fh xor esi,0feh

; ESI£½__________H ; ESI£½__________H ; ESI£½__________H ; ESI£½__________H

; Êý¾Ý¶Î qword 67883000h qword 67762000h ; ´úÂë¶Î

mov eax,dword ptr buffer1 mov edx,dword ptr buffer1+4 sub eax,dword ptr buffer2 sbb edx,dword ptr buffer2+4

£­ £­17

£¨4£©

¡²½â´ð¡³

£¨1£©

£¨2£©

£¨3£©

£¨4£©

rcr eax,1 or eax,3 xor eax,eax

; EAX£½__________B£¬CF£½__________ ; EAX£½__________B£¬CF£½__________

; EAX£½__________£¬CF£½__________£¬OF£½__________ ; ZF£½__________£¬SF£½__________£¬PF£½__________

; ESI£½9CH ; ESI£½80H ; ESI£½FFH ; ESI£½01H

; EAX£½1010B£¨¿ÉÒÔÓÐǰµ¼0£¬ÏÂͬ£© ; EAX£½0010B£¬CF£½1 ; EAX£½0100B£¬CF£½0 ; EAX£½0000B£¬CF£½0

; EAX£½1011B£¨¿ÉÒÔÓÐǰµ¼0£¬ÏÂͬ£© ; EAX£½101100B£¬CF£½0 ; EAX£½10110B£¬CF£½0 ; EAX£½10111B£¬CF£½0 ; EAX£½0£¬CF£½0£¬OF£½0 ; ZF£½1£¬SF£½0£¬PF£½1

¡²Ï°Ìâ3.24¡³3.24 ¸ø³öÏÂÁи÷ÌõÖ¸ÁîÖ´ÐкóAXµÄ½á¹û£¬ÒÔ¼°×´Ì¬±êÖ¾CF¡¢OF¡¢SF¡¢ZF¡¢PFµÄ״̬¡£ ¡²½â´ð¡³

mov ax,1470h and ax,ax or ax,ax xor ax,ax not ax

test ax,0f0f0h

; AX£½1470H ; AX£½1470H ; AX£½1470H ; AX£½0000H ; AX£½FFFFH ; AX£½0F0F0H

CF OF 0 0 0 0 0

0 0 0 0 0

SF 0 0 0 0 1

ZF 0 0 1 1 0

PF 0 0 1 1 1

mov ax,1470h and ax,ax or ax,ax xor ax,ax not ax

test ax,0f0f0h

£­ £­18

¡²Ï°Ìâ3.25¡³Âß¼­ÔËËãÖ¸ÁîÔõôʵÏÖ¸´Î»¡¢ÖÃλºÍÇó·´¹¦ÄÜ£¿

¡²½â´ð¡³

ANDÖ¸Áîͬ¡°0¡±ÓëʵÏÖ¸´Î»£¬ORÖ¸Áîͬ¡°1¡±»òʵÏÖÖÃ룬XORͬ¡°1¡±Òì»òʵÏÖÇó·´¡£

¡²Ï°Ìâ3.26¡³ËµÃ÷ÈçϳÌÐò¶ÎµÄ¹¦ÄÜ£º next:

mov ecx,16 mov bx,ax shr ax,1 rcr edx,1 shr bx,1 rcr edx,1 loop next mov eax,edx

¡²½â´ð¡³

½«AXµÄÿһλÒÀ´ÎÖØ¸´Ò»´Î£¬ËùµÃµÄ32λ½á¹û±£´æÓÚEAXÖС£ ¡²Ï°Ìâ3.27¡³

±à³Ì½«Ò»¸ö64λÊý¾ÝÂß¼­×óÒÆ3룬¼ÙÉèÕâ¸öÊý¾ÝÒѾ­±£´æÔÚEDX.EAX¼Ä´æÆ÷¶ÔÖС£

¡²½â´ð¡³ again:

¡²Ï°Ìâ3.28¡³±à³Ì½«Ò»¸öѹËõBCDÂë±äÁ¿£¨ÀýÈç92H£©×ª»»Îª¶ÔÓ¦µÄASCIIÂ룬Ȼºóµ÷ÓÃDISPC×Ó³ÌÐò£¨ÔÚÊäÈëÊä³ö×Ó³ÌÐò¿âÖУ©ÏÔʾ¡£ ¡²½â´ð¡³ bcd

; Êý¾Ý¶Î byte 92h ; ´úÂë¶Î mov al,bcd shr al,4 add al,30h call dispc mov al,bcd and al,0fh add al,30h ; ´úÂë¶Î mov ecx,3 shl eax,1 rcl edx,1 loop again

£­ £­19

call dispc

¡²Ï°Ìâ3.29¡³ÒÔMOVSÖ¸ÁîΪÀý£¬ËµÃ÷´®²Ù×÷Ö¸ÁîµÄÑ°Ö·ÌØµã£¬²¢ÓÃMOVºÍADDµÈÖ¸ÁîʵÏÖMOVSDµÄ¹¦ÄÜ£¨¼ÙÉèDF£½0£©¡£

¡²½â´ð¡³

MOVSÖ¸ÁîµÄ¹¦ÄÜÊÇ£º

ES:[EDI]¡ûDS:[ESI]£»ESI¡ûESI¡À1/2/4£¬EDI¡ûEDI¡À1/2/4 Óɴ˿ɿ´³ö´®²Ù×÷Ö¸ÁîµÄÑ°Ö·ÌØµã£º

Ô´²Ù×÷ÊýÓüĴæÆ÷ESI¼ä½ÓѰַ£¬Ä¬ÈÏÔÚDSÖ¸ÏòµÄÊý¾Ý¶Î£¬µ«¿ÉÒԸı䣻ĿµÄ²Ù×÷ÊýÓüĴæÆ÷EDI¼ä

½ÓѰַ£¬Ö»ÄÜÔÚESÖ¸ÏòµÄ¸½¼ÓÊý¾Ý¶Î£»Ã¿Ö´ÐÐÒ»´Î´®²Ù×÷£¬Ô´Ö¸ÕëESIºÍÄ¿µÄÖ¸ÕëEDI½«×Ô¶¯Ð޸ģº¡À1£¨×Ö½Ú£©£¬¡À2£¨×Ö£©»ò¡À4£¨Ë«×Ö£©¡£Ö¸ÕëµÄÔöÁ¿ºÍ¼õÁ¿¿ØÖÆÓÉDF±ê־ȷ¶¨£¬DF£½0£¬½øÐÐÔöÁ¿£»DF£½1£¬½øÐмõÁ¿¡£

¡²Ï°Ìâ3.30¡³ËµÃ÷ÈçϳÌÐòÖ´ÐкóµÄÏÔʾ½á¹û£º msg again:

; Êý¾Ý¶Î

byte 'WELLDONE',0 ; ´úÂë¶Î

mov ecx,(lengthof msg)-1 mov ebx,offset msg mov al,[ebx] add al,20h mov [ebx],al add ebx,1 loop again

mov eax,offset msg push eax mov eax,[esi] mov es:[edi],eax add esi,4 add edi,4

call dispmsg

Èç¹û½«ÆäÖÐÓï¾ä¡°mov ebx,offset msg¡±¸ÄΪ¡°xor ebx,ebx¡±£¬ÔòÀûÓÃEBX¼ä½ÓѰַµÄÁ½¸öÓï¾äÈçºÎÐÞ¸Ä

³ÉEBX¼Ä´æÆ÷Ïà¶ÔѰַ£¬¾Í¿ÉÒÔʵÏÖͬÑù¹¦ÄÜ£¿ ¡²½â´ð¡³

ÏÔʾ½á¹û£ºwelldone EBX¼Ä´æÆ÷Ïà¶ÔѰַ£º

mov al,msg[ebx] mov msg[ebx],al

£­ £­20

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)