·¢²¼Ê±¼ä : ÐÇÆÚÈÕ ÎÄÕÂ΢»úÔÀí½Ì°¸¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ96294b92b0717fd5370cdc0e
΢»úÔÀí¼°½Ó¿Ú¼¼Êõ
¢Ú¼Ó1Ö¸ÁîINC
INCÖ»ÓÐ1¸ö²Ù×÷Êý£¬Ö¸ÁîÔÚÖ´ÐÐʱ£¬½«²Ù×÷ÊýµÄÄÚÈݼÓ1¡£Ò»°ãÓÃÔÚÑ»·³ÌÐòÖÐÐÞ¸ÄÖ¸ÕëºÍÑ»·´ÎÊý¡£Ëü²»Ó°Ïì½øλ±êÖ¾CF¡£
2¡¢¼õ·¨Ö¸Áî
SUB SBB DEC NEG CMP
¢Ù²»´ø½èλµÄ¼õ·¨Ö¸ÁîSUB£»´ø½èλµÄ¼õ·¨Ö¸ÁîSBB ¸ñʽ£ºSUB DST£¬SRC£» SBB DST£¬SRC
¹¦ÄÜ£º(DST)¡û(DST)-(SRC)£»(DST)¡û(DST)-(SRC)-CF ˵Ã÷£ºÕâÁ½ÌõÖ¸ÁîµÄÖ´Ðж¼»áÓ°ÏìÌõ¼þÂë±êÖ¾¡£
Òç³ö(OF)µÄÅжϣºÈôÁ½¸ö²Ù×÷Êý·ûºÅÏà·´£¬¶ø½á¹ûµÄ·ûºÅÓë¼õÊýÏàͬ£¬ÔòÒç³ö(OF=1)¡£
¢Ú±È½ÏÖ¸ÁîCMP ¸ñʽ£ºCMP OPR1£¬OPR2 ¹¦ÄÜ£º(OPR1)-(OPR2)
˵Ã÷£ºÖ´Ðмõ·¨²Ù×÷£¬µ«²»±£´æ½á¹û£¬Ö»¸ù¾Ý½á¹ûÉèÖÃÏàÓ¦µÄÌõ¼þÂë±êÖ¾¡£CMPÖ¸ÁîºóÃæÍùÍù¸ú×ÅÒ»ÌõÌõ¼þתÒÆÖ¸Á¸ù¾Ý±È½Ï½á¹û²úÉú²»Í¬µÄ·ÖÖ§¡£
Àý£ºÒÑÖªÊý×éÊ×µØַΪ1000H£¬¶ÎµØÖ·ÒÑ·ÅÔÚDSÖУ¬Ä©×ÖΪ0FFFFH£¬ÊÔͳ¼ÆÆäÖÐ0µÄ¸öÊý·ÅÔÚÄ©×Öµ¥Ôª¡£
MOV DX£¬0 LEA SI£¬[1000H]
LOP£ºCMP WORD PTR [SI]£¬FFFFH JZ END0
CMP WORD PTR [SI]£¬0 JNZ NEXT INC DX NEXT£ºADD SI£¬2 JMP LOP END0£ºMOV [SI]£¬DX
17
΢»úÔÀí¼°½Ó¿Ú¼¼Êõ
BEGIN 0¡ú(DX) 1000H¡ú(SI) [SI]=FFFFH? N N [SI]=0? Y (DX)¡û(DX)+1 ±£´æ½á¹û END (SI)¡û(SI)+2
3¡¢³Ë·¨Ö¸Áî
ÎÞ·ûºÅÊý³Ë·¨Ö¸ÁîMUL ´ø·ûºÅÊý³Ë·¨Ö¸ÁîIMUL ¸ñʽ£ºMUL SRC£»IMUL SRC
¹¦ÄÜ£º(AX)¡û(AL)¡Á(SRC)£»(DX£¬AX)¡û(AX)¡Á(SRC)
˵Ã÷£º½øÐг˷¨ÔËËãʱ£¬Èç¹ûÁ½¸ö8λÊý¾ÝÏà³Ë£¬»áµÃµ½Ò»¸ö16λµÄ³Ë»ý£»Èç¹ûÁ½¸ö16λÊýÏà³Ë£¬»áµÃµ½Ò»¸ö32λµÄ³Ë»ý¡£8086ÔÚÖ´Ðг˷¨Ö¸Áîʱ£¬ÓÐÒ»¸ö³ËÊý×ÜÊÇ·ÅÔÚAL»òÕßAXÖС£µ±µÃµ½16λ»ýʱ£¬½á¹û·ÅÔÚAXÖУ»¶øµÃµ½32λ»ýʱ£¬½á¹û·ÅÔÚDXºÍAXÁ½¸ö¼Ä´æÆ÷ÖУ¬DXÖÐΪ³Ë»ýµÄ¸ß16룬AXÖÐΪ³Ë»ýµÄµÍ16λ¡£
4¡¢³ý·¨Ö¸Áî
ÎÞ·ûºÅÊý³ý·¨Ö¸ÁîDIV ´ø·ûºÅÊý³ý·¨Ö¸ÁîIDIV ¸ñʽ£ºDIV SRC£»IDIV SRC
˵Ã÷£º8086Ö´Ðгý·¨ÔËËãʱ£¬¹æ¶¨³ýÊý±ØÐëΪ±»³ýÊýµÄÒ»°ë³¤¶È¡£¼´±»³ýÊýΪ16λʱ£¬³ýÊýΪ8룬±»³ýÊýΪ32λʱ£¬³ýÊýΪ16λ¡£16λµÄ±»³ýÊý·ÅÔÚAXÖУ¬32λµÄ±»³ýÊý·ÅÔÚDXºÍAXÖС£µ±±»³ýÊýΪ16룬³ýÊýΪ8λʱ£¬µÃµ½8λµÄÉÌ
18
΢»úÔÀí¼°½Ó¿Ú¼¼Êõ
·ÅÔÚALÖУ¬8λµÄÓàÊý·ÅÔÚAHÖС£µ±±»³ýÊýΪ32룬³ýÊýΪ16λʱ£¬µÃµ½16λµÄÉÌ·ÅÔÚAXÖУ¬16λµÄÓàÊý·ÅÔÚDXÖС£ ËÄ¡¢Âß¼ÔËËã¼°ÒÆλָÁî
1¡¢Âß¼ÔËËãÖ¸Áî AND OR NOT XOR TEST
NOTΪµ¥²Ù×÷ÊýÖ¸Á²»ÔÊÐíʹÓÃÁ¢¼´Êý£¬²»Ó°Ïì±ê־λ¡£ÆäËüËÄÌõÖ¸ÁîΪ˫²Ù×÷ÊýÖ¸ÁʹCFºÍOFΪ0£¬AFÎÞ¶¨Ò壬¶øSF¡¢ZFºÍPFÔò¸ù¾ÝÔËËã½á¹ûÉèÖá£
¢ÙAND
¸ñʽ£ºAND DST£¬SRC ¹¦ÄÜ£º²Ù×÷ÊýijλÇå0¡£ ¢ÚOR ²Ù×÷ÊýijλÖÃ1¡£ ¢ÛXOR ¶Ô²Ù×÷ÊýÇå0¡£
¢ÜTEST Ö´ÐÐANDÔËË㣬²»±£´æ½á¹û£¬Ò»°ãÓÃÀ´¼ì²âÖ¸¶¨Î»ÊÇ1»¹ÊÇ0 2¡¢ÒÆλָÁî
SHL SHR SAL SAR ROL ROR RCL RCR ˵Ã÷£º¸ñʽÏàͬ£¬Ë«²Ù×÷ÊýÖ¸Áî
ÎÞ·ûºÅÊýʹÓÃÂß¼ÒÆλָÁ´ø·ûºÅÊýʹÓÃËãÊõÒÆλָÁî ×óÒÆÒ»´ÎÏ൱ÓÚ³Ë2£¬ÓÒÒÆÒ»´ÎÏ൱ÓÚ³ý2 ÒÆλ´ÎÊýn>1ʱ£¬n±ØÐëÔ¤ÏÈ´æÈëCLÖÐ ÒÆλָÁîÓ°ÏìSF¡¢ZF¡¢PF Îå¡¢´®²Ù×÷Ö¸Áî
MOVS CMPS SCAS LODS STOS 1¡¢´®´«ËÍMOVSB MOVSW
¹¦ÄÜ£º°ÑSIÖ¸ÏòµÄÊý¾Ý¶ÎÖеÄÒ»¸ö×Ö½Ú»ò×Ö´«Ë͵½ÓÉDIÖ¸ÏòµÄ¸½¼Ó¶ÎÖеÄÒ»¸ö×Ö½Ú»ò×ÖÖÐÈ¥£¬Í¬Ê±¸ù¾Ý·½Ïò±êÖ¾¼°Êý¾Ý¸ñʽÐÞ¸ÄSIºÍDI¡£
Àý£ºÊÔ½«×Ö·û´®MESS1´«Ë͵½MESS2ÇøÓò£¬ÉèMESS1ºÍMESS2µÄ¶ÎµØÖ·ÒÑ·Ö±ð´æÈëDSºÍESÖС£
·½·¨1£ºLEA SI£¬MESS1 LEA DI£¬MESS2
19
΢»úÔÀí¼°½Ó¿Ú¼¼Êõ
MOV CX£¬8 NEXT£ºMOV AL£¬[SI] MOV [DI]£¬AL INC SI INC DI DEC CX JNZ NEXT
·½·¨2£ºÊ¹Óô®´«ËÍÖ¸Áî¡£ÔÚʹÓøÃÖ¸Áî֮ǰ£¬±ØÐëÏÈ×öËļþÊ£º
a.ÉèÖ÷½Ïò±êÖ¾
b.Ô´´®ÆðʼµØÖ·¡úDS£ºSI c.Ä¿µÄ´®ÆðʼµØÖ·¡úES£ºDI d.Êý¾Ý¸öÊý¡úCX CLD
LEA SI£¬MESS1 LEA DI£¬MESS2 MOV CX£¬8 REP MOVSB
2¡¢´®±È½ÏÖ¸ÁîCMPSB CMPSW ʹÓÃǰ׺REPEºÍREPNE
REPE/REPZ£ºÁ½ÊýÏàµÈ¾Í¿ÉÒÔ¼ÌÐø±È½Ï£»ÈçÓöµ½Á½Êý²»ÏàµÈ¿ÉÌáÇ°½áÊø¡£ REPNE/REPNZ£ºÁ½Êý±È½Ï²»ÏàµÈ£¬¾Í¿ÉÒÔ¼ÌÐø´®±È½ÏÖ¸ÁÈçÓöµ½Ä³´Ë±È½ÏÏàµÈ£¬Ôò¿ÉÌáÇ°½áÊø¡£
Àý£º±àдһ¸ö³ÌÐò¶Î£¬±È½Ï5¸ö×Ö½Ú×Ö·û´®OLDSºÍNEWS£¬Èç¹ûOLDS×Ö·û´®²»Í¬ÓÚNEWS×Ö·û´®ÔòNEW_LESS³ÌÐò£»·ñÔò˳ÐòÖ´ÐгÌÐò¡£¼ÙÉèÔÚÊý¾Ý¶ÎºÍ¸½¼Ó¶ÎÖж¨ÒåÁËÁ½¸ö×Ö·û´®¡£
CLD
LEA SI£¬MESS1 LEA DI£¬MESS2 MOV CX£¬8
20