µÚËÄÕ µÚÒ»¸ö³ÌÐò
»ã±àÖ¸ÁÔÚ»ã±àÓïÑÔÔ´³ÌÐòÖУ¬ÓжÔÓ¦µÄ»úÆ÷Â룬¿ÉÒÔ±»±àÒëΪ»úÆ÷Ö¸Á×îÖÕΪCPUËùÖ´ÐеÄÖ¸Á
αָÁûÓжÔÓ¦µÄ»úÆ÷Ö¸Á×îÖÕ²»±»CPUÖ´ÐеÄÖ¸Á αָÁîÊÇÓɱàÒëÆ÷À´Ö´ÐеÄ
αָÁî¿ÉÒÔÍê³ÉÈçÊý¾Ý¶¨Òå¡¢·ÖÅä´æ´¢Æ÷¡¢Ö¸Ê¾³ÌÐò½áÊøµÈ¹¦ÄÜ
¶Î¶¨Òåα²Ù×÷£º ¸ñʽ£º¶ÎÃû segment ¡ ¶ÎÃû ends
segment±íʾ¶¨ÒåÒ»¸ö¶ÎµÄ¿ªÊ¼ ends±íʾһ¸ö¶ÎµÄ½áÊø ÖмäµÄ²¿·ÖÊǶÔÓ¦¶ÎµÄÄÚÈÝ
assumeα²Ù×÷£º
¹¦ÄÜ£º½«Ä³¸ö¶Î¼Ä´æÆ÷ºÍ³ÌÐòÖÐij¸öÓöζ¨Òåα²Ù×÷Ëù¶¨ÒåµÄ¶ÎÏà¹ØÁª ¸ñʽ£ºassumecs:codesg,ds:datasg
cs:codesg ¸æËß±àÒëÆ÷°Ñ´úÂë¶ÎµÄÃû×ÖºÍcs¼Ä´æÆ÷ÏàÁªÏµ
³ÌÐò½áÊøÎ±²Ù×÷ ¸ñʽ£ºend
¹¦ÄÜ:½áÊøÕû¸ö³ÌÐò£¬³öÏÖÔÚ³ÌÐò×îºóµÄÓï¾äÖÐ
ÔÚ»ã±àÓïÑÔÖУ¬ÒÔ¡°£»¡±¿ªÊ¼´Ëºó¸ÃÐеÄËùÓÐ×Ö·û¾ùΪעÊÍ£» ×¢ÊÍ¿ÉÒÔ×ÔÕ¼Ò»ÐУ¬Ò²¿ÉÒÔºÍÖ¸ÁîͬռһÐУ»
×¢ÊÍÖ»³öÏÖÔÚ»ã±àÔ´³ÌÐòÖУ¬¾±àÒë²»»á²úÉú»úÆ÷Â룻 ×¢ÊÍ¿ÉÒÔÓÃÀ´ËµÃ÷³ÌÐò»òÕßÓï¾ä¹¦ÄÜ£¬Ê¹³ÌÐò¸üΪÇåÎú
Ò»¸ö³ÌÐò½áÊøºó£¬½«cpuµÄ¿ØÖÆÈ¨½»»¹¸øÊ¹ËüµÃÒÔÔËÐеijÌÐòµÄ¹ý³Ì³ÆÎª³ÌÐò·µ»Ø
³ÌÐò·µ»ØµÄ·½Ê½£º ÔÚ³ÌÐòĩβÌí¼Ó·µ»ØÖ¸Á mov ax,4c00h int 21h
µÚÎåÕ [BX]ºÍloopÖ¸Áî
LoopÖ¸Áî
1) ÔÚcxÖдæ·ÅÑ»·´ÎÊý
2) loopÖ¸ÁîÖеıêºÅËù±êʶµØÖ·ÒªÔÚÇ°Ãæ
3) Ҫѻ·Ö´ÐеijÌÐò¶Î£¬Ð´ÔÚ±êºÅºÍloopÖ¸ÁîµÄÖÐ¼ä ¼´£º
mov cx,Ñ»·´ÎÊý s: Ñ»·Ö´ÐеijÌÐò¶Î loop s
ÔÚDebugÖиú×ÙÓÃloopÖ¸ÁîʵÏÖµÄÑ»·³ÌÐò
ÔÚ»ã±àÔ´³ÌÐòÖÐ,Êý¾Ý²»ÄÜÒÔ×Öĸ¿ªÍ·
DebugºÍ»ã±à±àÒëÆ÷masm¶ÔÖ¸ÁîµÄ²»Í¬´¦Àí
(1) ÔÚ»ã±àÔ´³ÌÐòÖÐ,Èç¹ûÓÃÖ¸Áî·ÃÎÊÒ»¸öÄÚ´æµ¥Ôª,ÔòÔÚÖ¸ÁîÖбØÐëÓá°[¡]¡±À´±íʾÄÚ´æµ¥Ôª,Èç¹ûÔÚ¡°[ ]¡±ÀûÓÃÒ»¸ö³£Á¿idataÖ±½Ó¸ø³öÄÚ´æµ¥ÔªµÄÆ«ÒÆµØÖ·,¾ÍÒªÔÚ¡°[ ]¡±µÄÇ°ÃæÏÔʽµØ¸ø³ö¶ÎµØÖ·ËµÔڵĶμĴæÆ÷. ±ÈÈç
mov al, ds:[0]
Èç¹ûûÓÐÔÚ¡°[ ]¡±Ç°ÃæÏÔʽµØ¸ø³ö¶ÎµØÖ·ËùÔڶμĴæÆ÷,±ÈÈç mov al,[0]
ÄÇô±àÒëÆ÷masm½«°ÑÖ¸ÁîÖеġ°[idata]¡±½âÊÍΪ¡°idata¡±.
(2) Èç¹ûÔÚ¡°[ ]¡±ÀïÓüĴæÆ÷,±ÈÈçbx,¼ä½Ó¸ø³öÄÚ´æµ¥ÔªµÄÆ«ÒÆµØÖ·,Ôò¶ÎµØÖ·Ä¬ÈÏÔÚdsÖÐ.µ±È»,Ò²¿ÉÒÔÏÔʽµØ¸ø³ö¶ÎµØÖ·ËùÔڵĶμĴæÆ÷. ¶Îǰ׺
ÓÃÓÚÏÔʽµØÖ¸Ã÷ÄÚ´æµ¥ÔªµÄ¶ÎµØÖ·µÄ¡°ds:¡±¡°cs:¡±¡°ss:¡±¡°es:¡±,ÔÚ»ã±àÓïÑÔÖгÆÎª¶Îǰ׺.
Ò»¶Î°²È«µÄ¿Õ¼ä
DOS·½Ê½ÏÂ,Ò»°ãÇé¿ö,0:200~0:2ff¿Õ¼äÖÐûÓÐϵͳ»òÆäËû³ÌÐòÉϵÄÊý¾Ý»ò´úÂë.