£¨£¨SP£©+1£¬£¨SP£©£©¡û£¨SRC£©
PUSH Ö¸ÁîËÄÖÖ¸ñʽ£º
PUSH reg Àý£º PUSH BX
PUSH mem Àý£º PUSH [BX] PUSH segreg Àý£º PUSH CS
PUSH data
data ÊÇÁ¢¼´Êý£¬ÔÚ8086/8088 Öв»ÔÊÐí¡£
£¨2£©POP³öÕ»Ö¸Áî ¸ñʽ£ºPOP DST
²Ù×÷£º£¨DST£©¡û£¨£¨SP£©+1£¬£¨SP£©£©
£¨SP£©¡û£¨SP£©+2
POP Ö¸ÁîÔÊÐíµÄ¸ñʽ£º
POP reg Àý £º POP DX POP mem Àý£º POP VALUE POP segreg segreg²»ÄÜÓà CS Àý£º POP DS ¡ª¡ª ÕýÈ·
POP CS ¡ª¡ª ´íÎó
×¢Ò⣺
£¨1£©¶ÑÕ»µÄ´æÈ¡±ØÐëÒÔ×ÖΪµ¥Î»£¬²Ù×÷ÊýSRC¡¢DST±ØÐëÊÇ×Ö¡¢Ë«×Ö»òËÄ×Ö£¬¿ÉÒÔÓø÷ÖÖѰַ·½Ê½£¬8086/8088Öв»ÄÜÓÃÁ¢¼´Êý¡£
25
£¨2£©PUSHºÍPOP²Ù×÷²»Ó°Ïì±ê־λ¡£
Àý3.29 PUSH AX
ÈôÖ¸ÁîÖ´ÐÐǰ£¨SS£©= 3000H
£¨SP£©= 100H £¨AX£©= 2107H
Ö¸ÁîÖ´ÐÐÇé¿öÈçͼ3.10Ëùʾ¡£ ¶ÑÕ»¶Î ¶ÑÕ»¶Î
µÍµØÖ·
£¨SS£© £¨SS£© 07H £¨SP£© 21H ½øÕ»·½Ïò £¨SP£© ¸ßµØÖ·
Ö´Ðкó Ö´ÐÐǰ
ͼ3.10 PUSH AXÖ´ÐÐÇé¿ö
¿É¼û£ºÖ¸ÁîÖ´Ðкó£¬AXµÄ¸ß×Ö½Ú´æÈë¶ÑÕ»µÄ¸ßµØÖ·ÖУ¬µÍ×Ö½Ú´æÈëµÍµØÖ·ÖУ¬SSÖµ²»±ä£¬SP
26
Öµ¼õ2¡£
´Ëʱ£¨SP£©= 100H ¨C2 = 0FEH£¬ Ö¸ÏòÕ»¶¥ÔªËØ07H¡£
Àý3.30 POP AX
ÈôÖ¸ÁîÖ´ÐÐǰ£¨SS£©= 3000H£¬£¨SP£©= 0FEH£¬AXֵδ֪¡£
Ö¸ÁîÖ´Ðк󣬽«Õ»¶¥ÔªËØ07HËÍÈëAL£¬½«Õ»¶¥µØÖ·¼Ó1µ¥ÔªÄÚÈÝËÍÈëAH£¬
Ôò£¨AX£©= 2107H£¬SSÖµ²»±ä£¬SPÖµ¼Ó2£¬ ´Ëʱ£¨SP£©= 0FEH + 2 = 100H
Ö¸ÁîÖ´ÐÐÇé¿öÈçͼ3.11Ëùʾ¡£
27
£¨SS£© £¨SS£© µÍµØÖ·
£¨SP£© 07H 21H Ö´ÐÐǰ
£¨SP£© 07H 21H Ö´Ðкó
¸ßµØÖ· ³öÕ»·½Ïò
ͼ3.11 POP AXÖ´ÐÐÇé¿ö
¶ÑÕ»ÔÚ»ã±àÓïÑÔ³ÌÐòÉè¼ÆÖÐÆð×ÅÖØÒªµÄ×÷Óã¬Ëü¿ÉÒÔ±£´æ¡¢»Ö¸´¼Ä´æÆ÷ÖеÄÄÚÈÝ£»ÔÚ×Ó³ÌÐòºÍÖжϳÌÐòÖУ¬ÓöÑÕ»±£´æ·µ»ØµØÖ·£¬±£»¤ºÍ»Ö¸´CPU¹¤×÷¼Ä´æÆ÷ÄÚÈÝ£¬ÐÎʽÈ磺
PUSH AX £»±£»¤AX¡¢BXÄÚÈÝ PUSH BX
£»Öмä³ÌÐòÓõ½AX¡¢BX POP BX £»»Ö¸´AX¡¢BXÔÀ´ÄÚÈÝ POP AX
3¡¢½»»»Ö¸Áî XCHG
¸ñʽ£ºXCHG OPR1£¬OPR2 ²Ù×÷£º£¨ORP1£©?£¨OPR2£©
¸ÃÖ¸Áî½»»»¶þ¸ö²Ù×÷ÊýµÄÄÚÈÝ£¬¶þ¸ö²Ù×÷ÊýÖУ¬±ØÐëÓÐÒ»¸öÔڼĴæÆ÷ÖУ¬²»ÔÊÐíʹÓöμĴæÆ÷ºÍÁ¢¼´Êý¡£
Àý3.34 XCHG BX£¬[BP+SI] Ö¸ÁîÖ´ÐÐǰ£º £¨BX£©= 6F30H£¬£¨BP£©= 0200H£¬ £¨SI£©= 0046H£¬£¨SS£©= 2F00H£¬ ×Ö£¨2F246H£©= 4154H
28