×¢²á µÇ¼
±à³ÌÂÛ̳ ¡ú »ã±àÂÛ̳

Çë½Ì¸÷λÏÂÃæµÀÌâÊÇÈçºÎ½«Êý×éaryÊ×µØÖ·ËÍsiµÄ?

winco ·¢²¼ÓÚ 2005-04-15 17:58£¬ 928 ´Îµã»÷

Çë½Ì¸÷λÏÂÃæµÀÌâÊÇÈçºÎ½«Êý×éaryÊ×µØÖ·ËÍsiµÄ? parm_seg ¡¡¡¡¡¡segment ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ary ¡¡¡¡¡¡dw ¡¡¡¡¡¡¡¡100 dup(?) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡count ¡¡¡¡dw ¡¡¡¡¡¡¡¡100 ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sum ¡¡¡¡¡¡dw ¡¡¡¡¡¡¡¡? ¡¡¡¡¡¡¡¡parm_seg ¡¡¡¡¡¡ends

¡¡¡¡¡¡¡¡stack_seg ¡¡¡¡ segment ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dw ¡¡¡¡¡¡¡¡128 dup(?) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡tos ¡¡¡¡¡¡label ¡¡¡¡ word ¡¡¡¡¡¡¡¡stack_seg ¡¡¡¡ ends

¡¡¡¡code1 ¡¡¡¡¡¡¡¡¡¡segment ¡¡¡¡¡¡¡¡main ¡¡¡¡¡¡¡¡¡¡proc ¡¡¡¡¡¡¡¡ far ¡¡¡¡¡¡¡¡assume ¡¡¡¡¡¡¡¡cs:code1,ds:parm_seg,ss:stack_seg ¡¡¡¡start: ¡¡¡¡¡¡¡¡mov ¡¡¡¡¡¡¡¡¡¡ ax,stack_seg ¡¡¡¡¡¡¡¡mov ¡¡¡¡¡¡¡¡¡¡ ss,ax ¡¡¡¡¡¡¡¡mov ¡¡¡¡¡¡¡¡¡¡ sp,offset ¡¡¡¡tos

¡¡¡¡¡¡¡¡push ¡¡¡¡¡¡¡¡¡¡ds ¡¡¡¡¡¡¡¡sub ¡¡¡¡¡¡¡¡¡¡ ax,ax ¡¡¡¡¡¡¡¡push ¡¡¡¡¡¡¡¡¡¡ax ¡¡¡¡¡¡¡¡mov ¡¡¡¡¡¡¡¡¡¡ ax,parm_seg ¡¡¡¡¡¡¡¡mov ¡¡¡¡¡¡¡¡¡¡ ds,ax

¡¡¡¡¡¡¡¡mov ¡¡¡¡¡¡¡¡¡¡ bx,offset ¡¡¡¡ary ¡¡¡¡¡¡¡¡push ¡¡¡¡¡¡¡¡¡¡bx ¡¡¡¡¡¡¡¡mov ¡¡¡¡¡¡¡¡¡¡ bx,offset ¡¡¡¡count ¡¡¡¡¡¡¡¡push ¡¡¡¡¡¡¡¡¡¡bx ¡¡¡¡¡¡¡¡mov ¡¡¡¡¡¡¡¡¡¡ bx,offset ¡¡¡¡sum ¡¡¡¡¡¡¡¡push ¡¡¡¡¡¡¡¡¡¡bx ¡¡¡¡¡¡¡¡call ¡¡¡¡¡¡¡¡¡¡far ptr proadd ¡¡¡¡¡¡¡¡¡­¡­ ¡¡¡¡¡¡¡¡ret ¡¡¡¡¡¡¡¡main ¡¡¡¡¡¡¡¡¡¡endp ¡¡code1 ends

¡¡code2 ¡¡¡¡¡¡segment ¡¡¡¡¡¡¡¡assume ¡¡¡¡¡¡¡¡cs:code2 ¡¡¡¡¡¡; ¶¨Òåstack_strc½á¹¹Êý¾Ý ¡¡¡¡¡¡¡¡stack_strc ¡¡¡¡struc ¡¡¡¡¡¡¡¡¡¡save_bp ¡¡¡¡¡¡¡¡dw ¡¡¡¡¡¡¡¡? ¡¡¡¡¡¡¡¡¡¡save_cs_ip ¡¡¡¡ dw ¡¡¡¡¡¡¡¡2 dup(?) ¡¡¡¡¡¡¡¡¡¡par3_addr ¡¡¡¡¡¡dw ¡¡¡¡¡¡¡¡? ¡¡¡¡¡¡¡¡¡¡par2_addr ¡¡¡¡¡¡dw ¡¡¡¡¡¡¡¡? ¡¡¡¡¡¡¡¡¡¡par1_addr ¡¡¡¡¡¡dw ¡¡¡¡¡¡¡¡? ¡¡¡¡¡¡¡¡stack_strc ¡¡¡¡ends

¡¡¡¡¡¡¡¡proadd ¡¡¡¡¡¡proc ¡¡¡¡¡¡far ¡¡¡¡¡¡¡¡¡¡push ¡¡¡¡¡¡bp ¡¡¡¡¡¡¡¡¡¡mov ¡¡¡¡¡¡ bp,sp ¡¡¡¡¡¡¡¡¡¡push ¡¡¡¡¡¡ax ¡¡¡¡¡¡¡¡¡¡push ¡¡¡¡¡¡cx ¡¡¡¡¡¡¡¡¡¡push ¡¡¡¡¡¡si ¡¡¡¡¡¡¡¡¡¡push ¡¡¡¡¡¡di ¡¡¡¡¡¡¡¡¡¡mov ¡¡¡¡¡¡ si,[bp].par1_addr ¡¡¡¡; Êý×éaryÊ×µØÖ·ËÍsi ¡¡¡¡¡¡¡¡¡¡mov ¡¡¡¡¡¡ di,[bp].par2_addr ¡¡¡¡; countµ¥ÔªµØÖ·ËÍdi ¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡cx,[di] ¡¡¡¡¡¡¡¡¡¡¡¡¡¡; countµ¥ÔªÄÚÈÝËÍdi ¡¡¡¡¡¡¡¡¡¡mov¡¡¡¡¡¡¡¡di,[bp].par3_addr ¡¡¡¡; sumµ¥ÔªµØÖ·ËÍdi ¡¡¡¡¡¡¡¡¡¡xor ¡¡¡¡¡¡ ax,ax ¡¡¡¡next: add ¡¡¡¡¡¡ ax,[si] ¡¡¡¡¡¡¡¡¡¡add ¡¡¡¡¡¡ si,2 ¡¡¡¡loop¡¡next ¡¡¡¡¡¡¡¡¡¡mov ¡¡¡¡¡¡ [di],ax ¡¡¡¡¡¡¡¡¡¡¡¡¡¡; ÀÛ¼ÓºÍËÍsumµ¥Ôª ¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡di ¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡si ¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡cx ¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡ax ¡¡¡¡¡¡¡¡¡¡pop¡¡¡¡¡¡¡¡bp ¡¡¡¡¡¡¡¡¡¡ret¡¡¡¡¡¡¡¡6 ¡¡¡¡¡¡proadd ¡¡¡¡endp ¡¡¡¡code2 ends ¡¡¡¡¡¡end ¡¡¡¡¡¡¡¡start [BP]Ëü²»ÊǽṹÌå,ËüÔõô¿ÉÒÔÒÔmov ¡¡¡¡¡¡ si,[bp].par1_addr ¡¡? ¶øÇÒÔڽṹ¡¡stack_strc ¡¡¡¡strucÖÐpar1_addr ¡¡ÊÇûÓи³ÖµµÄ,[BP]ÊÇÔõô»áÆ«ÒÆµ½ ¶ÑÕ»ÖÐARYµÄλÖÃÄØ?

0 »Ø¸´
1