ÁÖÀÎÀå ¿Ð) ÷ºÎµÇ¾îÀÖ´Â ¹®¼­´Â Á¶ÇÕÇüÀ¸·Î ÀÛ¼ºµÇ¾î ÀÖ½À´Ï´Ù. ---------------------------------------------------------- [19] Á¦¸ñ : [ÃʱÞ-º¸Ãæ] ³í¸®¿¬»ê¿¡ ´ëÇؼ­... ¿Ã¸°ÀÌ : ±î¸Á¹ú·¹(Á¤ÅÂ½Ä ) 94/12/12 23:53 ÀÐÀ½ : 303 °ü·ÃÀÚ·á ¾øÀ½ °­Á°¡ ´Ê¾îÁø Á¡¿¡ ´ëÇØ »ç°ú µå¸³´Ï´Ù. Á¦°¡ °ð ±º´ë¸¦ °¡±â ¶§¹®¿¡ ÀÌ·± Àú·± ÀÏ Á» ó¸®ÇÏ´Ù º¸´Ï 2ÁÖÀÏ Á¤µµ ÀüÇô ¸øµé¾î ¿À°Ô ‰ç¾ú½À´Ï´Ù. ±×·³ °è¼Ó Çؼ­... À̹ø¿¡´Â ³í¸® ¿¬»ê ¸í·É¿¡ ´ëÇØ ¾Ë¾Æ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ¾Æ¸¶ ´ëºÎºÐ ¿©·¯ºÐµéÀº °íµîÇб³ °úÁ¤¿¡¼­ ³í¸® ¿¬»ê¿¡ ´ëÇØ °£·«È÷ ¹è¿ö º¸¼ÌÀ» ÁÙ·Î ¾Ð´Ï´Ù. Áï ³í¸® ¿¬»ê¿¡´Â ´ÙÀ½°ú °°Àº ¸í·ÉµéÀÌ Àִµ¥... AND OR NOT XOR À§¿Í °°Àº ³×°³°¡ ÄÄÇ»ÅÍ¿¡¼­ ´ëÇ¥ÀûÀ¸·Î ¾²ÀÌ´Â ³í¸®¿¬»ê ¸í·É¾îµé ÀÔ´Ï´Ù. ±×·³ ¿ì¼± ÇϳªÇϳª ÀÚ¼¼ÇÏ°Ô ¼³¸íÀ» ÇØ ³ª°¡°Ú½À´Ï´Ù. Çб³¿¡¼­ ¹è¿ï¶§´Â 'T,F'¶ó´Â °ÍÀ» ¸¹ÀÌ »ç¿ë ÇÏ¿´´Âµ¥¿ä, PC¿¡¼­´Â ÀÌ 'T,F' ¶ó´Â °Í ´ë½Å¿¡ ÇÁ·Î¼¼¼­°¡ ¾Ë¾Æ ¸ÔÀ» ¼ö ÀÖ´Â ³»¿ëÀÎ ¼ýÀÚ·Î ¹Ù²Ù¾î ¿¬»êÀÌ µÇ¾î Áý´Ï´Ù. Áï ÇÁ·Î¼¼¼­°¡ ¾Ë ¼ö ÀÖ´Â ¼ýÀÚ´Â 2Áø¼ö ¹Û¿¡ ¾øÀ¸¹Ç·Î ÀÌ 'T,F'¸¦ 2Áø¼ö·Î ´ëÄ¡½ÃÄÑ »ç¿ë Çϵµ·Ï ÇÕ´Ï´Ù. ³í¸® ¿¬»ê¿¡¼­´Â 'T,F'µÎ°³ÀÎ °Í°ú °°ÀÌ 2Áø¼ö ¶ÇÇÑ '0,1'À̶ó´Â µÎ°³ÀÇ ¼ýÀÚ¸¸ÀÌ Á¸Àç ÇÕ´Ï´Ù. ±×·³ ½±ÁÒ? T ( TRUE ) = 1 F ( FULSE ) = 0 À§¿Í °°ÀÌ Á¤ÀǸ¦ ÇÏ¸é ³í¸® ¿¬»êµµ ½ÄÀºÁ× ¸Ô±â... ù°·Î AND¿¡ ´ëÇؼ­... ¿ì¼± AND¿¬»ê¿¡ ´ëÇÑ Áø¸®Ç¥¸¦ ÀÛ¼ºÇØ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ;-----------------; ; X ; Y ; X AND Y ; ;-----------------; ; F ; F ; F ; ; F ; T ; F ; ; T ; F ; F ; ; T ; T ; T ; ;-----------------; À§¿Í °°Àº Áø¸®Ç¥¸¦ ¾ò½À´Ï´Ù. ( Çì..´Ù ¾Æ½Å´Ù±¸ Çصµ Ȥ½Ã³ª ±î¸ÔÀ¸¼ÌÀ»Áöµµ ¸ð¸£½Ã´Â ºÐµéÀ» À§ÇØ... ) AND ¶ó´Â °ÍÀº À§¿¡¼­ º¸¸é ¾Ë ¼ö ÀÖµíÀÌ µÎ°³ÀÇ ¿ÀÆÛ·£µå ( ÇÇ¿¬»êÀÚ )¸¦ ÇÊ¿ä·Î ÇÏ´Â ³í¸® ¿¬»ê ¸í·É¾î ÀÔ´Ï´Ù. À§ÀÇ Áø¸®Ç¥¿¡¼­´Â µÎ °³ÀÇ ÇÇ ¿¬»êÀÚ°¡ ¹Ù·Î 'X' ¿Í 'Y'°¡ µÇ´Â °ÍÀÌ°ÚÁÒ. ÀÌ AND¶ó´Â °ÍÀº µÎ °³ÀÇ ¿ÀÆÛ·£µå ¸ðµÎ Âü °ª ( 'T'¶ó´Â °ª ) À» °¡Á®¾ß¸¸ °á°ú°ªÀÌ Âü( T )ÀÌ µÇ´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÀÌÁ¦ ±â¾ïÀÌ Á¶±Ý¾¿ µÇ»ì¾Æ ³ª½Ç¶ó³ª ¸ð¸£°Ú³×¿ä. ±×·³ ÀÌ Áø¸®Ç¥¸¦ Á¶±Ý ¹Ù²Ù¾î¼­ À̸¦ 2Áø¼öÀÇ ¼ýÀÚ 0 °ú 1 À̶ó´Â ¼ýÀÚ·Î ¹Ù²Ù¾î ´Ù½Ã ±×·Á º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ;-----------------; ; X ; Y ; X AND Y ; ;-----------------; ; 0 ; 0 ; 0 ; ; 0 ; 1 ; 0 ; ; 1 ; 0 ; 0 ; ; 1 ; 1 ; 1 ; ;-----------------; À§¿Í °°ÀÌ º¯È¯ÀÌ µÇ¾î Áý´Ï´Ù. Áï Àü¿¡ ¸»¾¸ µå·È´Ù ½ÃÇÇ T ´Â 1 F ´Â 0 À¸·Î °¢°¢ ¹Ù²Ù¾î Áֱ⸸ ÇÏ¸é µË´Ï´Ù. ±×·³ ÀÌÁ¦ ÀÌ AND ¿¬»ê ¸í·ÉÀÌ PC »ó¿¡¼­ ¾î¶»°Ô »ç¿ë µÇ¸ç ¾î¶°ÇÑ Ã³¸®¸¦ ÇÏ´ÂÁö, ±×¸®°í ¾î´À¶§ ÀÌ·¯ÇÑ ¿¬»ê ¸í·ÉÀÌ ÇÊ¿äÇÑÁö °£´ÜÈ÷ ¾Ë¾Æ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ÀÌÁ¦±îÁö ¿¬»ê ó¸® ¸í·ÉÀº ¸ðµÎ 1ºñÆ® Å©±âÀÇ ¿¬»ê ¸í·ÉÀ¸·Î Á¦ÇÑµÈ ¿¹¸¦ º¸¿´ ½À´Ï´Ù. ÇÏÁö¸¸ ÀÌ AND ¿¬»êÀ̶ó´Â °ÍÀÌ 1ºñÆ® ¿¬»ê¸¸À» Çϱâ À§ÇÑ °ÍÀ̶ó°í ÇÑ´Ù¸é... 'Ǫ~~~' ÇÏ°í ÇѼû¸¸ ³ª¿À°ÚÁÒ... ±×·³ ´ÙÀ½°ú °°Àº °ÍÀ» º¾½Ã´Ù. X = 00101101 Y = 10110110 ( ÀÌ ¼ýÀÚµéÀÇ °ªÀº ¸ðµÎ 2Áø¼ö ÀÔ´Ï´Ù. Áï, X ÀÇ °ªÀº ¿ø·¡ 45 ÀÌ°í Y´Â 182 Àε¥, ÀÌ °ªµéÀ» ¸ðµÎ 2Áø¼ö·Î ¹Ù²Ù¾î ³í¸® ¿¬»êÀ» Çϴµ¥ ¾Ë¾Æº¸±â ÆíÇϵµ·Ï Çß½À´Ï´Ù. ) À§¿Í °°ÀÌ X,Y ÀÇ °ªÀ» Á¤ÀÇ ÇÏ¿´´Ù°í ÇØ º¸ÁÒ. ±×·³ Çб³ ¼öÇÐ ½Ã°£¿¡ ¹è¿î °³³äÀ» ³¯·Á ¹ö¸®°í »õ·Ó°Ô PCÂ÷¿øÀÇ ³í¸® ¿¬»êÀ¸·Î µé¾î°¡¼­ À§ÀÇ µÎ º¯¼öÀÇ °ªµéÀ» AND¿¬»êÀ» ÇØ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. AND X,Y ¾Ñ! À§ÀÇ °ÍÀº ¹«½¼ ¶æÀ̳İí¿ä? ¿ø·¡ÀÇ Àǹ̴ 'X AND Y'¿Í °°Àº Àǹ̸¦ Áö´Õ´Ï´Ù. ÇÏÁö¸¸ PC»ó¿¡¼­ »ç¿ëÇÏ´Â ¹®¹ýÀ» µû¸£±â À§ÇØ À§¿Í °°Àº Ç¥±â¸¦ ÇÏ°Ô µÈ °ÍÀÔ´Ï´Ù. Áï 'X °ª°ú Y µÎ°³ÀÇ °ªÀ» ¼­·Î AND ¿¬»ê ½ÃÄѶó'¶ó´Â ¸í·É¾î°¡ µÇ´Â °ÍÀÔ´Ï´Ù. ±×·³ °á°ú °ªÀº ¾î¶²°Ô ³ª¿À´ÂÁö »ìÆì º¸ÁÒ. 00101101 <-- X °ª 10110110 <-- Y °ª AND )________ °á°ú°ª ( ÈÄÈÄ...ÀÌ°Å °á°ú °ª ã´Âµ¥ ¾îÁö°£È÷ ¶äÀ» µéÀ̴±º¿ä.. ) À§¿Í °°ÀÌ ÀÚ¸®¼ö¸¦ ¼­·Î ¸ÂÃß¾î ´Ù½Ã ½á º¸¾Ò½À´Ï´Ù. Á» ´õ ÆíÇÑ ¼³¸íÀ» À§ÇØ °¢°¢ÀÇ ÀÚ¸®¼ö¿¡ ¹øÈ£¸¦ ¸Þ°Ü ºÎ¸£±â ÆíÇϵµ·Ï ÇØ º¸ÁÒ À§ÀÇ º¯¼öµéÀÇ °ªµéÀº ¸ðµÎ 1¹ÙÀÌÆ®ÀÇ Å©±â¸¦ °®½À´Ï´Ù. Áï ºñÆ®¼ö·Î µûÁö¸é 8°³ÀÇ ºñÆ®¼ö¸¦ °®´Â ¼ýÀÚ¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·³ °¢°¢ÀÇ ºñÆ®¸¶´Ù ¹øÈ£ ( ¼ø¹ø )À» ¸Å°Ü º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ;-----------------------------------------------; ; 0 ; 0 ; 1 ; 0 ; 1 ; 1 ; 0 ; 1 ; <--- X°ª ;-----------------------------------------------; 7¹ø 6¹ø 5¹ø 4¹ø 3¹ø 2¹ø 1¹ø 0¹ø ºñÆ® À§¿Í °°ÀÌ ¸Å±æ ¼ö ÀÖ½À´Ï´Ù. ( ¸Å±æ ¼ö ÀÖ½À´Ï´Ù°¡ ¾Æ´Ï°í »ç½Ç À§¿Í °°ÀÌ ¸Å±âµµ·Ï µÇ¾î ÀÖ½À´Ï´Ù.) Á¶±Ý ÇÙ°¥¸®½ÇÁöµµ ¸ð¸£Áö¸¸ °¡Àå ÁËÃøÀÇ ºñÆ® ¹øÈ£°¡ '8'ÀÌ ¾Æ´Ñ '7'ÀÌ µÈ´Ù´Â »ç½Ç¿¡ ÁÖÀǸ¦ ÇØ ÁÖ¼¼¿ä. »ç½Ç ºñÆ®¼ö°¡ ¸ðµÎ 8°³ À̾ °¡Àå ³ôÀº ÀÚ¸®ÀÇ ºñÆ® ¹øÈ£°¡ '8'À̾î¾ß ÇÒ ²¨ °°Áö¸¸ ( 1 ºÎÅÍ 8 ±îÁö ) PC »ó¿¡¼­´Â ÀÌ '0' À̶ó´Â ¼ýÀÚ°¡ ´õ ³¢¾îµé°Ô µÇ¾î °¡Àå ³·Àº ÀÚ¸®ÀÇ ºñÆ® ¹øÈ£´Â '0'ÀÌ µÇ°í °¡Àå ³ôÀº ÀÚ¸®ÀÇ ºñÆ®¼ö°¡ ¹Ù·Î '7'ÀÌ µÇ¾î Áý´Ï´Ù. ( 0 ºÎÅÍ 7 ±îÁö ¸ðµÎ 8°³ÀÇ ºñÆ® ) ±×·³ À§ÀÇ ¿¬»ê °á°ú°ªÀ» ÇϳªÇϳª ã¾Æ ³ª°¡º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. X,Y µÎ°³ÀÇ º¯¼ö¿¡¼­ °¢°¢ÀÇ ÀÚ¸®¼ö¸¦ ÀÌ¹Ì ¸ÂÃß¾î ³õ¾Ò½À´Ï´Ù. Áï, XÀÇ 7¹ø ºñÆ®´Â YÀÇ 7¹ø ºñÆ®, XÀÇ 5¹ø ºñÆ®´Â YÀÇ 5¹ø ºñÆ®....µîµî °¢°¢ÀÇ ºñÆ®ÀÚ¸´¼ö¸¦ ¸ÂÃß¾î ³õ½À´Ï´Ù. ±×¸®°í ÀÌ ¸ÂÃß¾îÁø °Í¿¡ µû¶ó Çϳª¾¿ (1 ºñÆ®¾¿) µû·Îµû·Î ¿¬»êÀ» ÇÏ¿© °á°ú°ªµµ ¸¶Âù°¡Áö·Î °¢°¢ ºñÆ®ÀÇ ÀÚ¸´¼ö¸¦ ¸ÂÃ߾ ½á ÁÖ¸é µË´Ï´Ù. ¾Ë¾Æ º¸±â ½±µµ·Ï Ç¥¸¦ Çϳª ±×·Á º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ;--------------------------------; ; ºñÆ® ¹øÈ£ ; X ; Y ; AND X,Y ; ;--------------------------------; ; 0 ; 1 ; 0 ; 0 ; ; 1 ; 0 ; 1 ; 0 ; ; 2 ; 1 ; 1 ; 1 ; ; 3 ; 1 ; 0 ; 0 ; ; 4 ; 0 ; 1 ; 0 ; ; 5 ; 1 ; 1 ; 1 ; ; 6 ; 0 ; 0 ; 0 ; ; 7 ; 0 ; 1 ; 0 ; ;--------------------------------; À§¿Í °°ÀÌ µË´Ï´Ù. °¢°¢ÀÇ ºñÆ®¹øÈ£ ´ë·Î 1ºñÆ®¾¿ µû·Î ©¶ó³»¾î Çϳª¾¿ ¿¬»êÀ» ÇÑ °á°ú¸¦ ¾ò°Ô µÇ´Â °ÍÀÌÁö¿ä. ±×·¡¼­ À§¿Í °°Àº ¿¹ÀÇ °á°ú °ªÀº ¹Ù·Î 00100100 ÀÌ µÇ´Â °ÍÀÔ´Ï´Ù. ±×·³ ÀÌ¿Í °°Àº °ÍÀ» Á÷Á¢ ¾î¼Àºí¸® ¸í·É¾î¸¦ »ç¿ëÇؼ­ ÇÁ·Î±×·¡¹ÖÀ» ÇØ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. X = 00101101 Y = 10110110 X AND Y = ?? '??'¶ó´Â °ªÀ» ¾ò±âÀ§ÇÑ ¾î¼Àºí¸® ÇÁ·Î±×·¡¹ÖÀº, MOV AX, 00101101B MOV BX, 10110110B AND AX, BX °£´ÜÇÏÁÒ? MOV ¿¡ ÀÇÇØ AX¿¡´Â ¿ø·¡ÀÇ X°ªÀ», BX¿¡´Â ¿ø·¡ÀÇ Y°ªÀ» ³Ö¾îÁÖ¾ú½À´Ï´Ù. ±×¸®°í ´ÙÀ½ÀÇ 'AND'¸í·É¿¡ ÀÇÇØ AX¿Í BXÀÇ °ªÀ» ¼­·Î AND ½ÃÄÑ ÁÖ¾ú½À´Ï´Ù. ¾Ñ! ±Ùµ¥ ¿¬»êÀÇ °á°ú °ªÀÌ °ú¿¬ ¾îµð¿¡ µé¾î°¡³ª¿ä? ±×°Ç ¿ª½Ã³ª 'AX'·¹Áö½ºÅÍ¿¡ µé¾î°¡°Ô µË´Ï´Ù. Áï 'AND AX,BX'´Â AX·¹Áö½ºÅÍ¿Í BX·¹Áö½ºÅÍ¿¡ µé¾î ÀÖ´Â °ªµéÀ» ¼­·Î ³í¸®¿¬»ê 'AND'¸¦ ¼öÇà ÇÑ ÈÄ¿¡ ±× °á°ú °ªÀ» ´Ù½Ã AX·¹Áö½ºÅÍ¿¡ ³Ö¾î¶ó! ¶ó´Â ¶æÀÌ µË´Ï´Ù. ¸¸¾à 'AND BX,AX'¶ó°í ÇÑ´Ù¸é ¶Ë °°Àº °ªÀÌÁö¸¸ ±× °á°ú °ªÀ» AX·¹Áö½ºÅÍ°¡ ¾Æ´Ñ BX·¹Áö½ºÅÍ¿¡ ³Ö°Ô µÇ´Â °ÍÀÌÁö¿ä. ±×·³ °ú¿¬ ÀÌ·¯ÇÑ ¿¬»êÀÌ ¾îµð¿¡ ¾²À̴°¡. °£´ÜÇÑ ÇÑ ¿¹¸¦ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ÀÎÅÍ·´Æ® 11(16Áø¼ö 11ÀÓ)À» È£ÃâÇÒ ¶§¸¦ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ( ÀÎÅÍ·´Æ®¿¡ °üÇÑ ¼³¸íÀº ³ªÁß¿¡ µû·Î ÇÏ°Ú½À´Ï´Ù. ¿©±â¼­´Â ±×³É ±×·Á·¯´Ï...Çϱ¸ ³Ñ¾î °¡¼¼¿ä ) ÀÌ ÀÎÅÍ·´Æ®¸¦ È£ÃâÇÏ°Ô µÇ¸é ÇÁ·Î¼¼¼­´Â Áö±Ý PCÀÇ ÁÖº¯±â±âÀÇ ¿¬°á»óŸ¦ üũÇÏ¿© ±× Á¤º¸¸¦ ³Ñ°Ü ÁÝ´Ï´Ù. ±× Á¤º¸´Â AX·¹Áö½ºÅÍ·Î ³Ñ°Ü ÁÖ°Ô µË´Ï´Ù. »ç½Ç ¿¬°áÀåÄ¡ÀÇ Á¤º¸´Â ÇÑ°¡Áö°¡ ¾Æ´Ñ ¿©·¯°¡ÁöÀÇ ¿¬°áÀåÄ¡µéÀÇ »óŸ¦ ³Ñ°ÜÁÖ°Ô µÇ´Âµ¥, AX·¹Áö½ºÅÍ¿¡ ÀÌ ¸ðµç Á¤º¸µéÀÌ ´Ù¾Æ ´ã°ÜÁ® ÀÖ½À´Ï´Ù. Ç÷ÎÇÇ µå¶óÀ̺êÀÇ ¼³Ä¡ À¯¹« ÄÚÇÁ·Î ¼¼¼­ÀÇ À¯¹« 16K RAM ºí·°ÀÇ ¼ö ºñµð¿À ¸ðµå Ç÷ÎÇÇ µå¶óÀÌºê °¹¼ö DMA Ĩ(CHIP)ÀÇ »ç¿ë RS - 232 Ä«µåÀÇ ¼ö °ÔÀÓ Æ÷Æ® ¼ö Á÷·Ä ÇÁ¸°ÅÍÀÇ ¼³Ä¡ ¸ðµ© ¼³Ä¡ ¼³Ä¡µÈ ÇÁ¸°ÅÍÀÇ ¼ö À§¿Í °°Àº 11°³¿¡ ´ëÇÑ Á¤º¸°¡ ÇϳªÀÇ ·¹Áö½ºÅÍÀÎ AX·¹Áö½ºÅÍ¿¡ ¸ðµÎ ´ã°ÜÁ® ³ª¿À°Ô µË´Ï´Ù. ±×·³ °ú¿¬ ±×°ÍÀÌ ¾î¶»°Ô °¡´É ÇÒ±î¿ä? ±×°ÍÀº ¹Ù·Î À§¿Í °°Àº Á¤º¸µéÀÌ µû·Îµû·Î °¢°¢ÀÇ ÁöÁ¤µÈ °íÀ¯ÀÇ ºñÆ®µéÀ» Â÷ÁöÇÏ¿© Á¤º¸¸¦ Àü´ÞÇÏ°Ô µË´Ï´Ù. ºñÆ® ¹øÈ£ 0 Ç÷ÎÇÇ µå¶óÀ̺êÀÇ ¼³Ä¡ À¯¹« 1 ÄÚÇÁ·Î ¼¼¼­ÀÇ À¯¹« 2 - 3 16K RAM ºí·°ÀÇ ¼ö 4 - 5 ºñµð¿À ¸ðµå 6 - 7 Ç÷ÎÇÇ µå¶óÀÌºê °¹¼ö 8 DMA Ĩ(CHIP)ÀÇ »ç¿ë 9 - 11 RS - 232 Ä«µåÀÇ ¼ö 12 °ÔÀÓ Æ÷Æ® ¼ö 13 Á÷·Ä ÇÁ¸°ÅÍÀÇ ¼³Ä¡ 13 ¸ðµ© ¼³Ä¡ 14 - 15 ¼³Ä¡µÈ ÇÁ¸°ÅÍÀÇ ¼ö À§¿Í °°ÀÌ °¢°¢ÀÇ ºñÆ®µé¿¡ ±× ÁÖº¯ ±â±âµéÀÇ »óŵ鿡 ´ëÇÑ Á¤º¸¸¦ ³Ö°Ô µË´Ï´Ù. °¡·É ÀÎÅÍ·´Æ® 11¹øÀ» »ç¿ëÇÏ¿© ¾ò¾î³½ AX·¹Áö½ºÅÍÀÇ °ªÀÌ ´ÙÀ½°ú °°´Ù°í ÇØ º¸ÁÒ. 0110000010101111 ( 2Áø¼ö ÀÔ´Ï´Ù. 16Áø¼ö·Î´Â 60AF °¡ µË´Ï´Ù. ) ÀÌ°É Á» ´õ ¾Ë¾Æº¸±â ÆíÇϵµ·Ï ¹Ú½º¸¦ ±×·Á ±¸ºÐÇØ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ;---------------------------------------------------------------; ; 0 ; 1 ; 1 ; 0 ; 0 ; 0 ; 0 ; 0 ; 1 ; 0 ; 1 ; 0 ; 1 ; 1 ; 1 ; 1 ; ;---------------------------------------------------------------; F E D C B A 9 8 7 6 5 4 3 2 1 0 <- ºñÆ® ¹øÈ£ ( À§ÀÇ ºñÆ® ¹øÈ£¿¡¼­ ¿µ¹®ÀÚ´Â 16Áø¼ö Ç¥±â¸¦ µû¶ú±â ¶§¹® ÀÔ´Ï´Ù. ) À§¿Í °°ÀÌ Á¤¸® µÉ ¼ö ÀÖ½À´Ï´Ù. ±×·³ ÀÌÁ¦ ÀÌ °ªµé¿¡¼­ ÇÊ¿äÇÑ Á¤º¸¸¦ ¾Ë¾Æ ³»µµ·Ï ÇØ º¸°Ú½À´Ï´Ù. ;--------------------------------------------------------------; ;ºñÆ®¹øÈ£; ³» ¿ë ; °ª ; °á°úÀÇ ³»¿ë ; ;--------------------------------------------------------------; ; 0 ;Ç÷ÎÇÇ µå¶óÀ̺êÀÇ ¼³Ä¡ À¯¹« ; 1 ; ÀÖÀ½ ; ; 1 ;ÄÚÇÁ·Î ¼¼¼­ÀÇ À¯¹« ; 1 ; ÀÖÀ½ ; ; 2 - 3 ;16K RAM ºí·°ÀÇ ¼ö ; 11 ; 3°³ ; ; 4 - 5 ;ºñµð¿À ¸ðµå ; 10 ; 80X25 COLOR MODE ; ; 6 - 7 ;Ç÷ÎÇÇ µå¶óÀÌºê °¹¼ö ; 10 ; 2°³ ; ; 8 ;DMA Ĩ(CHIP)ÀÇ »ç¿ë ; 0 ; ¾øÀ½ ; ; 9 - B ;RS - 232 Ä«µåÀÇ ¼ö ; 0 ; ¾øÀ½ ; ; C ;°ÔÀÓ Æ÷Æ® ¼ö ; 0 ; ¾øÀ½ ; ; D ;Á÷·Ä ÇÁ¸°ÅÍÀÇ ¼³Ä¡ ; 1 ; ÀÖÀ½ ; ; D ;¸ðµ© ¼³Ä¡ ; 1 ; ÀÖÀ½ ; ; E - F ;¼³Ä¡µÈ ÇÁ¸°ÅÍÀÇ ¼ö ; 01 ; 1°³ ; ;--------------------------------------------------------------; ÀÌ¿Í °°½À´Ï´Ù. Áï, ºñÆ® ´ÜÀ§·Î ±× °á°ú¸¦ ¾Ë¾Æ ³¾ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ ¿©±â¼­ ¸¸¾à ÇÁ·ÎÇÇ µå¶óÀ̺êÀÇ °¹¼ö¸¦ ¾Ë°í ½ÍÀºµ¥, °ú¿¬ ¾î¶»°Ô À̸®Àú¸® ¼¯¿© ÀÖ´Â Á¤º¸µé Áß¿¡ ¿øÇÏ´Â Á¤º¸¸¦ µû·Î ºÐ¸®ÇØ »Ì¾Æ ³¾¼ö ÀÖÀ»±î¿ä. ´Ù½Ã ¸»ÇØ AX·¹Áö½ºÅÍ´Â ÀüºÎ 16°³ÀÇ ºñÆ®·Î ±¸¼ºÀÌ µÇ¾î Àִµ¥ ÀÌ Áß¿¡¼­ ¿ì¸®°¡ ¿øÇÏ´Â ºñÆ® ¹øÈ£ÀÎ 6¹ø ºÎÅÍ 7¹ø ±îÁöÀÇ ºñÆ®¾È¿¡ ÀÖ´Â ³»¿ëÀ» »Ì¾Æ ¿Ã ¼ö ÀÖ°Ú½À´Ï±î? ¿©±â¼­ ¹Ù·Î AND¶ó´Â ¿¬»ê ¸í·ÉÀÌ »ç¿ë µË´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ÇØ º¸µµ·Ï ÇÏÁÒ. AND AX, 0000000011000000B ±×·³ ¿ø·¡ÀÇ AX·¹Áö½ºÅÍ¿¡´Â 0110000010101111 À̶ó´Â 2Áø¼ö °ªÀÌ µé¾î ÀÖ¾ú½À´Ï´Ù. 0110000010101111 <-- ÀÎÅÍ·´Æ® È£Ãâ·Î ¾òÀº Á¤º¸ °ª 0000000011000000 AND )________________ °á°ú °ª ÀÌ¿Í °°ÀÌ ÇÏ°Ô µÇ¸é °á°ú °ªÀº 0000000010000000 ÀÌ µÇ´Â °ÍÀ» ½±°Ô ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº ¹Ù·Î Ç÷ÎÇÇ µå¶óÀ̺êÀÇ °¹¼ö¸¦ ´ã°íÀÖ´Â ºñÆ® ¹øÈ£¸¸ÀÌ ±×´ë·Î ³²¾Æ ÀÖ°í ³ª¸ÓÁö´Â ¸ðµÎ 0À¸·Î ¼¼Æ® µÇ´Â Çö»óÀ» °¡Á® ¿À°Ô µÇ´Â °ÍÀÌÁö¿ä. ÀÌ·¸°Ô µû·Î ºñÆ®ÀÇ ³»¿ëÀ» »Ì¾Æ ¿Ã¶§ AND¿¬»êÀ» ¸¹ÀÌ »ç¿ëÇÏ°Ô µË´Ï´Ù. µÑ°·Î OR¿¡ ´ëÇØ ¾Ë¾Æ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ;-----------------; ; X ; Y ; X OR Y ; ;-----------------; ; 0 ; 0 ; 0 ; ; 0 ; 1 ; 1 ; ; 1 ; 0 ; 1 ; ; 1 ; 1 ; 1 ; ;-----------------; . Áø¸® Ç¥´Â À§¿Í °°½À´Ï´Ù. °£´ÜÈ÷ ¿¬»ê °á°ú¸¸À» º¸¿© µå¸®°í ´ÙÀ½À¸·Î ³Ñ¾î °¡°Ú½À´Ï´Ù. X = 01001011 Y = 10011010 X OR Y = 11011011 À§¿Í °°ÀÌ µË´Ï´Ù. Áï µÎ°³ÀÇ ¿ÀÆÛ·£µå Áß Çϳª¶óµµ '1'ÀÌ ¶ó´Â °ªÀÌ ÀÖÀ¸¸é ±× °á°ú´Â 1ÀÌ µÇ´Â °ÍÀÔ´Ï´Ù. ( ¹°·Ð 1ºñÆ®¾¿ µû·Î ¿¬»êÀÌ µÇ¾î Áý´Ï´Ù. ) ÀÌ ORÀ̶ó´Â ¸í·É¾î´Â ¾î¶³¶§ ¾²ÀÌ´À³Ä...ÇÏ¹È ¹Ù·Î ºñÆ® Áß¿¡ ³ª¸ÓÁö ºÎºÐÀº ±×³É ³ö µÎ°í ¿øÇÏ´Â ºÎºÐ¸¸À» '1'·Î ¼¼Æ®ÇÏ°í ½ÍÀ» ¶§¿¡ »ç¿ëÇÏ°Ô µË´Ï´Ù. ;---------------------------------------------------------------; ; 0 ; 1 ; 1 ; 0 ; 0 ; 0 ; 0 ; 0 ; 1 ; 0 ; 1 ; 0 ; 1 ; 1 ; 1 ; 1 ; ;---------------------------------------------------------------; F E D C B A 9 8 7 6 5 4 3 2 1 0 <- ºñÆ® ¹øÈ£ À§ÀÇ ¿¹¿¡¼­ ¸¸¾à ºñÆ® ¹øÈ£ 9¹øÀ̶û 8¹øÀ» ¸ðµÎ 1·Î ¼¼Æ®ÇÏ°í ½Í´Ù¸é, OR AX, 0000001100000000B ÀÌ¿Í °°ÀÌ ÇÏ¸é ºñÆ® ¹øÈ£ 9¹øÀ̶û 8¹øÀº ¸ðµÎ 1·Î ¼¼Æ®°¡ µÇ°í ³ª¸ÓÁö´Â º¯È­¾øÀÌ ±×´ë·Î ³²°Ô µË´Ï´Ù. ´ÙÀ½Àº NOT Àΰ¡¿ä? ÀÌ°Ç ³Ê¹« °£´ÜÇؼ­ .... ºÎÁ¤ ÇÑ´Ù´Â ¶æÀÔ´Ï´Ù. ´Ü ÀÌ°ÍÀº ¿ÀÆÛ·£µå°¡ Çϳª¹Û¿¡ ¿Ã ¼ö ¾ø´Ù´Â °ÍÀÔ´Ï´Ù. »ý°¢ÇØ º¸¸é ´ç¿¬ÇÑ ¾ê±âÁö¸¸ ¸»ÀÌÁÒ... X = 01001101 NOT X = 10110010 °¢ ºñÆ®µéÀÇ °ªÀÌ ¸ðµÎ °Å²Ù·Î ÀüȯÀÌ µÈ °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. Áï, '0'Àº '1'·Î '1'Àº '0'À¸·Î °¢°¢ º¯È¯ÀÌ µÈ °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô NOT´Â °¢°¢ÀÇ ºñÆ®º°·Î ±× °ªÀ» '0'À̸é '1', '1'À̸é '0' À¸·Î ¹Ù²Ù´Â ±â´ÉÀ» ÇÏ¿© ÁÝ´Ï´Ù. ÀÌÁ¦ XOR·Î ³Ñ¾î¿ÀÁÒ.. ÀÌ XORÀ̶ó´Â °ÍÀº EXCLUSIVE - OR ¶æÀ¸·Î ´ÙÀ½ Áø¸®Ç¥¸¦ º¸¸é, ;-----------------; ; X ; Y ; X XOR Y ; ;-----------------; ; 0 ; 0 ; 0 ; ; 0 ; 1 ; 1 ; ; 1 ; 0 ; 1 ; ; 1 ; 1 ; 0 ; ;-----------------; ÀÌ¿Í °°Àº Áø¸®Ç¥°¡ µË´Ï´Ù. ¶Ç ¿¹¸¦ º¸µµ·Ï ÇÏÁÒ. X = 01101101 Y = 10111001 X XOR Y = 11010100 Áï ´Ù½Ã ¸»ÇØ µÎ °³ÀÇ ¿ÀÆÛ·£µå¸¦ ºñ±³ ÇÏ¿© °¢ ºñÆ® º°·Î ±× °ªÀÌ °°À¸¸é ( ¸ðµÎ '1' ¶Ç´Â '0' À̸é ) °á°ú °ªÀº 0ÀÌ µÇ°í, µÎ ºñ±³ ´ë»óÀÇ °ªÀÌ ¼­·Î ´Ù¸¥ °ªÀ̸é ( '0'°ú '1', ¶Ç´Â '1'°ú '0' À̸é ) ±× °á°ú°ªÀº 1ÀÌ µÇ´Â °ÍÀÔ´Ï´Ù. ÀÌ°ÍÀº »ý°¢º¸´Ù ²Ï ¸¹ÀÌ »ç¿ëµÇ¾î Áö´Â ¿¬»ê ¸í·É¾î ÀÔ´Ï´Ù. ±× ÀÌÀ¯´Â ¾î¶°ÇÑ ·¹Áö½ºÅÍÀÇ °ªÀ» ±ú³¡ÀÌ ( °ªÀ» 0À¸·Î ÇØ ÁÖ´Â°Í ) ÇÏ°íÀÚ ÇÒ ¶§ ÀÏ´ÜÀº ´ÙÀ½°ú °°Àº ¹æ¹ýÀÌ ÀÖÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù. 1, MOV AX, 00 <-- AX ¿¡ 0 À» ´ëÀÔ 2, SUB AX, AX <-- AX°ª¿¡ AX°ªÀ» »©¾î AX¿¡ ³Ö¾îÁÜ ( AX - AX = 0 ) 3, AND AX, 00 <-- AND¿¬»êÀ¸·Î AX·¹Áö½ºÅÍÀÇ °ªÀ» 0À¸·Î ¸¸µé¾î ÁÜ 4, OR AX,0FFH <-- AX °ªÀ» ¸ðµÎ 1·Î ¼¼Æ®ÇÑ ´ÙÀ½ ( ºñÆ®´ÜÀ§ ) NOT AX ÀÌ°ÍÀÇ ºÎÁ¤(NOT)À» ÃëÇÏ¿© 0À¸·Î ¼¼Æ® 5, XOR AX, AX <-- AX °ªÀ» AX¿Í XOR¿¬»ê ½ÃÅ´ ÀÏ´ÜÀº À§ÀÇ ´Ù¼¸ °¡Áö¸¦ º¸µµ·Ï ÇÏÁÒ. ÀÌ ´Ù¼¸ °¡Áö °æ¿ì ¸ðµÎ AX·¹Áö½ºÅÍÀÇ °ªÀ» 0À¸·Î ¼¼Æ®ÇÏ¿© ÁÖ´Â ¾î¼Àºí¸® ¸í·É¾îµé ÀÔ´Ï´Ù. »ç½Ç ÀÌ ´Ù¼¸ °¡Áö Áß, ¾î¶²°ÍÀ» »ç¿ë Çصµ º° »ó°üÀº ¾ø½À´Ï´Ù. ÇÏÁö¸¸ °¡Àå ¸¹ÀÌ »ç¿ë µÇ°í, ¶ÇÇÑ °¡Àå ±ÇÀåÇÒ ¸¸ÇÑ ¹æ¹ýÀº ¹Ù·Î ´Ù¼¸¹ø°ÀÇ °æ¿ìÀÎ XOR AX, AX ÀÔ´Ï´Ù. ±× ÀÌÀ¯´Â ¹Ù·Î ¾î¼Àºí¸® ÇÁ·Î±×·¡¹ÖÀ» ÇÏ´Â °¡Àå Áß¿äÇÑ ÀÌÀ¯ÁßÀÇ ÇϳªÀÎ ¼Óµµ Â÷¿øÀÇ ¹®Á¦ ÀÔ´Ï´Ù. ´ëÃæ ºñ±³¸¦ ÇÏÀÚ¸é, µ¡¼ÀÀ̳ª »¬¼À ¸í·ÉÀº °ö¼ÀÀ̳ª ³ª´°¼À ¸í·Éº¸´Ü ÈξÀ ¼Óµµ°¡ ºü¸¨´Ï´Ù. ±×¸®°í ¿©±â¿¡ ³í¸® ¿¬»ê¸í·ÉÀº µ¡¼À, »¬¼À ¸í·Éº¸´Ù, ±×¸®°í À̵¿ ¸í·ÉÀÎ 'MOV'º¸´Ù ÈξÀ ºü¸¥ ¼Óµµ¸¦ ³ªÅ¸³À´Ï´Ù. ¹°·Ð ½¬ÇÁÆ® ¸í·ÉÀ̶ó´Â °Í ¶ÇÇÑ ¸øÁö ¾Ê°Ô ºü¸¥ ¼Óµµ¸¦ ³ªÅ¸³À´Ï´Ù¸¸, ÀÌ °ÍÀº ¾ÆÁ÷ ¼³¸íÀ» ÇÏÁö ¾Ê¾Ò±â ¶§¹®¿¡ ³Ñ¾î °¡±â·Î ÇÏ°í... ±×·± ¼Óµµ ¹®Á¦ ¶§¹®¿¡ XORÀº ¾î¶°ÇÑ ·¹Áö½ºÅÍÀÇ °ªÀ» 0À¸·Î ¼¼Æà Çϴµ¥ ¾ÆÁÖ ¸¹ÀÌ »ç¿ë µË´Ï´Ù. [23] Á¦¸ñ : µð¹ö±×(DEBUG.EXE) Á¤¸® -ÀüÆí- ¿Ã¸°ÀÌ : ¿µ¿øÀǺ°(À̼¼¿ø ) 95/01/10 18:58 ÀÐÀ½ : 455 °ü·ÃÀÚ·á ¾øÀ½ ¾È³çÇϼ¼¿ä. µð¹ö±×¿¡°üÇØ ÀÚ¼¼È÷ ±×¸®°í ºÐ¸íÈ÷ ¾ð±ÞµÈ Ã¥ÀÌ º°·Î ¾ø´õ±º¿ä. ±×·¡¼­ Çѹø ²Ù¸çº¸¾Ò½À´Ï´Ù. ³Ê¹« ±æ¾î¼­ µÑ·Î ³ª´©¾î ¿Ã¸³´Ï´Ù. ¸¹Àº µµ¿òÀÌ µÇ½Ã±æ... µð¹ö±×(DEBUG.EXE)ÀÇ »ç¿ë¹ý. µð¹ö±×¶ó´Â ¶æÀº ÇÁ·Î±×·¥ÀÇ ¹ö±× Áï ¿À·ù¸¦ ã¾Æ³½´Ù´Â ¶æÀÌ´Ù.ÇÁ·Î±× ·¥À» ¿Ï¼ºÇÏ°í ½ÇÇà½ÃÅ°¸é ¿¹»óÄ¡µµ ¾ÊÀº ¹ö±×°¡ ¹ß»ýÇϴ¼ö°¡ °£È¤ÀÖ´Ù. ÀÌ·± °æ¿ì¿¡ ÇÁ·Î±×·¥À» ºÎºÐÀûÀ¸·Î ½ÇÇàÇغ¸°í ¿À·ù¸¦ ã¾Æ³»¾ß Çϴµ¥ ±×·± ÀÛ¿ëÀ» Àü¹®ÀûÀ¸·Î ÇØÁÖ´Â ÇÁ·Î±×·¡¸Ó¿¡°Ô´Â ÇʼöÀÇ µµ±¸°¡ ¹Ù·Î µµ½ºÀÇ µð¹ö±×(DEBUG.E XE) ÀÌ´Ù. Á¤È®ÇÑ ¸íĪÀº µð¹ö°Å(DEBUGER) ¶ó°í ÇؾßÇϳª µµ½ºÀÇ È­ÀϷμ­ Á¦°ø µÇ´Â À̸§Àº À̸§Àº µð¹ö±×ÀÌ´Ù. ±×·¯³ª Áö±ÝÀº ÇÁ·Î±×·¥ÀÇ µ¢Ä¡°¡ ¿ö³« Ä¿Áö°í ¶ÇÇÑ °í±Þ¾ð¾î·Î ÀÛ¼ºµÇ ´ÂÁö¶ó ÇÁ·Î±×·¥ÀÇ Á¤È®ÇÑ È帧À» ¾Æ´Â°ÍÀº ´ë´ÜÈ÷ ¾î·Æ´Ù. ÇÁ·Î±×·¡¸Ó Á¶Â÷ ¶ó À̺귯¸®ÀÇ ³»¿ëÀ» ¸ð¸¥´Ù´Â À̾߱â´Ù. µû¶ó¼­ °í±Þ¾ð¾î·Î ¸¸µé¾îÁø ÇÁ·Î±×·¥À» µð¹ö°Å·Î ¿À·ù¸¦ ã¾Æ³»´Â°ÍÀº ¾î·Æ´Ù. ±×·± ÀÌÀ¯·Î °í±Þ¾ð¾î¿¡¼­´Â ÅëÇÕȯ°æ ³» ¿¡¼­ ÀÚüÀûÀ¸·Î ¿À·ù¸¦ ãµµ·ÏÇØÁÖ´Â ÀÚü µð¹ö°Å¸¦ °¡Áö°í ÀÖ´Â ÇüÆíÀÌ´Ù. ÀÌ µð¹ö°Å´Â ¿¹ÀüÀÇ ¾î¼Àºí¸®¾î·Î ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´ø¶§¿¡ Áø°¡¸¦ ¹ßÈÖ ÇÏ´ø ÇÁ·Î±×·¥À̾úÀ¸³ª Áö±ÝÀº ±×·± ¸ñÀûº¸´Ùµµ ÄÄÇ»ÅÍÀÇ ½Ã½ºÅÛÀ» Á÷Á¢ Á¶ÀÛÇÏ ´Âµ¥ ¸¹ÀÌ ¾²ÀδÙ. µð¹ö°Å¸¦ ±âµ¿ÇÏ°í µð¹ö°Å ÇÁ·ÒÇÁÆ® »ó¿¡¼­ '?' ¸¦ ÀÔ·ÂÇÏ¸é ´ÙÀ½°ú °° Àº µµ¿ò¸»ÀÌ Ãâ·ÂµÈ´Ù. +-------------------------------------------------------------------------+ | -?¡¡ | | assemble A [address] | | compare C range address | | dump D [range] | | enter E address [list] | | fill F range list | | go G [=address] [addresses] | | hex H value1 value2 | | input I port | | load L [address] [drive] [firstsector] [number] | | move M range address | | name N [pathname] [arglist] | | output O port byte | | proceed P [=address] [number] | | quit Q | | register R [register] | | search S range list | | trace T [=address] [value] | | unassemble U [range] | | write W [address] [drive] [firstsector] [number] | | allocate expanded memory XA [#pages] | | deallocate expanded memory XD [handle] | | map expanded memory pages XM [Lpage] [Ppage] [handle] | | display expanded memory status XS | | - | +-------------------------------------------------------------------------+ 1. A (¾î¼Àºí) A ¸í·ÉÀº ¾î¼ÀºíÇÏ¿© ¸Þ¸ð¸®¿¡ Á÷Á¢ ±â°è¾î Äڵ带 ¸¸µé´Ù. ´Ù¸¸ 1Çึ´Ù ¾î¼Àºí ÇÏ´Â ±â´ÉÀ̹ǷΠ·¹À̺íÀ» »ç¿ëÇÒ ¼ö´Â ¾ø´Ù. Çü½Ä) A [¾îµå·¹½º] ¾îµå·¹½º´Â ¸Þ¸ð¸®³»ÀÇ ¿ÀÇÁ¼Â¹øÁö ¶Ç´Â ¼¼±×¸ÕÆ®¿Í ¿ÀÇÁ¼ÂÀÇ ¹øÁöÀÌ´Ù. ¼¼±×¸ÕÆ®¹øÁö¸¦ »ý·«Çϸé ÇöÀçÀÇ CS ·¹Áö½ºÅÍ°¡ ¼¼±×¸ÕÆ®°ªÀ̵ǰí IP·¹Áö½ºÅÍÀÇ °ªÀÌ ¿ÀÇÁ¼Â ¹øÁö°¡ µÈ´Ù. -A 100¡¡ 154D:0100 MOV AH,4C¡¡ 154D:0102 INT 21¡¡ 154D:0104 . . 2. C (ºñ±³) C ¸í·ÉÀº ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» ºñ±³ÇÏ°í ´Þ¶óÁ® ÀÖ´Â ºÎºÐÀ» Ç¥½ÃÇÑ´Ù. ¼¼±×¸ÕÆ®°¡ »ý·«µÈ °æ¿ì¿¡´Â DS ¼¼±×¸ÕÆ®ÀÇ °ªÀ¸·Î Á¤ÇØÁø´Ù. Çü½Ä) C [°³½Ã¾îµå·¹½º Á¾·á¾îµå·¹½º] C [°³½Ã¾îµå·¹½º] L [±æÀÌ] 1234:0000 ¡­ 1234:000F ±îÁö¸¦ ÇöÀçÀÇ DS:0010 ºÎÅÍ ½ÃÀÛÇؼ­ ºñ±³ÇÑ´Ù. -c 1234:0 f 10¡¡ 1234:0000 ED B1 154D:0010 1234:0001 75 0F 154D:0011 1234:0002 05 17 154D:0012 1234:0003 E8 03 154D:0013 1234:0004 26 B1 154D:0014 1234:0005 00 0F 154D:0015 1234:0006 EB FA 154D:0016 1234:0007 03 0E 154D:0017 1234:0008 E8 01 154D:0018 1234:0009 B0 01 154D:0019 1234:000B 72 00 154D:001B 1234:000C 08 02 154D:001C 1234:000D 5A FF 154D:001D 1234:000E E8 FF 154D:001E 1234:000F 05 FF 154D:001F - 1234:0000 ºÎÅÍ 10H°³ ¸¸Å­ ÇöÀçÀÇ DS:0010 ºÎÅÍ ºñ±³ÇÑ´Ù. ÀÌ°ÍÀº °á°úÀûÀ¸·Î À§¿Í °°Àº ³»¿ëÀ» Ãâ·ÂÇÑ´Ù. -c 1234:0 l10 10¡¡ 1234:0000 ED B1 154D:0010 1234:0001 75 0F 154D:0011 1234:0002 05 17 154D:0012 1234:0003 E8 03 154D:0013 1234:0004 26 B1 154D:0014 1234:0005 00 0F 154D:0015 1234:0006 EB FA 154D:0016 1234:0007 03 0E 154D:0017 1234:0008 E8 01 154D:0018 1234:0009 B0 01 154D:0019 1234:000B 72 00 154D:001B 1234:000C 08 02 154D:001C 1234:000D 5A FF 154D:001D 1234:000E E8 FF 154D:001E 1234:000F 05 FF 154D:001F - 3. D (´ýÇÁ) D ¸í·ÉÀº ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» 16Áø¼ö¿Í ¾Æ½ºÅ°¹®ÀÚ·Î ³ªÅ¸³½´Ù. µðÆúÆ® ¼¼±×¸ÕÆ®´Â DS¼¼±×¸ÕÆ®ÀÌ°í Çѹø¿¡ 128¹ÙÀÌÆ®¸¦ Ãâ·ÂÇÑ´Ù. ¶ÇÇÑ ´ýÇÁÈÄ¿¡ ¶Ç´Ù½Ã D ¸í·ÉÀ» Ä¡¸é ¿¬¼ÓÇؼ­ ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» Ãâ·ÂÇÑ´Ù. ´ýÇÁ¸í·ÉÀº ¾Æ½ºÅ° ¹®ÀÚµµ Ãâ·ÂÇϴµ¥ ¾Æ½ºÅ° 128¹ø ÀÌÈÄÀÇ ¹®ÀÚ´Â Ãâ·ÂÇÏÁö ¸ø ÇÏ°í '.' À¸·Î Ç¥ÇöÇÑ´Ù. ±×·± ÀÌÀ¯·Î ÇѱÛÀº Ãâ·ÂÇصµ ¾Ë¾Æº¼¼ö°¡ ¾ø´Ù. Çü½Ä) D D [¾îµå·¹½º] -D¡¡ 154D:0100 0F 00 B9 8A FF F3 AE 47-61 03 1F 8B C3 48 12 B1 .......Ga....H.. 154D:0110 04 8B C6 F7 0A 0A D0 D3-48 DA 2B D0 34 00 3C 15 ........H.+.4.<. 154D:0120 00 DB D2 D3 E0 03 F0 8E-DA 8B C7 16 C2 B6 01 16 ................ 154D:0130 C0 16 F8 8E C2 AC 8A D0-00 00 4E AD 8B C8 46 8A ..........N...F. 154D:0140 C2 24 FE 3C B0 75 05 AC-F3 AA A0 0A EB 06 3C B2 .$.<.u........<. 154D:0150 75 6D 6D 13 A8 01 50 14-74 B1 BE 32 01 8D 8B 1E umm...P.t..2.... 154D:0160 8E FC 12 A8 33 D2 29 E3-13 8B C2 03 C3 69 02 00 ....3.)......i.. 154D:0170 0B F8 83 FF FF 74 11 26-01 1D E2 F3 81 00 94 FA .....t.&........ ¿ÀÇÁ¼Â¹øÁö FFH ÀÌÈÄÀÇ ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» Ãâ·ÂÇÑ´Ù. -D FF¡¡ 154D:00F0 00 . 154D:0100 0F 00 B9 8A FF F3 AE 47-61 03 1F 8B C3 48 12 B1 .......Ga....H.. 154D:0110 04 8B C6 F7 0A 0A D0 D3-48 DA 2B D0 34 00 3C 15 ........H.+.4.<. 154D:0120 00 DB D2 D3 E0 03 F0 8E-DA 8B C7 16 C2 B6 01 16 ................ 154D:0130 C0 16 F8 8E C2 AC 8A D0-00 00 4E AD 8B C8 46 8A ..........N...F. 154D:0140 C2 24 FE 3C B0 75 05 AC-F3 AA A0 0A EB 06 3C B2 .$.<.u........<. 154D:0150 75 6D 6D 13 A8 01 50 14-74 B1 BE 32 01 8D 8B 1E umm...P.t..2.... 154D:0160 8E FC 12 A8 33 D2 29 E3-13 8B C2 03 C3 69 02 00 ....3.)......i.. 154D:0170 0B F8 83 FF FF 74 11 26-01 1D E2 F3 81 00 94 .....t.&....... ƯÁ¤ ¸Þ¸ð¸®¹øÁöÀÎ 1100:0000 ÀÇ ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» Ãâ·ÂÇÑ´Ù.(¼¼±×¸ÕÆ® °ª°ú ¿ÀÇÁ¼Â °ªÀ» ¼³Á¤ÇÑ´Ù.) -D 1100:0¡¡ 1100:0000 C3 C6 06 22 4A 00 E8 D0-FF 33 DB BF 07 57 E8 E8 ..."J....3...W.. 1100:0010 EE 74 1F 8B 2E 1C 4A 57-53 E8 B3 F2 5B 5F 89 15 .t....JWS...[_.. 1100:0020 89 45 02 83 C7 05 43 83-FB 0B 75 E2 BA F4 4B E9 .E....C...u...K. 1100:0030 D8 F5 89 1E AC 56 8B CB-E3 12 BF 07 57 1E 26 C5 .....V......W.&. 1100:0040 35 83 C7 04 A4 C6 44 FF-CC E2 F3 1F 8B 16 8E 4A 5.....D........J 1100:0050 89 16 1C 4A 8B 16 90 4A-89 16 1E 4A C7 06 AE 56 ...J...J...J...V 1100:0060 01 00 E9 EC FD B4 37 32-C0 CD 21 2E 88 16 75 56 ......72..!...uV 1100:0070 AC E8 C4 F6 74 05 E8 D2-F6 75 F5 4E C3 E8 08 F0 ....t....u.N.... - 4. E (¿£ÅÍ) ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» ¼¼Æ®ÇÑ´Ù. ÀÌ´Â »õ·ÎÀÌ Æ¯Á¤ ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» ¼³Á¤Çϴ°ÍÀ» ¸»ÇÑ´Ù. Çü½Ä) E[°³½Ã¾îµå·¹½º ¸®½ºÆ®] -e B800:0100¡¡ ----- ¨ç B800:0100 20.31¡¡ ----- ¨è ¨ç EB800:0100 ÀÇ ³»¿ëÀ» Ãâ·Â½ÃŲ´Ù. ¨è 20H ÀÇ °ªÀ» '31' ·Î ¹Ù²Û´Ù. À̸í·ÉÀº ¶ÇÇÑ ¸Þ¸ð¸®¿¡ ¹®ÀÚ¿­ÀÇ ÀԷµµ °¡´ÉÇÏ´Ù. EB800:100 ÀÇ ¹øÁö¿¡ ¹®ÀÚ¿­À» ÀÔ·ÂÇÑ´Ù. Áß°£Áß°£ÀÇ '7' Àº ¹®ÀÚÀÇ ¼Ó¼ºÀÌ´Ù. °á°úÀûÀ¸·Î È­¸é ¿ìÃø »ó´Ü¿¡ 'I AM A BOY' ¶ó°í Ãâ·ÂµÈ´Ù. -e B800:100 'I' 7 ' ' 7 'A' 7 'M' 7 ' ' 7 'A' 7 ' ' 7 'B' 7 'O' 7 'Y'¡¡ - I AM A BOY 5. F (ä¿ò) F ¸í·ÉÀº ¸Þ¸ð¸®¸¦ ÁöÁ¤ÇÑ µ¥ÀÌŸ·Î ä¿î´Ù. Çü½Ä) F[¾îµå·¹½º ¸®½ºÆ®] -f b800:0 ff 31¡¡ ----- ¨ç -f b800:0 ff 31,32,33¡¡ ----- ¨è -f b800:0 ff 'i am a boy'¡¡ ----- ¨é - ¨ç B800:0000 ¡­ B800:00FF ±îÁö 31H ·Î ä¿î´Ù. ¨è B800:0000 ¡­ B800:00FF ±îÁö 31H,32H,33H ·Î ä¿î´Ù. ¨é B800:0000 ¡­ B800:00FF ±îÁö 'i am a boy' ·Î ä¿î´Ù. ¶ÇÇÑ ÀÌ ¸í·ÉÀ» ÀÌ¿ëÇؼ­ ¸Þ¸ð¸®ÀÇ Æ¯Á¤ ºÎºÐÀÇ µ¥ÀÌŸ¸¦ ¼Ò°ÅÇϴµ¥ ¾µ¼öÀÖ´Ù. -fb800:0 ffff 0 ----- B800:0000 ¡­ B800:FFFF ±îÁö¸¦ 0H ·Î ä¿î´Ù. 6. G (½ÇÇà°³½Ã) G ¸í·ÉÀº ¸Þ¸ð¸®¿¡ ·ÎµåµÈ ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀ» °³½ÃÇÑ´Ù. Çü½Ä) G ---- ¨ç G [=½ÃÀÛÁ¡ ÁßÁöÁ¡] ---- ¨è ¨ç ÇöÀçÀÇ CS:IP ·ÎºÎÅÍ ÇÁ·Î±×·¥À» ½ÃÀÛÇÑ´Ù. ¨è ½ÃÀÛ¹øÁö¿¡¼­ ÁßÁö¹øÁö ¹Ù·Î ¾Õ¹øÁö±îÁö ÇÁ·Î±×·¥ÀÌ ÁøÇàµÈ´Ù. C:\ASM>debug small.com¡¡ -g¡¡ Ex) small file1 file2 Program terminated normally - C:\ASM>debug small.com¡¡ -g=100 215¡¡ Ex) small file1 file2 AX=0924 BX=0000 CX=01FF DX=0109 SP=FFFE BP=0000 SI=0000 DI=0000 DS=155E ES=155E SS=155E CS=155E IP=0215 NV UP EI PL ZR NA PE NC 155E:0215 B44C MOV AH,4C -g¡¡ Program terminated normally - ´ÙÀ½Àº µð¹ö°Å·Î ¿úºÎÆÃÀ» Çغ¸´Â Àç¹ÌÀÖ´Â ¿¹ÀÌ´Ù. ºÎÆ® ½ºÆ®·¦ ·Î´õ¸¦ ±âµ¿ÇÏ´Â ÇÁ·Î±×·¥À» CS:100H ·Î º¹»çÇÏ°í G ¸í·ÉÀ¸·Î ½ÇÇà ½ÃÄѺ»´Ù. C:\ASM>debug¡¡ -m ffff:0 f 100¡¡ -d 100¡¡ 154D:0100 EA F4 04 A6 02 30 34 2F-33 30 2F 39 30 00 FC 00 .....04/30/90... 154D:0110 04 8B C6 F7 0A 0A D0 D3-48 DA 2B D0 34 00 3C 15 ........H.+.4.<. 154D:0120 00 DB D2 D3 E0 03 F0 8E-DA 8B C7 16 C2 B6 01 16 ................ 154D:0130 C0 16 F8 8E C2 AC 8A D0-00 00 4E AD 8B C8 46 8A ..........N...F. 154D:0140 C2 24 FE 3C B0 75 05 AC-F3 AA A0 0A EB 06 3C B2 .$.<.u........<. 154D:0150 75 6D 6D 13 A8 01 50 14-74 B1 BE 32 01 8D 8B 1E umm...P.t..2.... 154D:0160 8E FC 12 A8 33 D2 29 E3-13 8B C2 03 C3 69 02 00 ....3.)......i.. 154D:0170 0B F8 83 FF FF 74 11 26-01 1D E2 F3 81 00 94 FA .....t.&........ -g¡¡ 7. H (ÇÕ°úÂ÷) H ¸í·ÉÀº 16Áø¼ö³¢¸®ÀÇ ÇÕ°ú Â÷¸¦ °è»êÇÏ¿© Ç¥½ÃÇØÁØ´Ù. ÁÂÃøÀÇ °ªÀÌ ÇÕÀÌ°í ¿ìÃøÀÇ °ªÀÌ Â÷ÀÌ´Ù. Çü½Ä) H[°ª1 °ª2] -H 12 11¡¡ 0023 0001 -H FF00 EF12¡¡ EE12 0FEE -H 23 12¡¡ 0035 0011 - 8. I (ÀÎDz) I ¸í·ÉÀº I/O PORT ¿¡¼­ 1 ¹ÙÀÌÆ®ÀÇ µ¥ÀÌŸ¸¦ ÀÔ·ÂÇÏ¿© Ç¥½ÃÇÑ´Ù. 8086ÀÇ Æ÷Æ® ¾îµå·¹½º´Â 0H ¡­ 0FFFFH ÀÇ ¹üÀ§¿¡ Àֱ⶧¹®¿¡ Æ÷Æ® ¾îµå·¹½ºÀÇ ÁöÁ¤µµ 16ºñÆ®·Î ÇÑ´Ù. Çü½Ä) I[Æ÷Æ®¾îµå·¹½º] 9. L (·Îµå) L ¸í·ÉÀº È­ÀÏÀ̳ª µð½ºÅ©ÀÇ ³»¿ëÀ» ¸Þ¸ð¸®¿¡ ·ÎµåÇÑ´Ù. Çü½Ä) L [¾îµå·¹½º] ---- ¨ç L [¾îµå·¹½º µå¶óÀÌºê ·¹ÄÚµå¹øÈ£ ¼½Åͼö] ---- ¨è ¨ç È­ÀÏÀ» ·ÎµåÇÒ¶§ ¾²ÀδÙ. ´Ü FCB ¿¡ ¼¼Æ®µÈ À̸§ÀÌ ·Îµå µÇ¹Ç·Î »çÀü¿¡ N ¸í·ÉÀ» ÇÏ¿©¾ßÇÑ´Ù. ¾îµå·¹½º¸¦ »ý·«Çϸé CS:100H ¿¡¼­ ·ÎµåµÈ´Ù. ¨è µð½ºÅ©ÀÇ Æ¯Á¤ ¼½Å͸¦ ·ÎµåÇÒ¶§ ¾²ÀδÙ. +--------------------+-------------------------------------------+ | ¾îµå·¹½º | ·Îµå ½ÃÅ°´Â ¸Þ¸ð¸®ÀÇ ¹øÁö | +--------------------+-------------------------------------------+ | µå¶óÀ̺ê | 0=A,1=B,2=C,3=D µå¶óÀ̺ê | +--------------------+-------------------------------------------+ | ·¹ÄÚµå¹øÈ£ | Àд µð½ºÅ©ÀÇ ·¹ÄÚµå ¹øÈ£ | +--------------------+-------------------------------------------+ | ¼½Åͼö | Àд µð½ºÅ©ÀÇ ¼½Åͼö | +--------------------+-------------------------------------------+ ´ÙÀ½Àº µð¹ö°Å ³»¿¡¼­ 'small.com' À» ·ÎµåÇÏ´Â ¿¹ÀÌ´Ù. C:\ASM>debug¡¡ -n small.com¡¡ -l¡¡ -d¡¡ 155E:0100 A0 80 00 3C 00 75 22 EB-16 45 78 29 20 73 6D 61 ...<.u"..Ex) sma 155E:0110 6C 6C 20 66 69 6C 65 31-20 66 69 6C 65 32 24 B4 ll file1 file2$. 155E:0120 09 BA 09 01 CD 21 E9 EC-00 8A 0E 80 00 B5 00 49 .....!.........I 155E:0130 49 BE 82 00 BF AC 02 AC-3C 20 74 03 AA E2 F8 B0 I.......< t..... 155E:0140 00 AA BF D5 02 F3 A4 B0-00 AA B4 3D BA AC 02 B0 ...........=.... 155E:0150 00 CD 21 72 5E A3 A8 02-B4 3D BA D5 02 B0 00 CD ..!r^....=...... 155E:0160 21 72 1B EB 0F 41 6C 72-65 61 64 79 20 65 78 69 !r...Already exi 155E:0170 73 74 2E 24 B4 09 BA 65-01 CD 21 E9 97 00 B4 3C st.$...e..!....< - ´ÙÀ½Àº ÇÏµå µð½ºÅ©(C µå¶óÀ̺ê) ÀÇ ºÎÆ® ¿µ¿ªÀ» ·ÎµåÇÑ ¿¹ÀÌ´Ù. C:\ASM>debug¡¡ -l 100 2 0 1¡¡ -d¡¡ 154D:0100 EB 3C 90 4D 53 44 4F 53-35 2E 30 00 02 08 01 00 .<.MSDOS5.0..... 154D:0110 02 00 02 00 00 F8 A2 00-2E 00 08 00 2E 00 00 00 ................ 154D:0120 72 10 05 00 80 00 29 79-59 E8 1C 20 20 20 20 20 r.....)yY.. 154D:0130 20 20 20 20 20 20 46 41-54 31 36 20 20 20 FA 33 FAT16 .3 154D:0140 C0 8E D0 BC 00 7C 16 07-BB 78 00 36 C5 37 1E 56 .....|...x.6.7.V 154D:0150 16 53 BF 3E 7C B9 0B 00-FC F3 A4 06 1F C6 45 FE .S.>|.........E. 154D:0160 0F 8B 0E 18 7C 88 4D F9-89 47 02 C7 07 3E 7C FB ....|.M..G...>|. 154D:0170 CD 13 72 79 33 C0 39 06-13 7C 74 08 8B 0E 13 7C ..ry3.9..|t....| - 10. M (¹«ºê) M ¸í·ÉÀº ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» ´Ù¸¥ À§Ä¡¿¡ º¹»çÇÑ´Ù. Çü½Ä) M [¹üÀ§ ¹øÁö] ´ÙÀºÀº 'small.com' ÀÇ ³»¿ëÁß¿¡ 'Ex) small file1 file2' ÀÇ ºÎºÐÀ» ´Ù¸¥ ¹øÁö·Î º¹»ç½ÃÅ°´Â ¿¹ÀÌ´Ù. C:\ASM>debug small.com¡¡ -d¡¡ 155E:0100 A0 80 00 3C 00 75 22 EB-16 45 78 29 20 73 6D 61 ...<.u"..Ex) sma 155E:0110 6C 6C 20 66 69 6C 65 31-20 66 69 6C 65 32 24 B4 ll file1 file2$. 155E:0120 09 BA 09 01 CD 21 E9 EC-00 8A 0E 80 00 B5 00 49 .....!.........I 155E:0130 49 BE 82 00 BF AC 02 AC-3C 20 74 03 AA E2 F8 B0 I.......< t..... 155E:0140 00 AA BF D5 02 F3 A4 B0-00 AA B4 3D BA AC 02 B0 ...........=.... 155E:0150 00 CD 21 72 5E A3 A8 02-B4 3D BA D5 02 B0 00 CD ..!r^....=...... 155E:0160 21 72 1B EB 0F 41 6C 72-65 61 64 79 20 65 78 69 !r...Already exi 155E:0170 73 74 2E 24 B4 09 BA 65-01 CD 21 E9 97 00 B4 3C st.$...e..!....< -m 109 11d 140¡¡ -d 100¡¡ 155E:0100 A0 80 00 3C 00 75 22 EB-16 45 78 29 20 73 6D 61 ...<.u"..Ex) sma 155E:0110 6C 6C 20 66 69 6C 65 31-20 66 69 6C 65 32 24 B4 ll file1 file2$. 155E:0120 09 BA 09 01 CD 21 E9 EC-00 8A 0E 80 00 B5 00 49 .....!.........I 155E:0130 49 BE 82 00 BF AC 02 AC-3C 20 74 03 AA E2 F8 B0 I.......< t..... 155E:0140 45 78 29 20 73 6D 61 6C-6C 20 66 69 6C 65 31 20 Ex) small file1 155E:0150 66 69 6C 65 32 A3 A8 02-B4 3D BA D5 02 B0 00 CD file2....=...... 155E:0160 21 72 1B EB 0F 41 6C 72-65 61 64 79 20 65 78 69 !r...Already exi 155E:0170 73 74 2E 24 B4 09 BA 65-01 CD 21 E9 97 00 B4 3C st.$...e..!....< - [25] Á¦¸ñ : µð¹ö±×(DEBUG.EXE) Á¤¸® -ÈÄÆí- ¿Ã¸°ÀÌ : ¿µ¿øÀǺ°(À̼¼¿ø ) 95/01/10 20:33 ÀÐÀ½ : 293 °ü·ÃÀÚ·á ¾øÀ½ 11. N (³×ÀÓ) N ¸í·ÉÀº ½ÇÇàÆÄÀÏÀÇ À̸§À» ¼öÁ¤Çϰųª ÆĶó¸ÞÅ͸¦ ÁöÁ¤ÇÑ´Ù. °á°ú·Î FCB°¡ ¼¼Æ®µÈ´Ù. +----------------------------------------------------------+ | FCB | +----------------------------------------------------------+ | CS:5C ù ¹ø° ÆÄÀÏÀ» À§ÇÑ ÆÄÀÏ Á¦¾îºí·° | | CS:6C µÎ ¹ø° ÆÄÀÏÀ» À§ÇÑ ÆÄÀÏ Á¦¾îºí·° | | CS:80 ÆĶó¸ÞÅÍ ±æÀÌ | | CS:81 ÆĶó¸ÞÅÍ ½ÃÀÛ À§Ä¡ | +----------------------------------------------------------+ Çü½Ä) N [Æнº³×ÀÓ ÆĶó¸ÞÅÍ] ´ÙÀ½Àº µð¹ö°Å ³»¿¡¼­ 'small.asm' À» ¾î¼ÀºíÇÏ°í ¸µÅ©ÇÏ´Â °úÁ¤ÀÌ´Ù. C:\ASM>debug¡¡ -n masm.exe¡¡ -l¡¡ -n small;¡¡ -g¡¡ Microsoft (R) Macro Assembler Version 5.00 Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved. 51448 + 383976 Bytes symbol space free 0 Warning Errors 0 Severe Errors Program terminated normally -n link.exe¡¡ -l¡¡ -n small;¡¡ -g¡¡ Microsoft (R) Overlay Linker Version 3.60 Copyright (C) Microsoft Corp 1983-1987. All rights reserved. LINK : warning L4021: no stack segment Program terminated normally -n c:\dos\exe2bin.exe¡¡ -l¡¡ -n small.exe¡¡ -g¡¡ Program terminated normally - 12. O (¾Æ¿ôDz) O ¸í·ÉÀº I/O Æ÷Æ®¿¡ µ¥ÀÌŸ¸¦ Ãâ·ÂÇÑ´Ù. Çü½Ä) O [Æ÷Æ®¾îµå·¹½º ¹ÙÀÌÆ®µ¥ÀÌŸ] 13. P (ÁøÇà) P ¸í·ÉÀº ÇÁ·Î±×·¥À» ·ÎµåÇÑ »óÅ¿¡¼­ ½ÇÁ¦·Î ÇÁ·Î±×·¥À» ÇѸí·É¾¿ ½ÇÇà ½ÃÅ° ´Â °ÍÀÌ´Ù. µû¶ó¼­ ¿ÀÈ÷·Á T ¸í·Éº¸´Ù Á¤È®ÇÏ°Ô ÇÁ·Î±×·¥À» ÃßÀûÇÒ¼ö ÀÖ´Ù. Çü½Ä) P ---- ¨ç P [=¾îµå·¹½º] ---- ¨è P [=¾îµå·¹½º,³Ñ¹ö] ---- ¨é P [³Ñ¹ö] ---- ¨ê ¨ç ÇöÀçÀÇ CS:IP ¿¡¼­ ½ÇÇà ½ÃŲ´Ù. ¨è IP ÀÇ °ªÀ» ÁöÁ¤ÇØÁØ ¹øÁö¿¡¼­ºÎÅÍ ½ÇÇàÇÑ´Ù. ¨é IP ÀÇ °ª°ú ½ÇÇà½Ãų ¸í·ÉÀÇ °¹¼ö¸¸Å­ ½ÇÇàÇÑ´Ù. ¨ê ½ÇÇà½Ãų ¸í·ÉÀÇ °¹¼ö¸¸Å­ ½ÇÇàÇÑ´Ù. C:\ASM>debug small.com¡¡ -p¡¡ AX=0000 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=155E ES=155E SS=155E CS=155E IP=0103 NV UP EI PL NZ NA PO NC 155E:0103 3C00 CMP AL,00 -p=110¡¡ AX=0000 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0002 DS=155E ES=155E SS=155E CS=155E IP=0115 NV UP EI PL ZR NA PE NC 155E:0115 6C DB 6C -p=100¡¡ AX=0900 BX=0000 CX=01FF DX=0109 SP=FFFE BP=C640 SI=0000 DI=0003 DS=155E ES=155E SS=155E CS=155E IP=0103 NV UP EI PL ZR NA PE NC 155E:0103 3C00 CMP AL,00 - -p=110,4¡¡ AX=0000 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0002 DS=155E ES=155E SS=155E CS=155E IP=0115 NV UP EI PL ZR NA PE NC 155E:0115 6C DB 6C AX=0000 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0003 DS=155E ES=155E SS=155E CS=155E IP=0119 NV UP EI PL ZR NA PE NC 155E:0119 66 DB 66 AX=0000 BX=0000 CX=01FF DX=0000 SP=FFFE BP=C640 SI=0000 DI=0003 DS=155E ES=155E SS=155E CS=155E IP=0121 OV UP EI PL NZ NA PE CY 155E:0121 BA0901 MOV DX,0109 AX=0000 BX=0000 CX=01FF DX=0109 SP=FFFE BP=C640 SI=0000 DI=0003 DS=155E ES=155E SS=155E CS=155E IP=0124 OV UP EI PL NZ NA PE CY 155E:0124 CD21 INT 21 - -p4¡¡ AX=0900 BX=0000 CX=01FF DX=0109 SP=FFFE BP=C640 SI=0000 DI=0003 DS=155E ES=155E SS=155E CS=155E IP=0105 NV UP EI PL ZR NA PE NC 155E:0105 7522 JNZ 0129 AX=0900 BX=0000 CX=01FF DX=0109 SP=FFFE BP=C640 SI=0000 DI=0003 DS=155E ES=155E SS=155E CS=155E IP=0107 NV UP EI PL ZR NA PE NC 155E:0107 EB16 JMP 011F AX=0900 BX=0000 CX=01FF DX=0109 SP=FFFE BP=C640 SI=0000 DI=0003 DS=155E ES=155E SS=155E CS=155E IP=011F NV UP EI PL ZR NA PE NC 155E:011F B409 MOV AH,09 AX=0900 BX=0000 CX=01FF DX=0109 SP=FFFE BP=C640 SI=0000 DI=0003 DS=155E ES=155E SS=155E CS=155E IP=0121 NV UP EI PL ZR NA PE NC 155E:0121 BA0901 MOV DX,0109 - 14. Q (Á¾·á) Q ¸í·ÉÀº µð¹ö°Å¸¦ Á¾·áÇÏ°í µµ½º·Î ºüÁ®³ª°£´Ù. Ctrl-C ¶Ç´Â Ctrl-Break À¸·Î´Â ºüÁ®³ª°¥ ¼ö ¾ø´Ù. Çü½Ä) Q 15. R (·¹Áö½ºÅÍ) R ¸í·ÉÀº ÇöÀçÀÇ ·¹Áö½ºÅÍÀÇ ³»¿ëÀ» º¸¿©ÁØ´Ù. Çü½Ä) R ---- ¨ç R [·¹Áö½ºÅÍ] ---- ¨è R [F] ---- ¨é ¨ç ´ÜÁö ·¹Áö½ºÅÍÀÇ ³»¿ëÀ» ³ªÅ¸³½´Ù. ¨è ·¹Áö½ºÅÍÀÇ ³»¿ëÀ» ³ªÅ¸³»°í »õ·ÎÀÌ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ·¹Áö½ºÅÍ´Â AX,BX,CX,DX,SP,BP,SI,DI,DS,ES,SS,CS,IP,ÀÌ´Ù. ¨é F ´Â ÇÁ·¡±× ·¹Áö½ºÅÍÀÌ´Ù. ÇÁ·¡±× ö½ºÅÍÀ °¢ ÇÁ·¡±×°¡ ³ªÅ¸³»´Â°ÍÀº ´ÙÀ½°ú °°´Ù. ¸¸¾à ÇÁ·¡±×¸¦ º¯°æÇÏ·Á¸é »õ·ÎÀÌ Äڵ带 ÀÔ·ÂÇÑ´Ù. +----------------------------+----------------+---------------+ | Flag name | ¼³Á¤ | ÇØÁ¦ | +----------------------------+----------------+---------------+ | Overflow | OV | NV | | Drection | DN | UP | | Interrupt | EL | DL | | Sign | NG | PL | | Zero | ZR | NZ | | Auxiliary Carry | AC | NA | | Parity | PE | PO | | Carry | CY | NC | +----------------------------+----------------+---------------+ C:\ASM>debug small.com¡¡ -r¡¡ AX=0000 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=155E ES=155E SS=155E CS=155E IP=0100 NV UP EI PL NZ NA PO NC 155E:0100 A08000 MOV AL,[0080] DS:0080=00 -r ax¡¡ ---- ¨ç AX 0000 ---- ¨è :100¡¡ ---- ¨é -r¡¡ AX=0100 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=155E ES=155E SS=155E CS=155E IP=0100 NV UP EI PL NZ NA PO NC 155E:0100 A08000 MOV AL,[0080] DS:0080=00 -r f¡¡ ---- ¨ê NV UP EI PL NZ NA PO NC -ov cy¡¡ ---- ¨ë -r f¡¡ OV UP EI PL NZ NA PO CY - -r¡¡ AX=0100 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=155E ES=155E SS=155E CS=155E IP=0100 OV UP EI PL NZ NA PO CY 155E:0100 A08000 MOV AL,[0080] DS:0080=00 - ¨ç AX ·¹Áö½ºÅÍÀÇ ³»¿ëÀ» º¸ÀδÙ. ¨è AX ·¹Áö½ºÅÍÀÇ ³»¿ë ¨é »õ·ÎÀÌ AX ·¹Áö½ºÅÍÀÇ ³»¿ëÀ» ¼³Á¤ÇÑ´Ù. ¨ê ÇÁ·¡±× ·¹Áö½ºÅÍÀÇ ³»¿ëÀ» º¸ÀδÙ. ¨ë ¿À¹öÇ÷οì ÇÁ·¡±×¿Í ij¸® Ç÷¡±×ÀÇ ³»¿ëÀ» º¯°æÇÑ´Ù. 16. S (°Ë»ö) S ¸í·ÉÀº ¸Þ¸ð¸®³»ÀÇ Æ¯Á¤ÇÑ µ¥ÀÌŸ¸¦ ã¾Æ³»°í ¹ß°ßµÈ ¾îµå·¹½º¸¦ Ç¥½ÃÇÑ´Ù. Çü½Ä) S ['¹®ÀÚ,¹®ÀÚ¿­'] ¾Õ¿¡¼­ ¸¸µé¾î º¸¾Ò´ø SMALL.COM ÀÇ ¸Þ½ÃÁöÀÎ 'Ex) small file1 file2' Áß¿¡¼­ 'small' À» ã¾Æ³»º¸ÀÚ. C:\ASM>small¡¡ Ex) small file1 file2 ---- ¨ç C:\ASM>debug small.com¡¡ ---- ¨è -r¡¡ ---- ¨é AX=0000 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=155E ES=155E SS=155E CS=155E IP=0100 NV UP EI PL NZ NA PO NC 155E:0100 A08000 MOV AL,[0080] DS:0080=00 -s 155e:100 'small'¡¡ ---- ¨ê 155E:010D ---- ¨ë - ¨ç small.com ÀÇ ¸Þ½ÃÁöÀÌ´Ù. ¨è small.com À» µð¹ö°Å·Î ·ÎµåÇÑ´Ù. ¨é R ¸í·ÉÀ¸·Î CS:IP ÀÇ °ªÀ» ¾Ë¾Æ³½´Ù. ¨ê 155E:100(CS:IP) ¿¡¼­ºÎÅÍ 'small' ÀÇ ¹®ÀÚ¿­À» °Ë»öÇÑ´Ù. ¨ë ¹®ÀÚ¿­À» ã¾Æ³½ ¸Þ¸ð¸®ÀÇ ¹øÁö 17. T (Æ®·¹À̽º) T ¸í·ÉÀº ÇÁ·Î±×·¥À» 1 ¸í·É¾¿ ½ÇÇàÇÏ°í ±×¶§ÀÇ ·¹Áö½ºÅÍÀÇ °ª,ÇÁ·¡±×ÀÇ »óÅ ,¸í·ÉÀ» Ç¥½ÃÇØÁØ´Ù. Çü½Ä) T ---- ¨ç T [=°³½Ã¾îµå·¹½º] ---- ¨è T [=°³½Ã¾îµå·¹½º Ƚ¼ö] ---- ¨é ¨ç ÇöÀçÀÇ CS:IP ÀÇ °ª¿¡¼­ 1 ¸í·É¾¿ ¼öÇàÇÑ´Ù. ¨è °³½Ã ¾îµå·¹½º¿¡¼­ ºÎÅÍ 1 ¸é·É¾¿ ¼öÇàÇÑ´Ù. ¨é °³½Ã ¾îµå·¹½º¿¡¼­ ºÎÅÍ È½¼ö¸¸Å­ ¼öÇàÇÑ´Ù. C:\ASM>debug small.com¡¡ -t¡¡ AX=0000 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=155E ES=155E SS=155E CS=155E IP=0103 NV UP EI PL NZ NA PO NC 155E:0103 3C00 CMP AL,00 -t¡¡ AX=0000 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=155E ES=155E SS=155E CS=155E IP=0105 NV UP EI PL ZR NA PE NC 155E:0105 7522 JNZ 0129 -t¡¡ AX=0000 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=155E ES=155E SS=155E CS=155E IP=0107 NV UP EI PL ZR NA PE NC 155E:0107 EB16 JMP 011F -t¡¡ AX=0000 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=155E ES=155E SS=155E CS=155E IP=011F NV UP EI PL ZR NA PE NC 155E:011F B409 MOV AH,09 - -t=110¡¡ AX=0900 BX=0000 CX=01FF DX=0000 SP=FFFE BP=0000 SI=0000 DI=0002 DS=155E ES=155E SS=155E CS=155E IP=0115 NV UP EI PL ZR NA PE NC 155E:0115 6C DB 6C - -t=110 5¡¡ AX=0900 BX=0000 CX=01FF DX=0109 SP=FFFE BP=0000 SI=0000 DI=0001 DS=155E ES=155E SS=155E CS=155E IP=0111 NV UP EI PL ZR NA PE NC 155E:0111 6C DB 6C AX=0900 BX=0000 CX=01FF DX=0109 SP=FFFE BP=0000 SI=0000 DI=0002 DS=155E ES=155E SS=155E CS=155E IP=0112 NV UP EI PL ZR NA PE NC 155E:0112 206669 AND [BP+69],AH SS:0069=00 AX=0900 BX=0000 CX=01FF DX=0109 SP=FFFE BP=0000 SI=0000 DI=0002 DS=155E ES=155E SS=155E CS=155E IP=0115 NV UP EI PL ZR NA PE NC 155E:0115 6C DB 6C AX=0900 BX=0000 CX=01FF DX=0109 SP=FFFE BP=0000 SI=0000 DI=0003 DS=155E ES=155E SS=155E CS=155E IP=0116 NV UP EI PL ZR NA PE NC 155E:0116 65 DB 65 AX=0900 BX=0000 CX=01FF DX=0109 SP=FFFE BP=0000 SI=0000 DI=0003 DS=155E ES=155E SS=155E CS=155E IP=0119 NV UP EI NG NZ NA PE NC 155E:0119 66 DB 66 - 18. U (¿ª ¾î¼Àºí) U ¸í·ÉÀº ±â°è¾î¸¦ ¿ª ¾î¼ÀºíÇØÁØ´Ù. ÀÌ ¸í·É¿¡ ÀÇÇØ ¿ª ¾î¼ÀºíµÈ ÄÚµå´Â Á¤È®ÇÑ ÇÁ·Î±×·¥ÀÇ Äڵ尡 ¾Æ´Ï´Ù. µð¹ö°Å´Â ¸í·ÉÄÚµåÀÎÁö ¾Æ´Ï¸é µ¥ÀÌŸ ÀÎÁö¸¦ °¡¸®Áö ¾Ê°í ¹«Á¶°Ç ¿ª¾î¼Àºí Çϱ⠶§¹®ÀÌ´Ù. µû¶ó¼­ ´ë°Ô Á¡ÇÁ ¸í·ÉÀÌÈÄÀÇ ¿ª¾î¼ÀÄÚµå´Â µ¥ÀÌŸÀÎ °æ¿ì°¡ ¸¹´Ù. Çü½Ä) U ---- ¨ç U [¹üÀ§] ---- ¨è U [°³½Ã¾îµå·¹½º] ---- ¨é ¨ç CS:IP ·ÎºÎÅÍ 32¹ÙÀÌÆ®¸¦ ¿ª¾î¼ÀºíÇÑ´Ù. ¨è ¹üÀ§·Î Á¤ÇØÁø¸¸Å­ ¿ª¾î¼ÀºíÇÑ´Ù. ¨é °³½Ã ¾îµå·¹½º·ÎºÎÅÍ ÀÌÈÄ 32¹ÙÀÌÆ®¸¦ ¿ª¾î¼ÀºíÇÑ´Ù. C:\ASM>debug small.com¡¡ CS:IP ·ÎºÎÅÍ 32¹ÙÀÌÆ®¸¦ ¿ª ¾î¼ÀºíÇÑ´Ù. -U¡¡ 155E:0100 A08000 MOV AL,[0080] 155E:0103 3C00 CMP AL,00 155E:0105 7522 JNZ 0129 155E:0107 EB16 JMP 011F 155E:0109 45 INC BP 155E:010A 7829 JS 0135 155E:010C 20736D AND [BP+DI+6D],DH 155E:010F 61 DB 61 155E:0110 6C DB 6C 155E:0111 6C DB 6C 155E:0112 206669 AND [BP+69],AH 155E:0115 6C DB 6C 155E:0116 65 DB 65 155E:0117 3120 XOR [BX+SI],SP 155E:0119 66 DB 66 155E:011A 69 DB 69 155E:011B 6C DB 6C 155E:011C 65 DB 65 155E:011D 3224 XOR AH,[SI] 155E:011F B409 MOV AH,09 - CS:100 ¡­ 110 ÀÇ ³»¿ëÀ» ¿ª ¾î¼ÀºíÇÑ´Ù. -u 100 110¡¡ 155E:0100 A08000 MOV AL,[0080] 155E:0103 3C00 CMP AL,00 155E:0105 7522 JNZ 0129 155E:0107 EB16 JMP 011F 155E:0109 45 INC BP 155E:010A 7829 JS 0135 155E:010C 20736D AND [BP+DI+6D],DH 155E:010F 61 DB 61 155E:0110 6C DB 6C - CS:200 ÀÌÈÄ 32¹ÙÀÌÆ®¸¦ ¿ª ¾î¼ÀºíÇÑ´Ù. -u 200¡¡ 155E:0200 73E4 JNB 01E6 155E:0202 B43E MOV AH,3E 155E:0204 8B1EA802 MOV BX,[02A8] 155E:0208 CD21 INT 21 155E:020A B43E MOV AH,3E 155E:020C 8B1EAA02 MOV BX,[02AA] 155E:0210 CD21 INT 21 155E:0212 E85300 CALL 0268 155E:0215 B44C MOV AH,4C 155E:0217 CD21 INT 21 155E:0219 EB0C JMP 0227 155E:021B 52 PUSH DX 155E:021C 65 DB 65 155E:021D 61 DB 61 155E:021E 64 DB 64 155E:021F 206572 AND [DI+72],AH - 19. W (¾²±â) W ¸í·ÉÀº ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» È­ÀÏÀ̳ª ÀÓÀÇÀÇ ¼½ÅÍ¿¡ ½á ³Ö´Â´Ù. Çü½Ä) W [¾îµå·¹½º] W [¾îµå·¹½º µå¶óÀ̺ê¹øÈ£ ·¹ÄÚµå¹øÈ£ ¼½Åͼö] ´ÙÀ½Àº µð¹ö±×¸¦ ÀÌ¿ëÇؼ­ ÄÄÇ»Å͸¦ ¸®ºÎÆà ½ÃÄÑÁÖ´Â Àß ¾Ë·ÁÁø ÇÁ·Î±×·¥À» ¸¸µé¾îº»´Ù. ÀÌ ºÎÆÃÀº ¿ú ºÎÆÃÀÌ°í ¸Þ¸ð¸®¸¦ °Ë»çÇÏÁö ¾Ê´Â´Ù. C:\ASM>debug reboot.com¡¡ File not found -a 100¡¡ 154D:0100 mov ax,40¡¡ ---- ¨ç 154D:0103 mov ds,ax¡¡ ---- ¨è 154D:0105 mov ax,1234¡¡ ---- ¨é 154D:0108 mov [72],ax¡¡ ---- ¨ê 154D:010B jmp ffff:0¡¡ ---- ¨ë 154D:0110¡¡ -r cx¡¡ ---- ¨ì CX 0000 :10¡¡ ---- ¨í -w¡¡ Writing 00010 bytes -q¡¡ ¨ç AX ¿¡ 40H ¸¦ ³Ö´Â´Ù. ¨è DS ¿¡ AX ¸¦ º¹»çÇÑ´Ù. ÀÌ°ÍÀº °á±¹ DS ¸¦ ¼³Á¤ÇÏ´Â ÀÛ¾÷ÀÌ´Ù. (DS=40H) ¨é AX ¿¡ 1234H ¸¦ ³Ö´Â´Ù. ¨ê DS:72H ¿¡ 1234H ¸¦ ³Ö´Â´Ù. ÀÌ°ÍÀº DS:72H ¿¡ ¿öµå 1234H ¸¦ ³ÖÀ¸¸é ¿úºÎÆýÿ¡ ¸Þ¸ð¸® °Ë»ç¸¦ »ý·«Çϱ⠶§¹®ÀÌ´Ù. ¨ë ºÎÆ® ½ºÆ®·¦ ÇÁ·Î±×·¥À¸·Î ºÐ±â ¨ì CX ·¹Áö½ºÅ͸¦ »õ·Î ÀÛ¼ºÇϱâ À§ÇÔÀÌ´Ù. ¨í CX ¿¡ 10H ¸¦ ³Ö´Â´Ù. ÀÌ°ÍÀº W ¸í·É½Ã¿¡ CX ·¹Áö½ºÅÍÀÇ °ª ¸¸Å­ ¾²±â ¶§¹®ÀÌ´Ù. ÀÌ»óÀÔ´Ï´Ù. ¾î¶®¾î¿ä? ±¦Âú¾ÒÁÒ? ¿öµå·Î »Ì¾ÆµÎ½Ã¸é ÁÁÀº ±³Àç°¡ µÉ°ÍÀÔ´Ï´Ù. ¾È³çÈ÷°è¼¼¿ä. [26] Á¦¸ñ : [¿¹°í] °­Á¸¦ ½ÃÀÛÇϱâ Àü¿¡... ¿Ã¸°ÀÌ : natali (¹Ú¼±±Ù ) 95/01/20 02:18 ÀÐÀ½ : 165 °ü·ÃÀÚ·á ¾øÀ½ ¾È³çÇϼ¼¿ä.. ³ªÅ»¸® ¹Ú¼±±ÙÀÔ´Ï´Ù. ¾î¼Àºí¸® °­Á¸¦ ½ÃÀÛÇϱâ Àü¿¡ ¾Ë·Áµå¸± °Í°ú ºÎŹÇÏ°íÇ °ÍÀÌ À־ ±× ¿¹°íÆíÀ» ¿Ã¸³´Ï´Ù. À̹ø¿¡ ÇÏ°ÔµÉ ¾î¼Àºí¸® °­Á´ ¾î¼Àºí¸® ¼Ò½º¸¦ ºÐ¼®ÇÏ´Â Çü½ÄÀ¸·Î ÁøÇàÇÏ°Ô µË´Ï´Ù. ±×·±µ¥ °­Á¿¡ ¾µ Àç·á°¡ ³Ê¹« ºÎÁ·ÇÑ ÇüÆíÀÔ´Ï´Ù. ±¸»óÇϱâ´Â ¹ÙÀÌ·¯½º Äڵ带 ºÐ¼®ÇØ º¸·Á°í Çߴµ¥ ±× ¼Ò½º¸¦ ¾ò±â°¡ ±×¸® ½¬¿î ÀÏÀÌ ¾Æ´Ï±º¿ä. ¹ÙÀ̳ʸ®¶óµµ ÀÖ´Ù¸é ÁÁ°ÚÁö¸¸ ±×°Íµµ ¾ø¾î¼­ ¿À´Ã ÀÚ·á½ÇÀ» ÀÌ°÷ Àú°÷ µÚÁ³½À´Ï´Ù¸¸ ÇÑ °Çµµ ¸ø¿Ã·È½À´Ï´Ù. °­Á¿¡ ¾²ÀÏ ¸¸ÇÑ Àç·á°¨À» °®°í °è½Å ºÐÀº Á¦°Ô Á» º¸³» ÁÖ¼¼¿ä. ¹ÙÀÌ·¯½º Äڵ尡 ¾Æ´Ï¶óµµ ±¦Âú½À´Ï´Ù. ´Ù¸¸, ±×·¡ÇÈ ÇÁ·Î±×·¥À̳ª »ó¾÷¿ë ÇÁ·Î±×·¥ÀÇ ¶ô °°Àº °ÍÀº »çÀýÇÏ°Ú½À´Ï´Ù. º¸³»ÁֽŠÄڵ尡 °­Á¿¡ ¾²ÀÏÁö´Â ¸ð¸¨´Ï´Ù. ±×°Ç Á¦°¡ Äڵ带 º¸°í °­Á¿¡ ¾²ÀÏ ¸¸ÇÑ ³»¿ëÀΰ¡¸¦ °áÁ¤ÇÕ´Ï´Ù. ±×·³ °ü½ÉÀÖ´Â ºÐÀÇ µµ¿òÀ» ¹Ù¶ó¸é¼­ À̸¸... [28] Á¦¸ñ : [°­ÁÂ] ¾î¼Àºí¸® ¼Ò½ººÐ¼® <1> ¿Ã¸°ÀÌ : natali (¹Ú¼±±Ù ) 95/01/24 19:14 ÀÐÀ½ : 451 °ü·ÃÀÚ·á ¾øÀ½ ============================================================================= ¾î¼Àºí¸® < 1 > - Source ºÐ¼®À» Áß½ÉÀ¸·Î - ÀÛ¼º: ¹Ú¼±±Ù(NATALI), 1995.01. * °£ÆíÈ­¸¦ À§ÇØ °æ¾î¸¦ »ç¿ëÇÏÁö ¾Ê¾Ò½À´Ï´Ù. * TASM 1.0 ÀÌ»ó ¶Ç´Â MASM 5.0ÀÌ»óÀÇ ¾î¼Àºí·¯°¡ ÇÊ¿äÇÕ´Ï´Ù. ----------------------------------------------------------------------------- <> ¾î¼Àºí¸®°¡ ÇÊ¿äÇÑ ÀÌÀ¯ <> ============================================================================= [ ¾î¼Àºí¸®ÀÇ È¿¿ë¼º ] ¾î¼Àºí¸®¾î´Â Àΰ£ÀÌ ÀÌÇØÇÒ ¼ö ÀÖ´Â À¯ÀÏÇÑ(?) Àú¼öÁØ ¾ð¾îÀÌ´Ù. ¿¹ÀüÀÇ °ÅÀÇ ´ëºÎºÐÀÇ ¿ì¼öÇÑ ÇÁ·Î±×·¥µéÀº ¾î¼Àºí¸®·Î Á¦À۵Ǿú¾ú°í, Áö±Ýµµ ¾î¼À ºí¸®´Â ¿©ÀüÈ÷ Áß¿äÇÑ ¾ð¾îÀÓ¿¡ Ʋ¸²¾ø´Ù. ±×·¯³ª ¾î¼Àºí¸®¾î°¡ Ç¥Çö°ú Æǵ¶ÀÇ ¾î·Á¿òÀÌ ÀÖ°í ÇÁ·Î±×·¥ °³¹ß¿¡ ÅõÀÚÇØ¾ß ÇÏ´Â ³ë·ÂÀÇ ºñ´ëÇÔÀ¸·Î Á¡Â÷ÀûÀ¸·Î ±× ¼Ò¿ëÀÌ ¹ÌÁøÇØ Áö°í ÀÖ´Â °Í ¶ÇÇÑ »ç½ÇÀÌ´Ù. ÇöÀç °í±Þ¾ð¾î Áß¿¡¼­ °¡Àå ÃÖÀûÀÇ Äڵ带 »ý¼ºÇÏ´Â °ÍÀ¸·Î Æò°¡µÇ´Â C¾ð¾î ¿ª½Ã ±Ã±Ø¿¡´Â ¾î¼Àºí¸®ÀÇ ¹üÁÖ¿¡ Æ÷ÇԵʿ¡µµ ºÒ±¸ÇÏ°í ¸¶Ä¡ ¾î¼Àºí¸®°¡ C¸¦ À§ÇØ ÀÖ´Â µíÇÑ Âø°¢À» ÀÏÀ¸Å³ ¸¸Å­ ¾î¼Àºí¸®ÀÇ »ç¿ëÃþÀº ¿¯¾îÁ³°í, ´ë½Å CÀÇ »ç¿ëÃþÀº ±×¸¸ Å­ µÎÅÍ¿ö Á³´Ù. ±×·¯³ª, ÀüÇô »õ·Î¿î À¯ÇüÀÇ ½Ã½ºÅÛ°ú ¾ð¾î°¡ ³ª¿ÀÁö ¾Ê´Â ÇÑ ¾î ¼Àºí¸®´Â ¿©ÀüÈ÷ ÃÖÀûÀÇ Äڵ带 »ý¼ºÇÏ´Â ¾ð¾î·Î Á¸ÀçÇÒ °ÍÀÌ°í, ¶Ç »ç¿ëµÉ °ÍÀÌ´Ù (ÇöÀçÀÇ ¸ðµç ½Ã½ºÅÛÀº 0°ú 1ÀÇ Ç¥Çö¿¡ ÀÇÁ¸ÇÏ´Â ±â°è¾î¸¦ ±× ƒIè· »ï°íÀÖ´Ù ±×·± Á¡¿¡¼­ ¾î¼Àºí¸®´Â ±â°è¾î¸¦ ´ë½ÅÇÏ´Â °¡Àå °£°áÇÑ Äڵ带 »ý¼ºÇÑ´Ù. ±×·¯³ª ¸¸¾à ½Ã½ºÅÛÀÌ Àΰ£ÀÇ ¸»À» ¹Ù·Î ÀÌÇØÇÏ´Â À̸¥ ¹Ù 'ÀΰøÁö´É'ÀÌ Çö½ÇÈ­ µÈ´Ù¸é ´õ ÀÌ»ó ¾î¼Àºí¸®¸¦ »ç¿ëÇÏ¿© º¹ÀâÇÑ ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ÀÌÀ¯´Â ¾øÀ» °ÍÀÌ´Ù. ¸»ÇÏ´Â °Í ÀÌ °ð ÇÁ·Î±×·¥ÀÌ µÉÅ״ϱî...) ¸¹Àº ÇÁ·Î±×·¥µéÀÌ C¸¦ ÅëÇØ ±¸ÇöµÇ°í ÀÖ´Ù. ±×·¯³ª Àü¹®ÀûÀÎ ÇÁ·Î±×·¡¸Ó´Â °áÄÚ C Çϳª¿¡ ÀÇÁ¸ÇÏÁö ¾Ê´Â´Ù. C°¡ Æí¸®Çϱâ´Â ÇÏÁö¸¸ °áÄÚ ÃÖÀûÀÇ Äڵ带 »ý¼ºÇÏÁö´Â ¸øÇÑ´Ù´Â °ÍÀ» Àß ¾Ë°í Àֱ⠶§¹®ÀÌ´Ù. ±×·¸´Ù°í Çؼ­ ¾î¼Àºí¸®¸¸À» »ç¿ëÇÏÁöµµ ¾Ê ´Â´Ù. ±×°Ç ³Ê¹«³ª ºñ°æÁ¦ÀûÀÌ´Ù. °¡Àå ÁÁÀº ¹æ¹ýÀº, C¿Í ¾î¼Àºí¸®¸¦ º´¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ·± °ÍÀÌ ÀÖ´Ù. µ¥ÀÌŸº£À̽º¸¦ ±¸ÃàÇϴµ¥ ±»ÀÌ C³ª ¾î¼Àºí¸®¸¦ »ç¿ëÇÒ ÇÊ¿ä´Â ¾ø´Ù. ÀÌ¹Ì µ¥ÀÌŸ º£À̽º¸¦ À§ÇÑ Àü¹®ÀûÀÎ ¾ð¾îµéÀÌ ÀÖ´Ù. Ŭ¸®ÆÛ³ª Æø½ºÇÁ·Î µîÀÇ ½±°Ô µ¥ÀÌŸº£ÀÌ ½º¸¦ ±¸ÃàÇÒ ¼ö ÀÖ´Â ¾ð¾îµéÀÌ °³¹ßµÇ¾î ÀÖ´Â °ÍÀÌ´Ù. ½±°Ô ÇÒ ¼ö Àִµ¥ ±»ÀÌ ¾î ·Æ°Ô ÇÒ ÀÌÀ¯´Â ¾ø´Â °ÍÀÌ´Ù. ±×·±µ¥, ±â°è¸¦ Á¦¾îÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µå´Âµ¥ Ŭ¸® ÆÛ³ª Æø½ºÇÁ·Î ¸¸À» »ç¿ëÇÒ ¼ö Àְڴ°¡? ¾î·Á¿î ÀÏÀÌ´Ù. ÀÌ·² ¶© ¿ÀÈ÷·Á C³ª ¾î¼À ºí¸®¸¦ »ç¿ëÇÏ´Â °ÍÀÌ °æÁ¦ÀûÀÌ´Ù. ±×·¸´Ù¸é, µ¥ÀÌŸº£À̽º³»¿¡¼­ ±â°è¸¦ Á¦¾îÇØ¾ß ÇÑ´Ù¸é ¾î¶»°Ô ÇØ¾ß Çϴ°¡? µ¥ÀÌŸº£À̽º ±¸Ãà ºÎºÐÀº µ¥ÀÌŸº£À̽º¸¦ À§ÇÑ Àü¿ë ¾ð¾î¸¦ »ç¿ëÇÏ°í, ±â°èÁ¦¾îÇÏ´Â ºÎºÐÀº ¶Ç ±×¿¡ ÀûÇÕÇÑ ¾ð¾î¸¦ »ç¿ëÇÏ¿© ±× µÑÀ» °áÇÕÇÑ´Ù¸é ÀÏÀº º¸´Ù ¼ö¿ùÇØ Áú °ÍÀÌ´Ù. C¿Í ¾î¼Àºí¸®¸¦ º´¿ëÇÏ´Â °Íµµ ÀÌ·¯ÇÑ ³»¿ë°ú ¸Æ¶ôÀ» °°ÀÌ ÇÑ´Ù. º¸´Ù ºü¸¥ ½ÇÇà ¼Óµµ°¡ ¿ä±¸µÇ´Â ºÎºÐÀº ºü¸¥ 󸮰¡ °¡´ÉÇÑ ¾ð¾î·Î, ±×´ÙÁö ¼Óµµ ´Â ¿ä±¸µÇÁö ¾ÊÁö¸¸ ¾î¼Àºí¸®¿Í °°Àº º¹ÀâÇÑ ¾ð¾î·Î´Â ±¸ÇöÇϱ⠱î´Ù·Î¿î ºÎºÐÀº Ç¥ÇöÀÌ º¸´Ù ½¬¿î ¾ð¾î·Î ÀÛ¼ºÇÏ¿© ±× µÑÀ» °áÇÕÇÏ´Â °ÍÀÌ´Ù. ±×·± Á¡¿¡¼­, ¾î¼Àºí¸®´Â ¾î¶² ¾ð¾îº¸´Ùµµ ºü¸¥ 󸮸¦ °¡´ÉÇÏ°Ô ÇÑ´Ù. ÀÌ°ÍÀÌ ¾î ¼Àºí¸®°¡ ±¸ÇöÀÌ ¾î·Á¿î Áß¿¡µµ ²ÙÁØÈ÷ »ç¿ëµÇ°í ÀÖ´Â °¡Àå À¯·ÂÇÑ ÀÌÀ¯À̸ç, ¾î¼À ºí¸®ÀÇ È¿¿ë¼ºÀÌ ¿©±â¿¡ ÀÖ´Â °ÍÀÌ´Ù. [ ¾î¼Àºí¸®¸¦ ¹è¿ì´Âµ¥ ÇÊ¿äÇÑ °Íµé ] º» °­Á¸¦ º¸½Ã´Â µ¥´Â ¾Æ·¡ÀÇ »çÇ×À» ÁغñÇÏ°í ÀÖÀ¸¸é µµ¿òÀÌ µÈ´Ù. - µð¹ö°Å(Debugger) ÇÁ·Î±×·¡¹ÖÀ» Çϴµ¥ À־ ÇʼöÀûÀÎ °ÍÀÌ´Ù. ÀÚ½ÅÀÇ ¼Õ¿¡ ÀÍÀº µð¹ö°Å°¡ ÀÖ´Ù¸é ÁÁ°ÚÁö¸¸ ±×·¸Áö ¸øÇÏ´Ù¸é ¸ÕÀú µð¹ö °ÅÀÇ »ç¿ëÀ» ÀÍÈ÷´Â °ÍÀÌ ÁÁ°Ú´Ù. µð¹ö°Å´Â ¿©·¯ Á¾·ù°¡ Àִµ¥ °¡Àå °£´ÜÇÑ ÇüÅ·δ µµ½º¿¡ ÇÔ²² Á¦°øµÇ ´Â debug°¡ ÀÖ°í, º¼·£µåÀÇ Turbo Debugger¿Í MSÀÇ Code View µîÀÌ °¡Àå ¸¹ÀÌ »ç¿ëµÇ°í ÀÖ´Ù. ÀÌ °­Á´ Turbo Debugger¿Í Code View°¡ ±¸ÀÔÇϱ⠾î·Á¿î Á¡À» °¨¾ÈÇÏ¿© µµ½ºÀÇ debug¸¦ Ç¥ÁØ µð¹ö°Å·Î »ç¿ëÇÒ °ÍÀÌ´Ù. debugÀÇ »ó¼¼ÇÑ »ç¿ë ¹æ¹ýÀº ¸Þ´º¾óÀ» Âü°íÇϽñ⠹ٶó°í, ÀÌ °­Á¿¡¼­ ´Â debugÀÇ ¸í·É¾î »ç¿ë¿¡ °üÇÑ ÀÏüÀÇ ¼³¸íÀ» ÇÏÁö ¾Ê´Â´Ù. - ¼Ò¼­(Sourcer) ÀÌ ÇÁ·Î±×·¥Àº ¾î¼Àºí¸® source¸¦ ¾òÀ» ¼ö ÀÖµµ·Ï ÇÏ´Â ¿ª¾î¼Àºí·¯ÀÌ´Ù. 'V Communication'À̶ó´Â °÷ (ȸ»ç À̸§ÀÌ Á¤È®ÇÑÁö ¸ð¸£°Ú´Ù)¿¡¼­ ³ª¿Â ÇÁ·Î±×·¥Àε¥ ¾Æ¸¶ ½¦¾îÀÏ °ÍÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù¸é ÁÁÀº ÀÏÀÌ°ÚÀ¸ ³ª ¾ø¾îµµ »ó°ü¾ø´Ù. ¿ª¾î¼Àºí ÄÚµå´Â µµ½ºÀÇ debug¸¦ ÅëÇؼ­µµ ¾òÀ» ¼ö Àֱ⠶§¹®ÀÌ´Ù. debug·Î ¿ª¾î¼Àºí Äڵ带 ¾ò´Â ¹æ¹ýÀº µû·Î ¼³¸íÀ» µå¸® °Ú´Ù. - ÇÁ¸°ÅÍ(Printer) ÇÁ¸°ÅÍ°¡ ¾ø´Ù¸é »ó´çÈ÷ °ï¶õÇÏ´Ù. ¼ö¹é, ¼öõ lineÀÇ ¾î¼Àºí¸® Äڵ带 È­¸é¸¸ ÅëÇؼ­ º¸±â´Â ¹«Ã´ Èûµç ±î´ßÀÌ´Ù. ÇÑ È­¸é¿¡ ³ªÅ¸³¾ ¼ö ÀÖ´Â lineÀÇ ¼ö°¡ ³Ê¹« À۱⠶§¹®¿¡ ÀüüÀûÀÎ À±°ûÀ» Àâ±â°¡ ¹«Ã´ ¾î·Æ´Ù. ÀÌ ¶§´Â ÇÁ¸°Æ®ÇØ ³õ°í º¸¾Æ¾ß ÇÑ´Ù. ÇÁ¸°ÅÍ°¡ ¾ø´Ù¸é ºñ»óÇÑ ±â¾ï·Â(?) °ú ¾î¶² À¯È¤µµ »Ñ¸®Ä¡°í ÄÄÇ»ÅÍ ¸ð´ÏÅÍ¿¡ ÁýÁßÇÒ ¼ö ÀÖ´Â ¹«¼­¿î(?) ÀÎ ³»·ÂÀÌ ¿ä±¸µÉ °ÍÀÌ´Ù. [ debug¸¦ ÅëÇØ ¿ª¾î¼Àºí Äڵ带 ¾ò´Â ¹æ¹ý ] debug´Â °£ÀÌ ¾î¼Àºí·¯¶ó°íµµ ºÒ¸± ¸¸Å­ ³ª¸§´ë·Î µ¶Æ¯ÇÑ ±â´ÉÀ» º¸À¯ÇÏ°í ÀÖ´Ù. Á÷Á¢ ¾î¼Àºí¸® Äڵ带 ½á³ÖÀ» ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» ¿ª¾î¼ÀºíÇØ º¼ ¼öµµ ÀÖ´Ù. ¿ª¾î¼ÀºíµÈ Äڵ带 È­ÀÏÀ̳ª ÇÁ¸°ÅÍ·Î Ãâ·ÂÇϱâ À§Çؼ­´Â µµ½ºÀÇ ÇÊÅÍ ±â´ÉÀ» ÀÌ¿ëÇÏ¸é µÈ´Ù. ¿ì¼± ´ÙÀ½°ú °°Àº °£´ÜÇÑ ³»¿ëÀÇ ÅؽºÆ® È­ÀÏÀ» ÀÛ¼ºÇØ µÎÀÚ. u 100 200 <- ¸ðµç .COMÇÁ·Î±×·¥Àº 100h¹øÁö¿¡¼­ ½ÃÀ۵ȴÙ. q <- ¹Ýµå½Ã 'q(Q)'°¡ ÀÖ¾î¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÇÊÅÍ¿¡¼­ ºüÁ® ³ª¿ÀÁú ¸øÇÑ´Ù. ÀÌ È­ÀÏÀÇ À̸§À» "dump.dat"¶ó°í ÇÏÀÚ. ÀÌÁ¦ ¸í·ÉÇà »ó¿¡¼­ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù. C:\>debug command.com < dump.dat > command.a ¸í·ÉÀ» ÀÔ·ÂÇÏ°í Àá½Ã ±â´Ù·È´Ù°¡ µð·ºÅ丮¸¦ º¸¸é 'command.a'°¡ »õ·Î »ý¼ºµÇ¾úÀ» °ÍÀÌ´Ù. ÀÌ È­ÀÏÀÇ ³»¿ëÀ» º¸¸é ¾î¼Àºí¸® Äڵ尡 µé¾úÀ» ÅÙµ¥, ÀÌ´Â À§ÀÇ ÀÏ·ÃÀÇ µ¿ÀÛÀ» ÅëÇØ ÇÊÅÍó¸®µÈ command.comÀÇ CS:0100h~CS:0200h ¹üÀ§ÀÇ ¿ª¾î¼À ºí¸® ÄÚµåÀÌ´Ù. command.comÀÇ ¸ðµç ³»¿ëÀ» ¿ª¾î¼Àºí ÇÏÀÚ¸é Àüü ÇÁ·Î±× ·¥ÀÇ Å©±â ¸¸Å­ ó¸®ÇÏ¸é µÉ °ÍÀÌ´Ù(ÇÏÁö¸¸ ÀÌ·± ÀÏÀº ÇÏÁö ¸»±â ¹Ù¶õ´Ù. ¾Æ·¡¿¡ ½ÇÇèÀ» À§ÇÑ º¸´Ù ÀÛÀº ÇÁ·Î±×·¥À» ¿¹·Î µé¾ú´Ù) ÀÌ·± ¹æ¹ýÀ¸·Î, ´Ù¼Ò ´ä´äÇÑ °¨ÀÌ ÀÖÁö¸¸ sourcer¾øÀÌ debug¸¦ ÅëÇØ ¾î¼À ºí¸® Äڵ带 ¾ò°Ô µÈ´Ù. [ debug¸¦ ÅëÇØ ¿ª¾î¼Àºí¸® Äڵ带 ¾ò´Â °£´ÜÇÑ ½ÇÇè ] ±Ã±ÝÁõÀ» ÇؼÒÇϱâ À§ÇØ °£´ÜÇÑ ½ÇÇèÀ» Çغ¸µµ·Ï ÇÏÀÚ. debug¸¦ ±âµ¿½ÃÅ°°í ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù. C:\>debug -a jmp 110 db 'Hello, World!$' mov dx,102 mov ah,9 int 21 mov ax,4c00 int 21 -nhello.com -rcx 1c -w -q À§ÀÇ ³»¿ëÀ» ¸ðµÎ ÀÔ·ÂÇß´Ù¸é debug¿¡¼­ ºüÁ® ³ª¿Í ÀÖÀ» °ÍÀÌ´Ù. µð·ºÅ丮¸¦ º¸¸é 'hello.com'ÀÌ »õ·ÎÀÌ »ý¼ºµÇ¾î ÀÖÀ» °ÍÀε¥, ÀÌ ÇÁ·Î±×·¥Àº ½ÇÇà ÇÒ ¼ö ÀÖ´Ù. ½ÇÇàÇϸé È­¸é¿¡ 'Hello, World!'¸¦ Ãâ·ÂÇÑ´Ù. À§ÀÇ ÇÁ·Î±×·¥À» ÀÌÁ¨ °Å²Ù·Î ¿ª¾î¼Àºí Çغ¸ÀÚ. ´ÙÀ½°ú °°Àº ³»¿ëÀÇ 'dump.dat'È­ÀÏÀ» ÀÛ¼ºÇÑ´Ù. u 100 11c q ÀÌÁ¦ µµ½º»ó¿¡¼­ ´ÙÀ½À» ÀÔ·ÂÇÏÀÚ. C:\>debug hello.com < dump.dat > hello.asm »ý¼ºµÈ 'hello.asm'À» º¸¸é À§¿¡¼­ ÀÔ·ÂÇÒ ¶§¿Í´Â Á¶±Ý ´Ù¸§À» ¾Ë ¼ö ÀÖ´Ù ´Ù¸¥ ºÎºÐÀº 'Hello, World!$'¸¦ ãÀ» ¼ö ¾ø´Â °ÍÀε¥ ´ë½Å 'DB ...'¶ó´Â ³»¿ëÀ̳ª ÀÔ·ÂÇÏÁö ¾Ê¾Ò´ø ¸í·ÉµîÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. CS:0100 JMP 0110 ; µ¥ÀÌŸ ºÎºÐÀ» °Ç³Ê¶Ü ----+ ; | CS:0102 DEC AX ; ÀÌ ºÎºÐÀÌ 'Hello, World!$' | DB 65 ; " " | DB 6C ; " " | DB 6C ; " " | DB 6F ; " " | SUB AL,20 ; " " | PUSH DI ; " " | DB 6F ; " " | JB 0179 ; " " | DB 64 ; " " | AND [SI],SP ; " " | ; | CS:0110 MOV DX,0102 ; ¹®ÀÚ¿­ Ãâ·Â ºÎºÐ <---+ MOV AH,09 INT 21 CS:0117 MOV AX,4C00 ; Á¾·áó¸® INT 21 ÀÌ ÇÁ·Î±×·¥ÀÇ °æ¿ì´Â Á÷Á¢ ÀÛ¼ºÇÑ °ÍÀ̹ǷΠÁ¤È®È÷ µ¥ÀÌŸ°¡ ¾îµð¿¡¼­ ¾î µð±îÁö¶ó´Â °ÍÀ» ¾Ë ¼ö ÀÖ¾úÁö¸¸ ÀÚ½ÅÀÌ ÀÛ¼ºÇÏÁö ¾ÊÀº ¾î¶² ÀÓÀÇÀÇ ÇÁ·Î ±×·¥À» ¿ª¾î¼ÀºíÇÑ´Ù¸é ±×·± °ÍµéÀ» ¾î¶»°Ô ¾Ë ¼ö ÀÖÀ»±î? Èûµç ÀÏÀÌÁö¸¸, ±×·± ³»¿ëÀ» ÆľÇÇÏ´Â °ÍÀÌ ¹Ù·Î 'ºÐ¼®'ÀÇ ¹¦¹ÌÀÌ´Ù. ¸¹Àº °æ¿ì¿¡ ±×·¯ÇÑ ³»¿ëÀ» ÆÇ´ÜÇÏ´Â °ÍÀº ºÐ¼®ÀÚÀÇ Á÷°ü(?)À̳ª °æÇè¿¡ ÀÇÇØ ÆľǵȴÙ. À§ÀÇ ÇÁ·Î±×·¥ÀÇ ¿¹¿¡¼­´Â 'jmp'¿¡ ÀÇÇØ ¾Æ¿¹ µ¥ÀÌŸ ºÎºÐÀ» °Ç ³Ê ¶Ù°í ÀÖ´Ù. ±×¸®°í, µµ½ºÀÇ ¹®ÀÚ¿­ Ãâ·Â ÇÔ¼öÀÎ 09h´Â DX¿¡ Ãâ·ÂÇÒ ¹® ÀÚ¿­ÀÇ ¿É¼ÂÀ» °¡Áö¸ç ±× ¹®ÀÚ¿­ÀÇ ³¡Àº ¹Ýµå½Ã '$'ÀÌ´Ù. ÀÌ·¯ÇÑ Á¡À¸·Î ¹Ì·ç¾î º¼ ¶§, ¿É¼Â 102h¿¡¼­ 10Fh±îÁö´Â ½ÇÇàÇÒ ¼ö ¾ø´Â µ¥ÀÌŸ ÀÓÀ» Áü ÀÛÇÏ¿© ¾Ë ¼ö ÀÖ´Ù(Á¤¸»Àϱî?) ¹°·Ð, ÇöÀç·Î½ã ÇÊÀÚ°¡ ÀÌ·¸°Ô ¸»ÇÏ´Ï '±×·±°Í °°´Ù..' ÇÏ´Â »ý°¢À» ÇÒ °Í ÀÌ´Ù. ÇÏÁö¸¸ ½ÇÀü(?)¿¡¼­´Â °£´ÜÇÑ ¹®Á¦°¡ ¾Æ´Ï´Ù. ¼öõ¶óÀÎ(¾î¼Àºí¸®¿¡ ¼­ ¼ö¹é¶óÀÎ ³Ñ±â±â´Â ½¬¿î ÀÏÀÌ´Ù)ÀÇ Äڵ忡¼­ ¾î¶»°Ô °£´ÜÇÒ ¼ö ÀÖ°Ú´Â °¡? ¾î·Á¿î ÀÏÀÌ´Ù. [ °­Á¸¦ ½ÃÀÛÇϱâ ÀüÀÇ ¹®Á¦Á¡µé... ] º» °­Á¿¡¼­´Â Áö±Ý ±×·¸°Ô ¾î·Á¿î ÀÏÀ» Çغ¸·Á°í ÇÑ´Ù. °­Á°¡ ¾î¶»°Ô ÁøÇàµÉÁö´Â ±ÛÀ» ¾²°í ÀÖ´Â º»ÀÎÀ¸·Î½áµµ ¿¹ÃøÇÒ ¼ö ¾ø´Ù. ¿¹°íÆí¿¡¼­ ¾Ë·Á µå·ÈµíÀÌ, ºÐ¼®ÇØ º¼¸¸ÇÑ ¾î¼Àºí¸® ¼Ò½º¸¦ ±¸ÇÏ´Â ÀÏÀÌ ±×´ÙÁö ½¬ ¿î ÀÏÀÌ ¾Æ´Ï´Ù(ºÐ¼®Çϱ⵵ ¾î·Á¿îµ¥ Àç·á¸¶Àú ±¸Çϱ⠾î·Æ´Ù). °¡Àå ±¸È÷±â ½¬¿î ÄÚµå´Â '¹ÙÀÌ·¯½º'¶ó°í »ý°¢µÇ¼­(ÀÌ°Ç ÀúÀÛ±Ç ¹®Á¦¿¡ Å©°Ô ½Å°æ¾²Áö ¾Ê¾Æµµ µÈ´Ù) ¸îºÐÀÌ º¸³»ÁֽŠ¹ÙÀÌ·¯½º Äڵ带 »ìÆì ºÃ´Ù. ±×·±µ¥ ÇÊÀÚ°¡ ¹ÙÀÌ·¯½º¿¡ ´ëÇØ ¾Æ´Â °Ô ¾ø¾î¼­ ÀÎÁö´Â ¸ð¸£°ÚÀ¸³ª ´ÙÀ½°ú °°Àº »ý°¢À» ÇÏ°Ô µÇ¾ú´Ù. - ¹ÙÀÌ·¯½º ÄÚµåµéÀº ÇÑ°á °°ÀÌ ¾²Àßµ¥ ¾ø´Â(?) ±â±³¸¦ ¸¹ÀÌ ºÎ·Á¼­ ´«À» ¾îÁö·´°Ô Çß´Ù(¹°·Ð ¼û±â·Á´Â Àǵµ°¡ ÀÖ´Â °ÍµéÀÌ´Ï ±×·² °ÍÀÌ´Ù). - ¿ì¿¬ÀÎÁö, ¾Æ´Ï¸é ¹ÙÀÌ·¯½º ÄÚµåÀÇ Á¤Å뼺(?)ÀÎÁö´Â ¸ð¸£°ÚÀ¸³ª ºñ½ÁÇÑ ÇüÅ°¡ ¸¹¾Ò´Ù (¾î¶² ¸ð¹üÀûÀÎ(?) ¹ÙÀÌ·¯½ºÀÇ º¯Á¾µéÀ̾ú´øÁö...). ³ª¸§ ´ë·Î Á¶±Ý¾¿ º¯È­¸¦ °¡Áö±â´Â ÇßÀ¸³ª ±×°Ç Á¶±Ý Àå³­Ä£ °Í¿¡ Áö³ªÁö ¾Ê ¾Ò´Ù(¿¹¸¦ µéÀÚ¸é, »óÁÖÇÏ´Â ÄÚµåÀÇ Å©±â¸¦ Á¶±Ý ´Ù¸£°Ô ÇÑ´Ù´ø°¡ ³»ºÎ ÀûÀ¸·Î »ç¿ëÇÏ´Â ¹ÙÀÌ·¯½º ÀÎ½Ä Äڵ带 ´Ù¸£°Ô ÇÑ ³»¿ëµé.... ¸¸¾à ¸ðµç ¹ÙÀÌ·¯½º°¡ ÀÌ·± ÇüÆíÀ̶ó¸é ¹ÙÀÌ·¯½º ¸¸µç »ç¶÷µéÀº ´õ ´Ê±â Àü¿¡ ¹Ù ÀÌ·¯½º¿¡ ´ëÇÑ »ý°¢À϶û ½Ï Áö¿ì°í ±× ½Ã°£¿¡ Á» ´õ À¯¿ëÇÑ ÇÁ·Î±×·¥À» ±¸»óÇÏ´Â°Ô ÁÁÁö ¾ÊÀ»±î?) - Å©±â°¡ Àû¾îµµ 2,000~3,000 ¹ÙÀÌÆ® Á¤µµ°¡ µÇ´Ï ¿ª¾î¼Àºí ÄÚµå·Î´Â ¾à 20~30ÆäÀÌÁö(ÇÁ¸°Æ®ÇßÀ» ¶§) Á¤µµÀÇ Á¦¹ý Å« Äڵ尡 µÇ¾ú´Ù (ÀÌ Á¤µµ¸é Çϳª ºÐ¼®Çϴµ¥ ¸îÀÏÀÌ °É·Á¾ß ÇÒ±î? ±×°Íµµ ¿Â¶óÀÎ °­Á·Î...) ¾î¶² ÄÚµå´Â ¾à 2~3ÆäÀÌÁö Á¤µµÀÇ ÀÛÀº ºÐ·®µµ ÀÖ¾ú´Âµ¥ ±×°Ç ¹ÙÀÌ·¯½º°¡ ¾Æ´Ï¾ú´Ù ¹ÙÀÌ·¯½º¶ó°í ¼³¸íµÇ¾î ÀÖ±â´Â ÇßÀ¸³ª ÀϹÝÀûÀÎ ¹ÙÀÌ·¯½º Äڵ尡 °¡Áö´Â Ư¼ºµéÀ» ±¸ºñÇÏÁö ¸øÇÑ °ÍµéÀ̾ú°í, ºÐ¼®ÇÒ ¸¸ÇÑ ³»¿ëÀÌ ¸øµÇ¾ú´Ù(³Ê¹« °£´ÜÇؼ­...) °­Á¸¦ ½ÃÀÛÇϱâ Àü¿¡ °£Ãß·Á º» ¹®Á¦Á¡µéÀº ´ÙÀ½°ú °°´Ù. - ¹ÙÀÌ·¯½º ÄÚµåÀÇ ±â±³°¡ ³Ê¹« È¥¶õ½º·¯¿ö¼­, ÀÌ·± °ÍµéÀ» °­Á¿¡¼­ ´Ù·ê ¸¸Å­ °¡Ä¡°¡ ÀÖÀ»±î ÇÏ´Â Àǹ®ÀÌ »ý±â¸ç, ±×·± ±â±³µéÀÌ ¾î¼Àºí¸®¿¡ ´ë ÇÑ ÀÌÇظ¦ ¸ñÀûÀ¸·Î ÇÏ´Â º» °­ÁÂÀÇ ¸ñÀû°ú ¾î´À Á¤µµ ºÎÇյǴ°¡ ÇÏ´Â ´çÀ§¼º¿¡ ´ëÇÑ È¸ÀÇ(?). - ÀÌ·± ¹ÙÀÌ·¯½º ÄÚµåÀÇ ºÐ¼®ÀÌ ¹Ýµå½Ã ÁÁÀº °á°ú¸¸À» ÁÙ ¼ö ÀÖÀ»±î? ¹ÙÀÌ·¯½º Äڵ带 »ìÆ캻 ¹Ù·Î´Â º¯Á¾ÀÌ ¸¹Àº °Í °°Àºµ¥ ÀÌ °­Á°¡ ±×·± º¯Á¾ÀÇ ¹ß»ýÀ» ÃËÁøÇÏ´Â °á°ú°¡ µÇÁö´Â ¾ÊÀ»±î? - ÀÌ °­Á°¡ ¿Â¶óÀÎÀÎ °ü°è·Î, 20~30 ÆäÀÌÁö³ª µÇ´Â ºÐ·®ÀÇ ¾î¼Àºí¸® ÄÚµå °¡ ³Ê¹« ºÎ´ã½º·´´Ù. ¹ÙÀÌ·¯½º Äڵ带 ºÐ¼®ÇÑ´Ù°í ÇÒ ¶§, °¡Àå ¿ì·ÁµÇ´Â Á¡Àº µÎ¹ø°ÀÇ °æ¿ìÀÌ´Ù. 'ÇØÄ¿'¶ó´Â ¸»ÀÌ °ø°ø¿¬È÷ ³ª»Û Àǹ̷ΠÇؼ®µÇ°í ¸»ÇØÁö´Â ¿äÁîÀ½ÀÇ Ãß¼¼ÀÌ°í º¸¸é ¿¹ÃøÇÒ ¼ö ÀÖ´Â °¡Àå ÃÖ¾ÇÀÇ °æ¿ì´Â ¶Ç´Ù¸¥ º¯Á¾ ¹ÙÀÌ·¯½º°¡ ³ª¿Ã ¼ö ÀÖ´Ù´Â °ÍÀÌ ´Ù. ÇÊÀÚ´Â ±×·± °á°ú¸¦ ¿øÄ¡ ¾Ê´Â´Ù. ±×·¡¼­ º» °­Á¿¡¼­´Â ¹ÙÀÌ·¯½º Äڵ忡 ´ëÇؼ­ ¸¸Å­Àº Àüü ¼Ò½º¸¦ ¼Ò°³ÇÏ´Â ´ë½Å ºÎºÐÀûÀ¸·Î »ç¿ëµÈ ±â±³µéÀ» ºÐ¼®ÇÏ´Â ¹æ¹ýÀ» ÃëÇÑ´Ù. ¹°·Ð ¹ÙÀÌ·¯½º Äڵ尡 ¾Æ´Ï ¶ó¸é ¸ðµç ³»¿ë¿¡ ´ëÇÑ ºÐ¼®À» ½ÃµµÇÒ °ÍÀÌ´Ù. º» °­ÁÂÀÇ ¸ñÀûÀÌ ¾î¼Àºí¸®¸¦ ¹è¿ì°íÀÚ Çϴµ¥ ÀÖÀ¸¹Ç·Î ºÎºÐÀûÀ¸·Î ¹ßÃéµÈ ³»¿ëÀ» ºÐ¼®ÇÏ´õ¶óµµ ±×°÷¿¡¼­ ¾òÀ» °ÍÀº ¸¹´Ù. ¹°·Ð ÀÌ·¯ÇÑ ¹æ¹ýÀº ÀüüÀûÀÎ È帧¿¡ ´ëÇÑ ÀÌÇظ鿡¼­´Â ´Ù¼ÒÀÇ ºÎÁ·ÇÑ Á¡ÀÌ ÀÖÀ» °ÍÀÌ´Ù. ÀÌÁ¡Àº ´Ù¸¥ ¼Ò½º¸¦ ºÐ¼®ÇÏ´Â °ÍÀ¸ ·Î ´ë½ÅÇÒ °ÍÀÌ´Ù. º» °­Á¸¦ º¸½Ã´Â ºÐµéÀº ÀÌ°°Àº ÇÊÀÚÀÇ °íÃæ(?)À» ÀÌÇØÇØ ÁÖ¼Ì À¸¸é °í¸¿°Ú´Ù. [29] Á¦¸ñ : [¸ñ·Ï] ¾î¼Àºí¸® °­Á ¸ñ·ÏÀÔ´Ï´Ù.. ¿Ã¸°ÀÌ : ¾Æ²Ù (Çϼº¿í ) 95/02/05 00:51 ÀÐÀ½ : 126 °ü·ÃÀÚ·á ¾øÀ½ £Á£Ó£Ó£Å£Í£Â£Ì£Å£Ò °­Á ¸ñ·Ï ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬ ¾ÆÀ̵ð À̸§ Á¦¸ñ °Ô½ÃÆÇ ¹øÈ£ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡ ±î¸Á¹ú·¹ Á¤ÅÂ½Ä [ÃʱÞ-±âÃÊ] ¸Àº¸±â... 3 ±î¸Á¹ú·¹ Á¤ÅÂ½Ä [ÃʱÞ-±âÃÊ] ¸Þ¸ð¸®¿¡ ´ëÇؼ­ 4~ 5 ±î¸Á¹ú·¹ Á¤ÅÂ½Ä [ÃʱÞ-±âÃÊ] ·¹Áö½ºÅÍ¿¡ ´ëÇؼ­ 6 ±î¸Á¹ú·¹ Á¤ÅÂ½Ä [ÃʱÞ-½Ç½À] ÇÁ·Î±×·¥ Çϳª(¼Ò½º&¼³¸í 7~ 8 ±î¸Á¹ú·¹ Á¤ÅÂ½Ä [ÃʱÞ-º¸Ãæ] ½ºÅØ? 9 ±î¸Á¹ú·¹ Á¤ÅÂ½Ä [ÃʱÞ-½Ç½À] ÇÁ·Î±×·¥ µÎ¿ï 10~11 ±î¸Á¹ú·¹ Á¤ÅÂ½Ä [ÃʱÝ-¸í·É] MOV ¿¡ ´ëÇØ 12 ±î¸Á¹ú·¹ Á¤ÅÂ½Ä [ÃʱÞ-½Ç½À] ÇÁ·Î±×·¥ ¼¼¿§ 15 ±î¸Á¹ú·¹ Á¤ÅÂ½Ä [ÃʱÞ-º¸Ãæ] º¯¼ö ¼±¾ð¿¡ ´ëÇÏ¿© 16 ±î¸Á¹ú·¹ Á¤ÅÂ½Ä [ÃʱÞ-º¸Ãæ] ÁÖ¼ÒÁöÁ¤¹æ½Ä¿¡ ´ëÇÏ¿©... 17 ±î¸Á¹ú·¹ Á¤ÅÂ½Ä [ÃʱÞ-º¸Ãæ] ÇÁ·Î½ÃÁ® ¹× ½ºÅØÀÇ º¯È­¿¡ 18 ±î¸Á¹ú·¹ Á¤ÅÂ½Ä [ÃʱÞ-º¸Ãæ] ³í¸®¿¬»ê¿¡ ´ëÇؼ­... 19 ¿µ¿øÀǺ° À̼¼¿ø µð¹ö±×(DEBUG.EXE) Á¤¸® 23,25 natali ¹Ú¼±±Ù [°­ÁÂ] ¾î¼Àºí¸® ¼Ò½ººÐ¼® <1> 28 ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡ 2/4ÀÏÂ¥ ±îÁöÀÇ ¾î¼Àºí¸® °­Á¶õ ¸ñ·ÏÀÔ´Ï´Ù. [30] Á¦¸ñ : [°­ÁÂ] ¾î¼Àºí¸® ¼Ò½ººÐ¼® <2> ¿Ã¸°ÀÌ : natali (¹Ú¼±±Ù ) 95/02/08 20:48 ÀÐÀ½ : 308 °ü·ÃÀÚ·á ¾øÀ½ ============================================================================= ¾î¼Àºí¸® < 2 > - Source ºÐ¼®À» Áß½ÉÀ¸·Î - ÀÛ¼º: ¹Ú¼±±Ù(NATALI), 1995.02. * °£ÆíÈ­¸¦ À§ÇØ °æ¾î¸¦ »ç¿ëÇÏÁö ¾Ê¾Ò½À´Ï´Ù. * TASM 1.0 ÀÌ»ó ¶Ç´Â MASM 5.0ÀÌ»óÀÇ ¾î¼Àºí·¯°¡ ÇÊ¿äÇÕ´Ï´Ù. ----------------------------------------------------------------------------- <> ù¹ø° ÇÁ·Î±×·¥ - Disk Monitor <> ============================================================================= [ º¯¸í ... ] ¼­ºñ½º ÀÌ¿ë·á°¡ ¿¬Ã¼µÈ ÁÙ ¸ð¸£°í ÀÖ´Ù°¡ ¼³¿¬ÈÞ Áö³ª°í¼­¾ß ¾Ë¾Ò½À´Ï´Ù. ³ª¿ì´Â ±× ´Þ 25ÀϱîÁö ÀÌ¿ë·á¸¦ ³»Áö ¾ÊÀ¸¸é ´ÙÀ½ ´Þ 1ÀÏ¿¡ »ç¿ëÁßÁö µÈ´Ù´Â ±º¿ä. À½.. Àü ±× »ç½ÇÀ» ÀüÇô ¸ð¸£°í ÀÖ´Ù°¡ ¿¬ÈÞ ³¡³ª´Â ³¯ Á¢¼ÓÇغ¸´Ï... Èê~ ÀÌ·¡Àú·¡ ù °­Á ¿Ã¸®°í ±Ù 2ÁÖÀÏÀÌ Áö³ª¹ö·È±º¿ä. ÀÌ¿¡ Á˼ÛÇÑ ¸»¾¸À» µå¸®°í, °­Á¸¦ ½ÃÀÛÇϱâ Àü¿¡ ¿©·¯ºÐ²² ÇÑ°¡Áö ´çºÎÇÏ°í ½ÍÀº °ÍÀÌ ÀÖ½À´Ï´Ù. ±Ù·¡ ¸çÄ¥ µ¿¾È À̹ø °­ÁÂÀÇ ³»¿ë¿¡ ´ëÇØ ¸¹Àº »ý°¢À» Çß¾ú½À´Ï´Ù. '¹ÙÀÌ·¯½ººÐ¼®' À̶ó´Â °Í ¶§¹®À̾úÁÒ. °­ÁÂÀÇ ¼­µÎ¿¡¼­ ºÐ¸íÈ÷ º» °­ÁÂÀÇ ¸ñÀûÀÌ '¹ÙÀÌ·¯½ººÐ¼®' ¿¡ ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó '´Ù¾çÇÑ ¾î¼Àºí¸® Ç¥ÇöÀ» ÀÍÈ÷´Â'µ¥ ÀÖ´Ù´Â °ÍÀ» ¹àÇû¾ú½À´Ï ´Ù¸¸ ¸¹Àº ºÐµéÀÌ °­ÁÂÀÇ ¸ñÀû¿¡ ´ëÇÑ ºÎºÐÀ» Áö³ªÄ¡½Å °Í °°½À´Ï´Ù. ¹ÙÀÌ·¯½º ÄÚ µå¸¦ ºÐ¼®ÇÏ´Â ÀÏÀº º» °­Á¿¡¼­ ÁÖ¿ä ÁٰŸ®°¡ ¸øµË´Ï´Ù. Á¦°¡ °­Á¸¦ À§Çؼ­ ÇÁ ·Î±×·¥À» Á÷Á¢ ÀÛ¼ºÇÏ°í ±× ³»¿ëÀ» ¼Ò°³ÇÒ ¼öµµ ÀÖ°ÚÁö¸¸ ±×°Ç ³Ê¹« ¸¹Àº ½Ã°£À» ¼Ò¸ðÇÏ°Ô µÇ±â ¶§¹®¿¡ Á¶±Ý Æí¸®ÇÑ ¹æÇâ¿¡¼­ ÀúÀÛ±Ç ¹®Á¦¿¡ ÁöÀåÀÌ ¾ø´Â ¹ÙÀÌ·¯½º À̾߱Ⱑ ³ª¿Â °ÍÀÔ´Ï´Ù. ±×·±µ¥ ¸¹Àº ºÐµéÀÌ Á¦°¡ Çѹøµµ µé¾î º»ÀûÀÌ ¾ø´Â ¼ö¸¹ Àº ¹ÙÀÌ·¯½º¿¡ ´ëÇÑ Áú¹®À» ÇÏ¼Ì°í ¶Ç ±×°ÍµéÀ» ºÐ¼®ÇØ ´Þ¶ó°í ÀڷḦ º¸³» Áּ̽À ´Ï´Ù. À̹ø ÀÏ·Î ¸¹Àº ºÐµéÀÌ ¹ÙÀÌ·¯½º¿¡ ´ëÇÑ °ü½ÉÀÌ Å©´Ù´Â °Í°ú Àú ¶ÇÇÑ ¿©·¯°¡ Áö¸¦ ¾Ë°Ô µÈ °Íµµ »ç½ÇÀÌÁö¸¸ ±× º¸´Ù´Â 'º¯Çü¹ÙÀÌ·¯½º'¿¡ ´ëÇÑ °ÆÁ¤ÀÌ ´õ Å®´Ï´Ù Á¦°¡ »ìÆì º» ¹Ù·Î´Â ¿ì¸®³ª¶ó¿¡¼­ Á¦ÀÛµÈ °ÅÀÇ ´ëºÎºÐÀÇ ¹ÙÀÌ·¯½ºµéÀÌ ¿Ü±¹ÀÇ °Í À» º¯ÇüÇÑ °ÍÀ̾ú½À´Ï´Ù. ¸ð¹æÀº âÁ¶ÀÇ ¾î¸Ó´Ï¶óÁö¸¸ ±Û½ê¿ä... ÀÌ·± °æ¿ì¿¡µµ ±× ·± ¸»ÀÌ Á¤´çÇÒ °Í °°Áö´Â ¾Ê½À´Ï´Ù. ±×·¡¼­ ÀÌ·± Àú·± °í¹Î ³¡¿¡ º» °­Á¿¡¼­´Â ¹ÙÀÌ·¯½º Äڵ带 ºÐ¼®ÇÏ´õ¶óµµ Àüü ³» ¿ëÀº ¼Ò°³ÇÏÁö ¾Ê½À´Ï´Ù. Ưº°Çϰųª µ¶Æ¯ÇÑ Ç¥ÇöÀÌ ÀÖ´Ù¸é ±×·± ºÎºÐ ¸¸À» °³º°Àû À¸·Î ¼Ò°³ÇÒ °ÍÀÔ´Ï´Ù. ¹ÙÀÌ·¯½º Äڵ尡 ¾Æ´Ò ¶§´Â Àüü ¼Ò½º¸¦ ¼Ò°³ÇÒ °ÍÀÔ´Ï´Ù. º» °­ÁÂÀÇ ¸ñÀûÀÌ '¹ÙÀÌ·¯½º ºÐ¼®'¿¡ ÀÖÁö ¾ÊÀ½À» ´Ù½Ã Çѹø ºÐ¸íÈ÷ ¹àÈ÷°í ¿ÀÇؾø ±â¸¦ ¹Ù¶ó¸ç µÎ¹ø° °­Á¸¦ ½ÃÀÛÇÏ°Ú½À´Ï´Ù. [ ¾î¼Àºí¸® ÇÁ·Î±×·¡¹Ö ½ÃÀÇ ÁÖÀÇÁ¡µé ] ¾î¼Àºí¸® ÇÁ·Î±×·¡¹ÖÀº ¿©Å¸ÀÇ °í±Þ ¾ð¾î ÇÁ·Î±×·¡¹Ö¿¡¼­´Â ½Å°æ¾²Áö ¾Ê¾Æµµ µÉ ¸¹ Àº ³»¿ëÀ» ÇÁ·Î±×·¡¸Ó°¡ ÀÏÀÏÀÌ ½Å°æ½á ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ³»¿ëÀº º¸´Ù ¼¶¼¼ÇÏ°í °­·ÂÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Â ¿ä¼Ò°¡ µÇÁö¸¸, ´Ù¸¥ ¸éÀ¸·Î´Â ¸Å¿ì ¼º°¡½Å ¹® Á¦°¡ ¾Æ´Ò ¼ö ¾ø´Ù. ¾î¼Àºí¸® ÇÁ·Î±×·¡¹Ö¿¡¼­ ¹ß»ýÇÒ ¼ö ÀÖ´Â Áß¿äÇϸ鼭µµ ¼º°¡½Å ¸î°¡Áö ¹®Á¦Á¡µéÀ» Á¤¸®ÇØ º¸¾Ò´Ù. - ½ºÅÃ(Stack) ½ºÅÃÀÇ Å©±â´Â 'Àû´çÇÑ °Í'ÀÌ ÁÁ´Ù. ±×·¯³ª Àû´çÇÑ Å©±âÀÇ ½ºÅÃÀ» ¼³Á¤Çϱâ¶õ »ó ´çÈ÷ ½Å°æ¾²ÀÌ´Â ÀÏÀÌ´Ù. ±×·¡¼­ ÀϹÝÀûÀ¸·Î ¾î´À Á¤µµÀÇ ¿©À¯¸¦ µÎ°í ½ºÅÃÀ» °á Á¤ÇÏ°Ô µÈ´Ù. ¾î¶² °æ¿ì¿¡, ½ºÅÃÀÌ ¸ðÀÚ¶õ´Ù°í Çصµ ÇÁ·Î±×·¥ÀÌ Á¤»óÀûÀ¸·Î ¼öÇà µÉ ¼ö°¡ Àִµ¥ ÀÌ´Â ½ºÅÃÀÇ ³ÑÄ£ ºÎºÐÀÌ ´ÙÇàÈ÷ ÇÁ·Î±×·¥ÀÇ ¼öÇà¿¡ ÁöÀåÀÌ ¾ø¾ú ±â ¶§¹®ÀÌ´Ù. ±×·¯³ª ÀÌ°ÍÀº ¸í¹éÇÑ ¹ö±×À̸ç, ÇÁ·Î±×·¥ÀÌ ¾ðÁ¦ ½É°¢ÇÑ ¿¡·¯¸¦ ¹ß»ýÇÒÁö ¸ð¸£´Â ÀáÀçÀûÀÎ ÆøÁÖ °¡´É¼ºÀ» ¾È°í ÀÖ´Â °ÍÀÌ´Ù. ÀÌ·± ÀÌÀ¯·Î ½ºÅÃÀº '¾î´À Á¤µµ ¿©À¯¸¦ °®°í' °áÁ¤µÇ´Â °ÍÀÌ ¾ÈÀüÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Ù. COMÆÄÀÏÀÇ °æ¿ì ÄÚµå,µ¥ÀÌŸ,½ºÅÃÀÌ ¸ðµÎ ÇϳªÀÇ ¼¼±×¸ÕÆ® ¾È¿¡ ÀÖÀ¸¹Ç·Î ½ºÅÃÀÇ »ç¿ëÀº ´õ¿í Á¶ ½É½º·´°Ô ÇàÇØÁ®¾ß ÇÑ´Ù. Äڵ峪 µ¥ÀÌŸ ¼¼±×¸ÕÆ®ÀÇ Å©±â°¡ Ä¿Áü¿¡ µû¶ó ±×¸¸Å­ ½ºÅÃÀÇ Å©±â°¡ ÁÙ¾î µé±â ¶§¹®ÀÌ´Ù. - ·¹Áö½ºÅÍ(Register) ¾î¼Àºí¸® ÇÁ·Î±×·¡¹Ö¿¡¼­ ·¹Áö½ºÅÍÀÇ »ç¿ëÀº »©³õÀ» ¼ö ¾ø´Â ºÎºÐÀÎ ¸¸Å­ Á߿伺 ¶ÇÇÑ Å©´Ù. ±×·¯³ª ·¹Áö½ºÅÍ´Â »ç¿ë ºóµµ³ª Á߿伺¿¡ ºñÇØ Å©±â°¡ ³Ê¹« ÀÛ°í ÀÏ ½ÃÀûÀÌ´Ù. ±×·¯¹Ç·Î ·¹Áö½ºÅÍÀÇ ³»¿ëÀÌ º¸°üµÉ ÇÊ¿ä°¡ ÀÖ°í ´Ù¸¥ ÀÏÀ» ¼öÇàÇÏ´Â °úÁ¤¿¡¼­ ±× ³»¿ëÀÌ º¯°æµÉ °¡´É¼ºÀÌ ÀÖ´Ù¸é ±× Àü¿¡ ÀûÀýÇÑ Àå¼Ò¿¡ º¸°üÇØ µÎ¾î ¾ß ÇÑ´Ù. - º¯¼ö/µ¥ÀÌŸÀÇ ÂüÁ¶ ´ÙÀ½¿¡ ³ªÅ¸³½ ¾î¼Àºí¸® Ç¥Çöµé¿¡¼­ DX°¡ °¡Áö´Â °ªÀº ¹«¾ùÀϱî? VALUE DW 1234H (1) MOV DX, VALUE (2) MOV DX, [VALUE] (3) MOV DX, OFFSET VALUE (1)°ú (2)´Â °á°ú°¡ µ¿ÀÏÇÏ°í (3)Àº ´Ù¸£´Ù. (1), (2) : DX = 1234H (3) : DX = 1234H°¡ ÀÖ´Â ¸Þ¸ð¸®»óÀÇ ÁÖ¼Ò(Offset Address) Ç¥Çö (1), (2), (3)Àº Áö·çÇÑ(?) ¾î¼Àºí¸® ÇÁ·Î±×·¡¹Ö¿¡¼­ ¶§¶§·Î È¥µ¿ÇÒ ¼ö ÀÖ ´Â ¼ÒÁö¸¦ °®°í ÀÖ´Ù. °í±Þ¾ð¾î ÇÁ·Î±×·¡¹Ö¿¡¼­µµ ¸¶Âù°¡Áö ÀÌ°ÚÁö¸¸, ÈǸ¢ÇÑ ÇÁ ·Î±×·¡¸Ó°¡ µÇ±â À§Çؼ­´Â ¾îÁß°£ÇÑ Ç¥ÇöÀ» »ï°¡ÇÏ°í ¸íÈ®ÇÑ Ç¥Çö¹æ¹ýÀ» ÀÍÈ÷´Â µ¥ Èû½á´Â °ÍÀÌ Áß¿äÇÏ´Ù. ´õ¿ì±â VALUE¿Í [VALUE]ÀÇ °æ¿ì´Â µ¿ÀÏÇÑ °á°ú¸¦ °®Áö ¸¸ ÀüÀÚ º¸´Ù´Â ÈÄÀÚ°¡ º¸´Ù ¸í¹éÇÏ°Ô '°ª'ÀÇ Àǹ̸¦ °­Á¶ÇÏ°í ÀÖ´Ù. - LABELÀÇ »ç¿ë°ú ÇÔ¼ö ±¸¼º ¾î¼Àºí¸® ÇÁ·Î±×·¥¿¡ À־ ÇÔ¼ö·Î ó¸®ÇØ¾ß ÇÒ ºÎºÐ°ú ºÐ±â ¸í·ÉÀ» »ç¿ëÇؼ­ °­Á¦ÀûÀ¸·Î À̵¿ÇØ¾ß ÇÒ ºÎºÐÀ» ±¸ºÐÇÏ´Â ÀÏÀº ÇÁ·Î±×·¥ÀÇ ÃÖÀûÈ­¿¡ Å« ¿µÇâÀ» ³¢Ä¥ ¼ö ÀÖÀ¸¹Ç·Î ½ÅÁßÈ÷ ó¸®ÇØ¾ß ÇÑ´Ù. º¸´Ù ±âº»ÀûÀÎ ¹®Á¦µéÀÌ ´õ ÀÖÁö¸¸ ¿©±â¼­ ¸ðµç ³»¿ëÀ» ¾ð±ÞÇÏÁö´Â ¾Ê´Â´Ù. °­Á°¡ ÁøÇàµÇ¸é¼­ ±×·± ³»¿ëµéÀÌ ºÎºÐÀûÀ¸·Î ´Ù·ç¾î Áú °ÍÀÌ´Ù. [ ù¹ø° ÇÁ·Î±×·¥ - DISKMON.ASM ] ´ÙÀ½ÀÇ ¾î¼Àºí¸® ÄÚµå´Â À̼¼¿ø(¿µ¿øÀǺ°)´ÔÀÌ º¸³»ÁֽŠÇÁ·Î±×·¥À» ¿ª¾î¼ÀºíÇÏ°í, TASM°ú MASM¿¡¼­ ¾î¼ÀºíµÉ ¼ö ÀÖµµ·Ï ÇÊÀÚ°¡ ÇÔ¼ö/¶óº§µîÀ» ÀûÀýÈ÷ ±¸ºÐÇÑ °ÍÀÌ´Ù. ÇÁ·Î±×·¥ÀÇ ³»¿ëÀÌ ½Å¼±ÇÏ°í, º» °­Á¿¡¼­ óÀ½À¸·Î ºÐ¼®ÇÏ°Ô µÉ ÇÁ·Î±×·¥ÀÎ ¸¸Å­ °¡º­¿î ¸¶À½À¸·Î Ç®¾î º¼ ¼ö ÀÖ´Â ³»¿ëÀ¸·Î »ý°¢µÇ¾î ¼Ò°³ÇÑ´Ù. Âü°í·Î, ÀÌ ÇÁ·Î±×·¥Àº ·¥»óÁÖ ÇÁ·Î±×·¥Àε¥ À̼¼¿ø´ÔÀÌ º¸³»ÁֽŠ¿ø·¡ÀÇ ÇÁ·Î±×·¥ ÀÎ DISKMON.COMÀÇ Å©±â´Â 783¹ÙÀÌÆ®¿´À¸¸ç ·¥¿¡ »óÁÖÇϸé 624¹ÙÀÌÆ®ÀÇ ¸Þ¸ð¸®¸¦ Â÷ ÁöÇÏ°Ô µÇ¾î ÀÖ¾ú´Ù. ±×·¯³ª, ¿©±â¿¡ ¼Ò°³µÈ ¼Ò½º¸¦ ¾î¼ÀºíÇغ¸¸é ¾Æ½Ã°ÚÁö¸¸ ÆÄÀÏ ÀÇ Å©±â´Â 803¹ÙÀÌÆ®(MASM=803¹ÙÀÌÆ®, TASM=802¹ÙÀÌÆ®), ·¥»óÁÖ½ÃÀÇ ¸Þ¸ð¸® Â÷Áö´Â 640¹ÙÀÌÆ®·Î º¯°æµÇ¾ú´Ù. º¯°æ(Ãß°¡)µÈ ºÎºÐÀº µÚ¿¡¼­ ¾Ë·Áµå¸®°Ú´Ù. ;--------------------------------------------------------------------------- ; DISKMON.COM, Disk Monitor ; ; To build MASM /ML diskmon; ; LINK diskmon; ; EXE2BIN diskmon.exe diskmon.com ; ------------------------------- ; TASM /ml diskmon ; TLINK /t diskmon <- '/t'´Â ¸µÅ©ÇÏ°í ¹Ù·Î COMÆÄÀÏÀ» »ý¼º ; ; ÀÌ ÇÁ·Î±×·¥Àº INT 21hÀÇ 31hÇÔ¼ö¸¦ ÀÌ¿ëÇؼ­ ¸Þ¸ð¸®¿¡ »óÁÖÇϸç, ¹ÙÀÌ¿À½ºÀÇ µð ; ½ºÅ© ÀÎÅÍ·´Æ®ÀÎ INT 13h¸¦ °¡·Îä°í µð½ºÅ© ÀÛ¾÷ÀÇ »óŸ¦ È­¸é»ó´Ü, ¿ìÃø¿¡ Ç¥ ; ½ÃÇÑ´Ù. µð½ºÅ© ÀÛ¾÷ÀÇ »óÅ´ 'µð½ºÅ©ID-ÀÛ¾÷-ÁøÇà°úÁ¤'ÀÇ ÇüÅ·Πǥ½ÃÇÑ´Ù. ; ; µð½ºÅ©ID = 'A', 'B', 'C', 'D'ÁßÀÇ Çϳª ; ÀÛ¾÷ = 'R'ead, 'W'rite, 'V'erify, 'F'ormatÁßÀÇ Çϳª ; ÁøÇà°úÁ¤ = ¹Ù¶÷°³ºñÀÇ ÇüŸ¦ Ç¥½Ã('|', '/', '-', '\') ; ; óÀ½ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¸é ¸Þ¸ð¸®¿¡ »óÁÖÇϸç, ´Ù½Ã Çѹø ÇÁ·Î±×·¥À» ½ÇÇàÇϸé ; »óÁÖ¸¦ ÇØÁ¦ÇÑ´Ù. º°µµÀÇ ¿É¼ÇÀº ¾ø´Ù. ; ; °¢ ¼Ò½º¶óÀο¡ ´ëÇÑ »ó¼¼ÇÑ ¼³¸íÀº º°µµ·Î Çϵµ·Ï ÇÏ°í ¿ì¼± ¼Ò½º¸¦ »ìÆ캸ÀÚ. ; ¶óÀιøÈ£´Â ¼³¸íÀ» À§ÇØ ÆíÀÇ»ó ºÙÀÎ °ÍÀ̹ǷΠ¾î¼ÀºíÇÒ ¶§´Â ¶óÀιøÈ£¸¦ Á¦°Å ; ÇØ¾ß ÇÑ´Ù. ; 0001 PSP_ENV_SEG EQU 2CH 0002 VIDEO_OFF EQU 9AH 0003 0004 ;---------------------------------------------------------------------- 0005 .MODEL SMALL 0006 0007 .CODE 0008 0009 ORG 100h 0010 0011 ;---------------------------------------------------------------------- 0012 0013 DiskMonitor PROC FAR 0014 JMP InstallCheck 0015 0016 Author DB 'Copyright (C) Yi,se-won.' 0017 KeepInt13h DD ? 0018 KeepInt60h DD ? 0019 VideoSeg DW 0B000H ; Ä®¶óÀ̸é 800h¸¦ ´õÇÔ 0020 SiteBuffer DB 0, 0, 0, 0, 0, 0 0021 DriveID DB 0, 70H ; 70H´Â ¹®ÀÚ »ö»ó°ªÀÌ´Ù 0022 CurrentJob DB 0, 70H ; " " 0023 CurrentSite DB 7CH, 70H ; " " 0024 DiskMonitor ENDP 0025 0026 ;---------------------------------------------------------------------- 0027 ; New handler for INT 60h 0028 0029 NewInt60h PROC FAR 0030 PUSHF 0031 CALL DWORD PTR CS:[KeepInt60h] 0032 IRET 0033 NewInt60h ENDP 0034 0035 ;---------------------------------------------------------------------- 0036 ; New handler for INT 13h 0037 0038 NewInt13h PROC FAR 0039 PUSHF 0040 CLI ; ÀÌ ÀÛ¾÷À» ÁøÇàÇÏ´Â µ¿¾ÈÀÇ 0041 ; ÀÎÅÍ·´Æ®¸¦ ±ÝÁöÇÑ´Ù 0042 PUSH SS ; ·¹Áö½ºÅ͵éÀ» ´ëÇǽÃŲ´Ù 0043 PUSH SP 0044 PUSH BP 0045 PUSH AX 0046 PUSH BX 0047 PUSH CX 0048 PUSH DX 0049 PUSH SI 0050 PUSH DI 0051 PUSH ES 0052 PUSH DS 0053 0054 PUSH CS ; CS¸¦ DS¿¡ º¹»çÇÑ´Ù 0055 POP DS 0056 0057 CALL CheckDriveID 0058 CALL CheckCurJob 0059 CALL CheckCurSite 0060 CALL StoreCurSite 0061 CALL PutDriveID 0062 0063 POP DS 0064 POP ES 0065 POP DI 0066 POP SI 0067 POP DX 0068 POP CX 0069 POP BX 0070 POP AX 0071 POP BP 0072 POP SP 0073 POP SS 0074 POPF 0075 0076 PUSHF 0077 CALL DWORD PTR CS:[KeepInt13h] 0078 0079 PUSHF 0080 CLI 0081 0082 PUSH SS 0083 PUSH SP 0084 PUSH BP 0085 PUSH AX 0086 PUSH BX 0087 PUSH CX 0088 PUSH DX 0089 PUSH SI 0090 PUSH DI 0091 PUSH ES 0092 PUSH DS 0093 0094 CALL PutCurSite 0095 0096 POP DS 0097 POP ES 0098 POP DI 0099 POP SI 0100 POP DX 0101 POP CX 0102 POP BX 0103 POP AX 0104 POP BP 0105 POP SP 0106 POP SS 0107 POPF 0108 0109 RETF 2 ; ¾ÆÁ÷ POPµÇÁö ¾ÊÀº 0110 NewInt13h ENDP ; FLAG ·¹Áö½ºÅ͸¦ À§ÇØ 0111 0112 ;---------------------------------------------------------------------- 0113 0114 CheckDriveID PROC NEAR 0115 CMP DL,0 0116 JE DRIVE_A 0117 CMP DL,1 0118 JE DRIVE_B 0119 CMP DL,80H 0120 JE DRIVE_C 0121 CMP DL,81H 0122 JE DRIVE_D 0123 RET 0124 DRIVE_A: 0125 MOV [DriveID],41H ; 'A' 0126 RET 0127 DRIVE_B: 0128 MOV [DriveID],42H ; 'B' 0129 RET 0130 DRIVE_C: 0131 MOV [DriveID],43H ; 'C' 0132 RET 0133 DRIVE_D: 0134 MOV [DriveID],44H ; 'D' 0135 RET 0136 CheckDriveID ENDP 0137 0138 ;---------------------------------------------------------------------- 0139 0140 CheckCurJob PROC NEAR 0141 CMP AH,2 0142 JE READ_DISK 0143 CMP AH,3 0144 JE WRITE_DISK 0145 CMP AH,4 0146 JE VERIFY_DISK 0147 CMP AH,5 0148 JE FORMAT_DISK 0149 CMP AH,6 0150 JE FORMAT_DISK 0151 CMP AH,7 0152 JE FORMAT_DISK 0153 CMP AH,0AH 0154 JE READ_DISK 0155 CMP AH,0BH 0156 JE WRITE_DISK 0157 RET 0158 READ_DISK: 0159 MOV [CurrentJob],52H ; 'R' 0160 RET 0161 WRITE_DISK: 0162 MOV [CurrentJob],57H ; 'W' 0163 RET 0164 VERIFY_DISK: 0165 MOV [CurrentJob],56H ; 'V' 0166 RET 0167 FORMAT_DISK: 0168 MOV [CurrentJob],46H ; 'F' 0169 RET 0170 CheckCurJob ENDP 0171 0172 ;---------------------------------------------------------------------- 0173 ; CurrentSiteÀÇ ÃÖÃÊ°ªÀº '|'ÀÌ´Ù. 0174 CheckCurSite PROC NEAR 0175 CMP CurrentSite,7CH ; '|' 0176 JE SITE_2 0177 CMP CurrentSite,2FH ; '/' 0178 JE SITE_3 0179 CMP CurrentSite,2DH ; '-' 0180 JE SITE_4 0181 MOV CurrentSite,7CH ; '|' 0182 RET 0183 SITE_2: 0184 MOV [CurrentSite],2FH ; '/' 0185 RET 0186 SITE_3: 0187 MOV [CurrentSite],2DH ; '-' 0188 RET 0189 SITE_4: 0190 MOV [CurrentSite],5CH ; '\' 0191 RET 0192 CheckCurSite ENDP 0193 0194 ;---------------------------------------------------------------------- 0195 0196 PutDriveID PROC NEAR 0197 PUSH CS 0198 POP DS 0199 MOV SI,OFFSET DriveID 0200 MOV AX,CS:[VideoSeg] 0201 MOV ES,AX ; ES = 0B800h¶Ç´Â 0B000h 0202 MOV DI,VIDEO_OFF ; DI = 9Ah(=154) 0203 MOV CX,3 0204 REP MOVSW ; Copy to ES:DI from DS:SI 0205 RET ; '¹®ÀÚ+¼Ó¼º'À» À§ÇØ ¿öµåº¹»ç 0206 PutDriveID ENDP 0207 0208 ;---------------------------------------------------------------------- 0209 0210 StoreCurSite PROC NEAR 0211 PUSH CS 0212 POP ES 0213 MOV DI,OFFSET SiteBuffer 0214 MOV AX,CS:[VideoSeg] 0215 MOV DS,AX 0216 MOV SI,VIDEO_OFF 0217 MOV CX,3 0218 REP MOVSW 0219 RET 0220 StoreCurSite ENDP 0221 0222 ;---------------------------------------------------------------------- 0223 0224 PutCurSite PROC NEAR 0225 PUSH CS 0226 POP DS 0227 MOV SI,OFFSET SiteBuffer 0228 MOV AX,CS:[VideoSeg] 0229 MOV ES,AX 0230 MOV DI,VIDEO_OFF 0231 MOV CX,3 0232 REP MOVSW 0233 RET 0234 PutCurSite ENDP 0235 0236 TSR_BLOCK EQU $ ; TSR_BLOCK = ÀÌ°÷ÀÇ ¿É¼Â 0237 0238 ;---------------------------------------------------------------------- 0239 0240 InstallMsg DB 0DH, 0AH 0241 DB 'ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ' 0242 DB 0DH, 0AH 0243 DB ' Disk monitor. ' 0244 DB 0DH, 0AH 0245 DB ' Copyright (C) Yi, se - won. 1994.11 ' 0246 DB 0DH, 0AH 0247 DB 'ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ' 0248 DB 0DH, 0AH 0249 DB ' Installed.' 0250 DB 7, 0DH, 0AH, '$' 0251 RemoveMsg DB 0DH, 0AH, ' Disk monitor' 0252 DB 0DH, 0AH, ' Removed.' 0253 DB 7, 0DH, 0AH, '$' 0254 NotRemoveMsg DB 0DH, 0AH, ' Disk monitor' 0255 DB 0DH, 0AH 0256 DB ' Not removed.' 0257 DB 7, 0DH, 0AH, '$' 0258 0259 ;---------------------------------------------------------------------- 0260 0261 InstallCheck: 0262 MOV AX,3560H ; ÀÎÅÍ·´Æ® º¤ÅÍ ¾ò±â 0263 INT 21H ; ES:BX = Seg:Ofs 0264 CMP WORD PTR ES:[Author],6F43H ; 'Co'Àΰ¡? 0265 JNE InstallTSR ; AuthorÀÇ ¿É¼Â 0266 ; Àº 103hÀÌ´Ù 0267 MOV AX,3513H 0268 INT 21H 0269 CMP WORD PTR ES:[Author],6F43H ; Çѹø ´õ È®ÀÎ 0270 JE RemoveTSR 0271 0272 MOV DX,OFFSET NotRemoveMsg 0273 MOV AH,9 0274 INT 21H 0275 0276 INT 20H ; ÇÁ·Î±×·¥ Á¾·á 0277 RemoveTSR: 0278 PUSH DS 0279 0280 MOV AX,2513H ; ÀÎÅÍ·´Æ® º¤ÅÍ ¼³Á¤ 0281 MOV DX,WORD PTR ES:[KeepInt13h] ; ¿É¼Â 0282 MOV DS,WORD PTR ES:[KeepInt13h+2] ; ¼¼±×¸ÕÆ® 0283 INT 21H 0284 0285 MOV AX,2560H 0286 MOV DX,WORD PTR ES:[KeepInt60h] ; ¿É¼Â 0287 MOV DS,WORD PTR ES:[KeepInt60h+2] ; ¼¼±×¸ÕÆ® 0288 INT 21H 0289 0290 POP DS 0291 0292 MOV AH,49H ; ¸Þ¸ð¸® ÇØÁ¦, ES=ÇØÁ¦ÇÒ ¸Þ¸ð¸® 0293 INT 21H ; ºí·°ÀÇ ¼¼±×¸ÕÆ® 0294 0295 MOV DX,OFFSET RemoveMsg 0296 MOV AH,9 0297 INT 21H 0298 0299 INT 20H ; ÇÁ·Î±×·¥ Á¾·á 0300 0301 InstallTSR: 0302 MOV AH,0FH ; ºñµð¿À ¸ðµå ¾ò±â 0303 INT 10H 0304 CMP AL,7 ; Èæ¹éÀΰ¡? 0305 JE Settings ; ±×·¸´Ù¸é VideoSeg=0B000h 0306 ADD CS:[VideoSeg],800H ; ¾Æ´Ï¸é VideoSeg=0B800h 0307 Settings: 0308 MOV AX,3560H 0309 INT 21H 0310 0311 MOV WORD PTR CS:[KeepInt60h],BX ; ¿É¼Â º¸°ü 0312 MOV WORD PTR CS:[KeepInt60h+2],ES ; ¼¼±×¸ÕÆ® º¸°ü 0313 0314 MOV AX,2560H 0315 MOV DX,OFFSET NewInt60h ; »õ·Î¿î Çڵ鷯 ¼³Ä¡ 0316 INT 21H 0317 0318 MOV AX,3513H 0319 INT 21H 0320 0321 MOV WORD PTR CS:[KeepInt13h],BX ; ¿É¼Â º¸°ü 0322 MOV WORD PTR CS:[KeepInt13h+2],ES ; ¼¼±×¸ÕÆ® º¸°ü 0323 0324 MOV AX,2513H 0325 MOV DX,OFFSET NewInt13h ; »õ·Î¿î Çڵ鷯 ¼³Ä¡ 0326 INT 21H 0327 0328 MOV AH,49H 0329 MOV ES,CS:[PSP_ENV_SEG] 0330 INT 21H 0331 0332 MOV AH,9 0333 MOV DX,OFFSET InstallMsg 0334 INT 21H 0335 0336 LEA DX,TSR_BLOCK 0337 ADD DX, 0Fh 0338 MOV CL, 4 0339 SHR DX, CL 0340 0341 MOV AX,3100H 0342 INT 21H 0343 0344 ;---------------------------------------------------------------------- 0345 0346 END DiskMonitor ; Entry point ÀÌ ÇÁ·Î±×·¥ÀÇ ÀüüÀûÀÎ È帧À» »ìÆ캸ÀÚ. ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ ¦¢ÇÁ·Î±×·¥ ½ÃÀÛ ¦¢ ¦¦¦¡¦¡¦¡¦¨¦¡¦¡¦¡¦¥ ¦¢ ¡ä ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤Yes ¦¢ ÀÌ¹Ì ¼³Ä¡µÇ¾ú´Â°¡? ¦§¦¡¦¡¦¤ ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¨¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ ¦¢ ¦¢No ¦¢ ¡ä ¦¢ ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ ¦¢ ¦¢ ¿ø·¡ÀÇ ÀÎÅÍ·´Æ® Çڵ鷯 ÀúÀå ¦¢ ¦¢ ¦£¦¡¦¡¦© »õ·Î¿î ÀÎÅÍ·´Æ® Çڵ鷯 ¼³Ä¡ ¦¢ ¦¢ ¦¢ ¦¢ ¸Þ¸ð¸® ÇÒ´ç/·¥»óÁÖ ¦¢ ¦¢ ¦¢ ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ ¦¢ ¦¢ ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ ¦¢ ¦¢ ¦¢ ¿ø·¡ÀÇ ÀÎÅÍ·´Æ® Çڵ鷯 º¹±¸ ¦¢¢·¦¡¦¥ ¦¢ ¦¢ ¸Þ¸ð¸® ÇØÁ¦/·¥»óÁÖ ÇØÁ¦ ¦¢ ¦¢ ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¨¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ ¦¢ ¦¢ ¦¢ ¡ä ¦¢ ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ ¦¦¦¡¦¡¦¡¦¡¦¡¢¹¦¢ÇÁ·Î±×·¥ Á¾·á ¦¢ ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ Àüü È帧µµ¿¡¼­ º¸´Â ¹Ù¿Í °°ÀÌ ¾î¼Àºí¸® ¼Ò½º°¡ ¾à 300¿© ¶óÀÎÀ̳ª µÇ´Â °Í¿¡ ºñ ÇØ ÇÏ´Â ÀÏÀº ¸Å¿ì °£´ÜÇÏ´Ù. ÇÏÁö¸¸ ÀÌ·± ÀÏÀ» ÇÏ´Â ÇÁ·Î±×·¥À» °í±Þ¾ð¾î·Î ÀÛ¼º ÇÑ´Ù¸é ÃÖÀûÈ­ µÈ´Ù°í Çصµ ¸Þ¸ð¸®¿¡ »óÁÖÇÏ´Â Å©±â°¡ Àû¾îµµ 5~6,000¹ÙÀÌÆ®´Â µÉ °ÍÀÌ´Ù(¿¹¸¦ µé¾î¼­ C¿Í °°Àº ¾ð¾î). ±×·¯³ª ¾î¼Àºí¸®·Î ÀÛ¼ºµÈ ÀÌ ÇÁ·Î±×·¥Àº 640 ¹ÙÀÌÆ® ¸¸À» Â÷ÁöÇÒ »ÓÀÌ´Ù. À§ÀÇ È帧µµ¸¦ ÅëÇØ ÇÁ·Î±×·¥ÀÌ ÀüüÀûÀÎ À±°ûÀ» ¾Ë ¼ö ÀÖ¾úÀ» °ÍÀÌ´Ù. ÀÌÁ¦ ÇÁ·Î ±×·¥ÀÇ ¼¼ºÎÀûÀÎ ³»¿ëÀ» º¸ÀÚ. °¢ ¶óÀÎ ´ÜÀ§·Î ¼³¸íÇÑ´Ù. 0001 : PSPÀÇ ¿É¼Â 2Ch¿¡´Â ÇÁ·Î±×·¥ÀÇ È¯°æ ºí·°¿¡ ´ëÇÑ ¼¼±×¸ÕÆ® ÁÖ¼Ò°¡ Àú ÀåµÇ¾î ÀÖ´Ù(Word). ÇÁ·Î±×·¥ÀÌ ¸Þ¸ð¸®¿¡ »óÁÖÇϱâ Àü¿¡ Àڽſ¡°Ô ÇÒ ´çµÇ¾ú´ø ȯ°æºí·°À» ¸Þ¸ð¸®¿¡¼­ ÇØÁ¦ÇÏ°Ô µÇ´Âµ¥ ÀÌ ºÎºÐÀº ´Ù½Ã ¼³ ¸íµÈ´Ù. 0002 : ÀÌ ÇÁ·Î±×·¥¿¡¼­´Â ÇöÀçÀÇ µð½ºÅ© ÀÛ¾÷ »óŸ¦ È­¸éÀÇ ÃÖ»ó´Ü, ÃÖ¿ìÃø ¿¡ Ç¥½ÃÇÑ´Ù. È­¸é»óÀÇ ÀÓÀÇÀÇ À§Ä¡ (X,Y)¿¡ ´ëÀÀµÇ´Â ºñµð¿À ¸Þ¸ð¸® ¸¦ °è»êÇϱâ À§Çؼ­´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù. ÀÓÀÇÀÇ À§Ä¡ (X, Y)¿¡ ´ëÀÀµÇ´Â ºñµð¿À ¸Þ¸ð¸® ÁÖ¼Ò ¹®ÀÚÁÖ¼Ò = (Y*160)+(X*2) ¼Ó¼ºÁÖ¼Ò = (Y*160)+(X*2)+1 ÀÌ °è»ê¿¡ µû¸£¸é 9Ah(154)´Â È­¸é»óÀÇ (X, Y) = (77, 0)ÀÇ ÁÂÇ¥¸¦ Áö Á¤ÇÏ´Â °ÍÀÓÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÌ °ªÀº µÚ¿¡¼­ ºñµð¿À ¸Þ¸ð¸®ÀÇ ¼¼±×¸ÕÆ® ÁÖ¼Ò¿¡ ´õÇØÁø´Ù. 0005 : ¸Þ¸ð¸® ¸ðµ¨À» SMALL·Î ¼³Á¤Çϵµ·Ï ÇÑ´Ù. SMALL ¸ðµ¨Àº ÄÚµå ¼¼±×¸ÕÆ® ¿Í µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ °¢°¢ ÇÑ °³¾¿ °¡Áú ¼ö ÀÖ´Ù. 0007 : Äڵ弼±×¸ÕÆ®ÀÇ °æ°è¸¦ ¼³Á¤ÇÑ´Ù. °£ÀÌ ÄÚµå ¼¼±×¸ÕÆ® Áö½Ã¾î¿¡ ÀÇÇØ »ý¼ºµÈ ¼¼±×¸ÕÆ®ÀÇ À̸§Àº ±âº»ÀûÀ¸·Î '_TEXT'°¡ µÈ´Ù. 0009 : Ãʱ⠸í·É Æ÷ÀÎÅÍ(Instruction Point, IP)¸¦ 100h·Î ¼³Á¤ÇÑ´Ù. ¸ðµç COM ÇÁ·Î±×·¥Àº 100h¹øÁö·Î ºÎÅÍ ½ÃÀ۵ȴÙ. 0014 : Ãʱâ CS:IP À§Ä¡¿¡´Â ¹Ýµå½Ã ½ÇÇà °¡´ÉÇÑ Äڵ尡 ÀÖ¾î¾ß ÇÑ´Ù. ¸¸¾à ¿©±â¿¡ ½ÇÇà Äڵ尡 ¾Æ´Ñ ¾î¶² µ¥ÀÌŸ°¡ ¿À´õ¶óµµ CPU´Â ±×°ÍÀÌ µ¥ÀÌŸÀÓÀ» ¾Ë¾Æº¸Áö ¸øÇÑ´Ù. 0016~0023 : ¸Þ¸ð¸® »óÁÖ ÈÄ¿¡ »ç¿ëÇÏ°Ô µÉ º¯¼öµéÀ» Á¤ÀÇÇÑ´Ù. Author : ÇÁ·Î±×·¥ Á¦ÀÛÀÚ¿¡ ´ëÇÑ Á¤º¸ KeepInt13h : ¿ø·¡ÀÇ INT 13hÀÇ ÁÖ¼Ò º¸°ü¿ë KeepInt60h : ¿ø·¡ÀÇ INT 60hÀÇ ÁÖ¼Ò º¸°ü¿ë VideoSeg : ºñµð¿À ¸Þ¸ð¸®ÀÇ ¼¼±×¸ÕÆ® ÁÖ¼Ò(Default=0B000H, Èæ¹éÈ­¸é) SiteBuffer : µð½ºÅ© µ¿ÀÛ »óŸ¦ ÀúÀåÇÒ ¹öÆÛ CurrentJob°ú CurrentSite¸¦ ÇÕÄ£ ¹®ÀÚ¿­ ¿¹) R|, R/, R-, R\ <- Àбâ ÀÛ¾÷Áß... F|, F/, F-, F\ <- ÃʱâÈ­ ÀÛ¾÷Áß... DriveID : µå¶óÀ̺ê ID = 'A', 'B', 'C', or 'D' CurrentJob : ÇöÀçÀÇ ÀÛ¾÷ = Àбâ('R'), ¾²±â('W') °Ë»ç('V'), ÃʱâÈ­('F') CurrentSite : ¹Ù¶÷°³ºñ ¸ð¾ç(Default='|') 0029~0033 : INT 60h¿¡ ´ëÇÑ »õ·Î¿î Çڵ鷯. ÇÁ·Î±×·¥ÀÌ ¸Þ¸ð¸®¿¡ »óÁÖÇÑ ÈÄ »õ·Î¿î Çڵ鷯ÀÇ ¼¼±×¸ÕÆ® ÁÖ¼Ò´Â ¸Þ ¸ð¸®¿¡ »óÁÖÇÑ ÇÁ·Î±×·¥ÀÇ CS¿Í µ¿ÀÏÇÏ´Ù. ÀÌ Á¡À» ÀÌ¿ëÇؼ­ ¸Þ¸ð¸® »óÁÖ ¿©ºÎ¸¦ È®ÀÎÇÑ´Ù. ¶óÀÎ 0031ÀÇ Ç¥ÇöÀº ¿ø·¡, CALL CS:[KeepInt60h] À̾úÀ¸³ª ¶æÀ» ¸íÈ®È÷ Çϱâ À§ÇØ º¯°æµÇ¾ú´Ù. 0038~0110 : INT 13h¿¡ ´ëÇÑ »õ·Î¿î Çڵ鷯. ¹ÙÀÌ¿À½º¸¦ ÅëÇÑ µð½ºÅ© ÀÔÃâ·ÂÀÌ ÀÖÀ» ¶§ ¸¶´Ù ÀÌ Çڵ鷯°¡ È£ÃâµÇ°í Çڵ鷯´Â INT 13h°¡ È£ÃâµÉ ¶§ÀÇ ·¹Áö½ºÅ͸¦ °Ë»çÇؼ­ ¾î¶² ÀÛ¾÷À» ÇÒ °ÍÀÎÁö¸¦ ÆľÇÇÏ°Ô µÈ´Ù. ¶óÀÎ 0054~0055´Â DSÀÇ °ªÀ» CSÀÇ °ªÀ¸·Î ´ë Ä¡ÇÏ´Â ÀÛ¾÷Àε¥ ÀÌ´Â ´ÙÀ½°ú °°ÀÌ Ç¥ÇöµÉ ¼ö ÀÖ´Ù. MOV DX,CS MOV DS,DX Áï, ¼¼±×¸ÕÆ® ·¹Áö½ºÆ® ³¢¸®ÀÇ Á÷Á¢ÀûÀÎ ±³È¯Àº ÇÒ ¼ö ¾øÀ¸¹Ç·Î ¹ü¿ë ·¹Áö½ºÅ͸¦ ÅëÇØ CS¸¦ DS·Î º¹»çÇÏ´Â °ÍÀÌ´Ù. ±×·¯³ª ÀÌ ¹æ¹ýÀº PUSH, POP¿¡ ÀÇÇÑ º¹»ç¹æ¹ý º¸´Ù ÄÚµåÀÇ Å©±â°¡ Å©¸ç CPU »çÀÌŬµµ ´Ê´Ù. 0114~0136 : ÀÛ¾÷ÀÌ ÁøÇàµÉ µð½ºÅ©ÀÇ ID¸¦ °Ë»çÇÏ°í DriveID¿¡ º¸°üÇÑ´Ù. 0140~0170 : INT 13h·Î ³Ñ°ÜÁø ·¹Áö½ºÅÍ¿¡¼­ AH¸¦ °Ë»çÇÏ¸é ¾î¶² ÀÛ¾÷À» ÇÏ°ÔµÉ Áö ¾Ë ¼ö ÀÖ´Ù. À̸¦ °Ë»çÇÏ°í °¢ ÀÛ¾÷¿¡ µû¶ó 'R', 'W', 'V', 'F' ÁßÀÇ ÇÑ°¡Áö¸¦ CurrentJob¿¡ º¸°üÇÑ´Ù. 0174~0192 : ¹Ù¶÷°³ºñÀÇ Á¾·ù¸¦ °áÁ¤ÇÑ´Ù. ¹Ù¶÷°³ºñ´Â '|', '/', '-', '\'¸¦ Â÷·Ê ´ë·Î Ãâ·ÂÇÏ¿© ±¸ÇöÇÑ´Ù. ÀÌ °ªÀº CurrentSite¿¡ ÀúÀåµÈ´Ù. 0196~0206 : µå¶óÀ̺ê ID('A', 'B',..)¸¦ È­¸éÀÇ ÃÖ»ó´Ü ¿ìÃø(Y=0, X=77)¿¡ Ãâ·ÂÇÑ ÇÑ´Ù. ES:DI = ºñµð¿À¼¼±×¸ÕÆ®:009Ah 0210~0220 : ÀÛ¾÷ÀÇ À¯Çü°ú ¼±ÅÃµÈ ¹Ù¶÷°³ºñ ¸ð¾çÀ» SiteBuffer¿¡ ÀúÀåÇÑ´Ù. 0224~0234 : SiteBuffer¿¡ ÀúÀåµÈ ¹®ÀÚ¿­À» ºñµð¿À¼¼±×¸ÕÆ®:009Ah¿¡ Ãâ·ÂÇÑ´Ù. 0236 : ¸Þ¸ð¸®¿¡ »óÁÖ½Ãų ¿µ¿ªÀÇ Å©±â(¹ÙÀÌÆ® ´ÜÀ§)¸¦ °è»êÇϱâ Æí¸®Çϵµ·Ï Çϱâ À§ÇØ »ç¿ëµÇ¾ú´Ù. '$'Àº ÇÑ ¼¼±×¸ÕÆ® ³»¿¡¼­ '±×°÷ ±îÁöÀÇ °Å¸®' ÀÎ ¿É¼ÂÀÇ °³³ä°ú µ¿ÀÏÇϹǷΠ±× °ªÀº 16ºñÆ® ¹üÀ§(0~64KB)¿¡ ÀÖ´Ù. Áï, ÀÌ ÇÁ·Î±×·¥Àº CS:0000~CS:TSR_BLOCK ¿µ¿ªÀ» ¸Þ¸ð¸®¿¡ »óÁÖ½ÃÅ°°Ô µÈ´Ù. ÀÌ ºÎºÐÀº ¿ª¾î¼ÀºíÇÑ Äڵ忡¼­´Â ãÀ» ¼ö ¾ø´Ù. ÇÊÀÚ°¡ ÇÁ·Î±× ·¥ÀÇ ¾ÕµÚ¸¦ ¸ÂÃß¾î º¸°í ÀÓÀÇ·Î »ðÀÔÇß´Ù. 0240~0257 : ÇÁ·Î±×·¥ÀÇ ¼³Ä¡/Á¦°Å½Ã¿¡ º¸¾ßÁÙ ¸Þ¼¼Áö¸¦ Á¤ÀÇÇÑ´Ù. 0261~0276 : ÇÁ·Î±×·¥ÀÌ ÀÌ¹Ì ¸Þ¸ð¸®¿¡ ¼³Ä¡µÇ¾î ÀÖ´ÂÁö¸¦ °Ë»çÇÏ°í ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Ù¸é »óÁÖ¸¦ ÇØÁ¦ÇÏ´Â °÷À¸·Î, ±×·¸Áö ¾Ê´Ù¸é ¼³Ä¡ÇÏ´Â °÷À¸·Î ºÐ±â ÇÑ´Ù. ÇÁ·Î±×·¥ÀÇ ¼³Ä¡ ¿©ºÎ´Â ¾Õ¼­ ÀÌ¹Ì ¾ð±ÞÇÑ ¹Ù ÀÖÁö¸¸ INT 60hÀÇ »õ·Î¿î Çڵ鷯ÀÇ ¼¼±×¸ÕÆ® ÁÖ¼Ò¸¦ v¾ò°í ±× ¼¼±×¸ÕÆ®ÀÇ 103h¿É¼ÂÀ» Á¶ »çÇÏ´Â °ÍÀÌ´Ù. 103h¿É¼Â¿¡´Â 'Copyright..'¶ó´Â ¹®ÀÚ¿­ÀÌ ÀÖ°í ÀÌ ¹® ÀÚ¿­ÀÇ ¸Ó¸´ºÎºÐÀÎ 'Co'´Â ¿öµå ´ÜÀ§·Î ÀоúÀ» ¶§ 6F43h°¡ µÇ¹Ç·Î ÀÌ ¸¦ È®ÀÎÇÑ´Ù. ¸¸¾à 6F42h°¡ ¾Æ´Ï¶ó¸é ¾ÆÁ÷ ¼³Ä¡µÇÁö ¾ÊÀº °ÍÀ¸·Î °£ÁÖ ÇÏ¿© ¼³Ä¡Ã³¸®¸¦ ÇϰԵǸç, 6F43h¶ó¸é È®ÀÎÀ» À§ÇØ ´Ù½Ã Çѹø INT 13h ÀÇ ¼¼±×¸ÕÆ®¸¦ ¾ò°í ±× ¼¼±×¸ÕÆ®ÀÇ 103h¿É¼Â°ú 6F43h¸¦ ºñ±³ÇÏ¿© µ¿ÀÏ ÇÏ´Ù¸é ÀÌ¹Ì ¼³Ä¡µÈ °ÍÀ¸·Î °£ÁÖÇÏ¿© »óÁÖ ÇØÁ¦ ºÎºÐÀ¸·Î ºÐ±âÇÑ´Ù. INT 13hÀÇ »õ·Î¿î Çڵ鷯 ¼¼±×¸ÕÆ®´Â INT 60hÀÇ »õ·Î¿î Çڵ鷯 ¼¼±×¸Õ Æ®¿Í µ¿ÀÏÇÏ´Ù. 0277~0299 : ¸Þ¸ð¸® »óÁÖ¸¦ ÇØÁ¦Çϱâ À§ÇØ º¸°üÇØ µÎ¾ú´ø ¿ø·¡ÀÇ ÀÎÅÍ·´Æ® Çڵ鷯 º¤Å͸¦ º¹±¸ÇÏ°í »óÁÖ¸¦ À§ÇØ ÇÒ´çµÇ¾ú´ø ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÑ´Ù. 0301~0342 : ºñµð¿À ¸Þ¸ð¸®¿¡ µð½ºÅ©ÀÇ ÀÛ¾÷ »óŸ¦ ½á¾ß ÇϹǷΠºñµð¿À ¸Þ¸ð¸®ÀÇ ¼¼±×¸ÕÆ®¸¦ °è»êÇϱâ À§ÇØ(Ä®¶ó´Â 0B800h, Èæ¹éÀº 0B000h·Î ´Ù¸£´Ù) ºñµð¿À ¸ðµå¸¦ ¾ò°í Ä®¶óÀ̸é VideoSeg(Default=0B000h)¿¡ 800h¸¦ ´õ ÇÑ ÈÄ ¸Þ¸ð¸®¿¡ »óÁÖÇϱâ À§ÇØ INT 13h,INT 60hÀÇ »õ·Î¿î Çڵ鷯¸¦ ¼³ Ä¡ÇÏ°í »óÁÖÇÏ°ÔµÉ ¸Þ¸ð¸® ºí·° (¹ÙÀÌÆ® ´ÜÀ§¸¦ Æз¯±×·¡ÇÁ ´ÜÀ§·Î ȯ »ê)À» ÇÒ´çÇÑ´Ù. ¶óÀÎ 0328~0330ÀÇ Ç¥Çö, MOV AH,49H MOV ES,CS:[PSP_ENV_SEG] INT 21H Àº ÀÌ ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ¸é¼­ »ý¼ºµÈ ȯ°æ¿µ¿ª(Default=384¹ÙÀÌÆ®)À» ÇØÁ¦ÇÑ´Ù. ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ¸é µµ½º´Â ±× ÇÁ·Î±×·¥À» À§ÇÑ È¯°æ¿µ¿ª°ú ÇÁ·Î±×·¥ ÀÚü¸¦ À§ÇÑ ÇÁ·Î±×·¥¿µ¿ªÀ» ÇÒ´çÇÑ´Ù. ¸Þ¸ð¸® »óÁÖ ÇÁ·Î±×·¥ ÀÇ °æ¿ì »óÁÖ¸¦ ÇØÁ¦ÇÒ ¶§´Â ÇÁ·Î±×·¥¿µ¿ª°ú ȯ°æ¿µ¿ªÀ» ¸ðµÎ ÇØÁ¦ÇØ ÁÖ¾î¾ß Çϴµ¥ ÀÌ ÇÁ·Î±×·¥¿¡¼­´Â ȯ°æ¿µ¿ªÀ» ¹Ì¸® ÇØÁ¦ÇÏ°í ÀÖ´Ù. ¶óÀÎ 0336~0342´Â ¸Þ¸ð¸® »óÁÖ¸¦ À§ÇØ »óÁÖÇÒ ÄÚµåÀÇ Å©±â¸¦ °è»êÇÑ´Ù. LEA DX,TSR_BLOCK ; TSR_BLOCKÀÇ À¯È¿ÁÖ¼Ò(¿É¼Â)À» ¾ò´Â´Ù. ; »óÁÖÇÏ°Ô µÉ ¿µ¿ªÀº ¿É¼Â 0¿¡¼­ ; TSR_BLOCK±îÁöÀÇ ¹ÙÀÌÆ® Å©±â¿Í PSPÀÇ ; 256¹ÙÀÌÆ®¸¦ ÇÕÇؼ­ °è»êµÈ´Ù. ±×·¯³ª ; COM ÇÁ·Î±×·¥Àº °°Àº ¼¼±×¸ÕÆ® ³»¿¡ ; PSP¸¦ °¡Áö°í ÀÖÀ¸¹Ç·Î(¿É¼Â 0~FFh) ; ´Ü¼øÈ÷ TSR_BLOCK±îÁöÀÇ ¹ÙÀÌÆ® ±æÀ̸¸ ; °è»êµÈ´Ù. EXEÇÁ·Î±×·¥À̶ó¸é PSPÀÇ Å© ; ±âÀÎ 100h°¡ ´õÇØÁ®¾ßÇÒ °ÍÀÌ´Ù. ADD DX, 0Fh ; DX´Â ¸Þ¸ð¸®¿¡ »óÁÖÇÒ ÇÁ·Î±×·¥ÀÇ Å©±â ; °¡ ¹ÙÀÌÆ® ´ÜÀ§·Î ÀúÀåµÇ¾î ÀÖ´Ù. ; ÀÌ °ªÀ» Æз¯±×·¡ÇÁ ´ÜÀ§·Î º¯È¯Çϱâ ; À§Çؼ­´Â 4·Î ³ª´©¾î ÁÖ°Ô µÇ´Âµ¥ ±× ; ¶§ÀÇ ¼Ò½ÇµÇ´Â ³ª¸ÓÁö °ªÀ» º¸Á¤Çϱâ ; À§Çؼ­ 0Fh¸¦ ´õÇØ ÁÖ¾ú´Ù. ; ÀÌ ºÎºÐÀº ¿ø·¡ÀÇ ¿ø·¡ Äڵ忡´Â ¾ø´Â ; ³»¿ëÀÌ´Ù. ¿ø·¡ÀÇ ÇÁ·Î±×·¥¿¡¼­´Â DX¿¡ ; ¹Ù·Î Æз¯±×·¡ÇÁ ´ÜÀ§ÀÇ ¸Þ¸ð¸® Å©±â°¡ ; ÀúÀåµÇ¾ú¾ú´Âµ¥ ÀÌ´Â ¾Æ¸¶µµ EQU¸¦ »ç ; ¿ëÇؼ­ ¾ÕºÎºÐ¿¡¼­ ¹Ì¸® °è»êµÇ¾ú±â ¶§ ; ¹®ÀÏ °ÍÀ¸·Î ÃßÃøµÈ´Ù. MOV CL, 4 SHR DX, CL ; ¹ÙÀÌÆ® ´ÜÀ§ÀÇ ±æÀ̸¦ Æз¯±×·¡ÇÁ ´ÜÀ§ ; ·Î ȯ»êÇϱâ À§ÇØ DX¸¦ ¿ìÃøÀ¸·Î 4ºñÆ® ; ½ÃÇÁÆ®ÇÑ´Ù(DX / 4). MOV AX,3100H ; ¸Þ¸ð¸® »óÁÖÈÄ Á¾·á ¼­ºñ½º, º¹±ÍÄÚµå=0 INT 21H 0346 : ÇÁ·Î±×·¥ÀÇ ÁøÀÔÁ¡(Entry point)À» ¸í½ÃÇÑ´Ù. ¾î¼Àºí¸® ¼Ò½º¿Í ¼³¸í ºÎºÐÀ» µû·Î ÇÁ¸°Æ®ÇÑ ÈÄ ¶óÀιøÈ£¸¦ ºñ±³Çϸ鼭 º¸´Â °ÍÀÌ Æí ¸®ÇÒ °ÍÀÌ´Ù. ÇÁ·Î±×·¥Àº ºñ±³Àû °£´ÜÇÑ ³»¿ëÀ̹ǷΠÀÌÁ¦ ¸· ¾î¼Àºí¸®¸¦ ¹è¿ì±â ½ÃÀÛÇÏ´Â Ãʺ¸°¡ ¾Æ´Ï¶ó¸é ÀÌÇØÇϴµ¥´Â º° ¾î·Á¿òÀÌ ¾øÀ» °ÍÀ¸·Î »ý°¢µÈ´Ù. [31] Á¦¸ñ : ¼Ò½ººÐ¼®<2>¿¡¼­ºÐ¼®µÈÇÁ·Î±×·¥ÀÇÁ¦ÀÛÀÚÀÔ´Ï´Ù. ¿Ã¸°ÀÌ : ¿µ¿øÀǺ°(À̼¼¿ø ) 95/02/17 00:38 ÀÐÀ½ : 223 °ü·ÃÀÚ·á ¾øÀ½ ¾È³çÇϼ¼¿ä. ¹Ú¼±±Ù´Ô(ID:natali)ÀÇ [°­ÁÂ] ¾î¼Àºí¸® ¼Ò½ººÐ¼® <2> ¿¡¼­ ºÐ¼®µÈ ÇÁ·Î±×·¥ (diskmon.com)ÀÇ Á¦ÀÛÀÚ À̼¼¿ø ÀÔ´Ï´Ù. ¸ÕÀú ¼±±Ù´ÔÀÇ ³î¶ó¿î ÄÚµå ºÐ¼®·Â¿¡ °æźÀ» ¸¶Áö ¾Ê½À´Ï´Ù. ¹°·Ð ÄÚµå´Â ¼Ò¼­·Î »Ì¾Æ³¾ ¼ö ÀÖÀ¸³ª Á¦ÀÛÀÚÀÇ ÄÚµå Àǵµ¸¦ Á¤È®È÷ ÆľÇÇÑ ´Ù´Â°ÍÀº °áÄÚ ½¬¿î°ÍÀÌ ¾Æ´Ï±â ¶§¹®ÀÔ´Ï´Ù. ¹ØÀÇ °­Á ³»¿ëÁß¿¡ ±ØÈ÷ ÀϺΠÁ¦ÀÛÀÚÀÇ º»·¡ Àǵµ¿Í ¾à°£ ´Ù¸¥ ÇØ ¼®ÀÌ ÀÖ¾ú´Âµ¥ ´ÜÁö, Á¦ÀÛÀÚ°¡ »ì¾ÆÀÖ´Â ÀÌÀ¯·Î À̸¦ º¸ÃæÇÒ±î ÇÕ´Ï ´Ù.(ÇÏ´Â°Ô ³´°ÚÁÒ? ¼±±Ù´Ô?) ÀÌ ÇÁ·Î±×·¥À» ¸¸µé°ÔµÈ µ¿±â´Â iomon.com À̳ª ³ëÅÏ À¯Æ¼¸®Æ¼ÀÇ di skmon.exe°¡ µð½ºÅ©ÀÇ ¿òÁ÷ÀÓÀ» È­¸é¿¡ Ç¥½ÃÇØ ÁÖÁö¸¸ ¹º°¡ ºÎÁ·ÇÑ Á¡ ÀÌ ÀÖ¾î º¸´Ù È®½ÇÇÑ µð½ºÅ©ÀÇ ¿òÁ÷ÀÓÀ» ±¸ÇöÇغ¸±â À§Çؼ­ ¿´½À´Ï´Ù. ±×°ÍÀº ´ÜÁö, Àç¹ÌÀÖ´Â È­¸é Ãâ·ÂÀ¸·Î ³¡³ª´Â°ÍÀÌ ¾Æ´Ï¶ó µð½ºÅ©ÀÇ ¼¶ ¼¼ÇÑ ¿òÁ÷ÀÓÀ» Æ÷ÂøÇÏ¿© µð½ºÅ© ÀÛµ¿»óÀÇ ¿À·ù³ª ¾î¶² º¯È­¸¦ ã¾Æ³» ±â À§Çؼ­ ¿´½À´Ï´Ù. Á¦À۱ⰣÀº ÃÑ 7ÀÏ °¡·® ¼Ò¿ä µÇ¾ú½À´Ï´Ù. óÀ½¿¡ È­¸éÀÇ ±¸¼º°ú ÇÁ ·Î±×·¥ÀÇ È帧À» Àâ¾Æ ¸î½Ã°£¸¸¿¡ ¿Ï¼ºµÈ ÇÁ·Î±×·¥À» Á¦ÀÛÇÏ¿© ½ÃÇèÇÏ ´Âµ¥, ¾Ë ¼ö ¾ø´Â ÀÌÀ¯·Î A³ª Bµå¶óÀ̺긦 ÀÐÀ»¶§ µð½ºÄÏÀÌ ³¢¿öÁ® ÀÖ Áö ¾Ê¾Ò´Âµ¥µµ A³ª Bµå¶óÀ̺ê·Î ³Ñ¾î°¬½À´Ï ´Ù. Àú·Î¼­´Â µµ¹«Áö ÀÌÀ¯ ¸¦ ¾Ë ¼ö°¡ ¾ø¾ú½À´Ï´Ù. ÀÌ ¹®Á¦´Â ¼±±Ù´ÔÀÇ ÄÚµå ºÐ¼®¿¡µµ ¹àÇôÁöÁö °¡ ¾Ê¾Ò½À´Ï´Ù.(¼±±Ù´Ô ¼Ò½º 109 ¶óÀÎ) °á±¹ ÀÌ ¹®Á¦·Î ¿À·£ °í¹ÎÀ» ÇÏ°Ô µÇ¾ú´Âµ¥ ¿ì¿¬È÷ µð½ºÅ© ÀÎÅÍ·´Æ®ÀÇ º¹±Í°úÁ¤¿¡¼­ ½ºÅÃÀÇ ¿öµå¸¦ Çϳª ´õ pop ÇؾßÇÔÀ» ¾Ë°Ô µÇ¾ú½À´Ï´Ù. (º¸ÅëÀÇ »ç¿ëÀÚ ÀÎÅÍ·´Æ® ÇÚ µé·¯¿¡¼­ÀÇ º¹±Í´Â iret À¸·Î ½ºÅÃÀÇ 3¿öµå¸¦ ºñ¿ö¾ßÇϳª µð½ºÅ© ÀÎÅÍ ·´Æ®¸¸ À¯³­È÷ 4¿öµå¸¦ ºñ¿ö¾ß ÇÕ´Ï´Ù.) ÀÌ°ÍÀÌ 109 ¶óÀÎÀÇ 'retf 2' ÀÎ ÀÌÀ¯ÀÔ´Ï´Ù. ±×¸®°í ÀÌ°ÍÀº ±â¼úÀûÀÎ ¹®Á¦ÀÌÁö¸¸, ÇÁ·Î±×·¥À» ¸Þ¸ð¸®¿¡ »óÁÖ½ÃÅ° ±âÀü¿¡ ¸ÕÀú ȯ°æºí·°À» ÇØÁ¦Çϴ°ÍÀÌ ÁÁ½À´Ï´Ù. ¿Ö³ÄÇÏ¸é °¡´ÉÇÑÇÑ ·¥»óÁÖ ÇÁ·Î±×·¥Àº ¸Þ¸ð¸®¸¦ ´ú Â÷ÁöÇؾßÇϱ⠶§¹®ÀÔ´Ï´Ù. ±×¸®°í ÀÌ°ÍÀº º¸ÃæÀÔ´Ï´Ù¸¸, ·¥»óÁÖ ÇÁ·Î±×·¥ÀÇ °æ¿ì¿¡ ¸Þ¸ð¸®¿¡ »óÁÖ½Ãų ÇÁ·Î±×·¥ ÀϺκÐÀÇ Å©±â¸¦ °è»êÇÏ´Â ¹æ¹ýÀº ¸Å¿ì °£´ÜÇÕ´Ï ´Ù. ±×°ÍÀº »óÁÖ½Ãų ºÎºÐ±îÁöÀÇ ·¹ÀÌºí¿¡¼­ start ·¹À̺íÀ» »©°í ´Ù ½Ã 256byte¸¦ ´õÇÕ´Ï´Ù.(256Àº pspÀÇ Å©±â) °Å±â¿¡ 15¹ÙÀÌÆ®¸¦ ´õÇÕ´Ï ´Ù. (Æз¯±×·¡ÇÁ ´ÜÀ§·Î ³ª´­¶§ ¿ÏÀüÈ÷ Æ÷ÇԵǰÔÇϱâ À§Çؼ­) ±×¸®°í Æз¯±×·¡ÇÁ ´ÜÀ§ÀÎ 16À¸·Î ³ª´¯´Ï´Ù. - ÀÌ°ÍÀº µµ½ºÀÎÅÍ·´Æ® 21h ÇÔ¼ö ¹øÈ£ 31hÀÎ °æ¿ì ÀÔ´Ï´Ù. ±×·¯³ª ´õ¿í °£´ÜÈ÷ ÇÁ·Î±×·¥À» ¸Þ¸ð¸®¿¡ »óÁÖ½ÃÅ°°íÀÚ ÇÑ´Ù¸é µµ½º ÀÎÅÍ·´Æ® 27h¸¦ ¾²½Ê½Ã¿À. À§ÀÇ ¹æ¹ý(int 21h,ah=31h)ÀÌ ÇÁ·Î±×·¥ÀÇ Å©±â¸¦ À§¿¡¼­ºÎÅÍ ÃøÁ¤ÇÏ´Â ¹æ¹ýÀ̶ó¸é int 27h´Â ¹Ý´ë·Î ÇÁ·Î±×·¥ÀÇ Å©±â¸¦ ¹Ø¿¡¼­ºÎÅÍ ÃøÁ¤ÇÕ´Ï´Ù. Áï ¸Þ¸ð¸®¿¡¼­ Á¦°ÅÇÏ°íÀÚ ÇϴºκРÀÌÇϸ¦ dx¿¡ ³Ö°í È£Ã⸸ÇÏ¸é µË´Ï´Ù. ÀÌ Â÷ÀÌ´Â ¹æ¹ýÀÇ Â÷ÀÌÀÏ»ÓÀÌ°í ±â´É¿¡¼­ÀÇ Â÷ÀÌ´Â ¾ø½À´Ï´Ù. (int 21h,ah=31h´Â Æз¯±×·¡ÇÁ ´ÜÀ§·Î ·¥»óÁÖ½ÃÅ°°í, int 27h´Â ¹ÙÀÌÆ® ´ÜÀ§·Î ·¥»óÁÖ ½ÃÅ°±â ¶§¹®¿¡ ¹æ¹ýÀÇ Â÷ÀÌ°¡ »ý°Ü³­°Í ÀÔ´Ï´Ù.) ±×¸®°í ÀÌ·¯ÇÑ °è»êÀº ¾î¼Àºí·¯°¡ ¾î¼Àºí ½Ã(pass 1)¿¡ °è»êÇϱ⠶§¹®¿¡ ÇÁ·Î±×·¡¸Ó´Â ½Å°æ¾²Áö ¾Ê¾Æµµ µË´Ï´Ù .(ÇϳªÀÇ ¼¼±×¸ÕÆ® ´ÜÀ§·Î Àý´ë¹øÁö¸¦ °è»êÇؼ­ ÀÚµ¿À¸·Î ³Ö¾îÁֹǷÎ) ±×¸®°í int 60h¸¦ ÈÄÅ·ÇÑ ÀÌÀ¯´Â, ÀÌ ÇÁ·Î±×·¥À» »óÁÖ½ÃŲÈÄ¿¡ ´Ù¸¥ int 13h¸¦ ÈÄÅ·ÇÏ´Â ÇÁ·Î±×·¥ÀÌ ÀÖ¾ú´Ù°í ÇÒ¶§, ÀÌ ÇÁ·Î±×·¥À» ¸Þ¸ð¸® ¿¡¼­ Á¦°ÅÇÏ¸é µð½ºÅ© ÀÎÅÍ·´Æ®´Â ¾ÆÀÛ³³´Ï´Ù.(¸Å¿ì Å« »ç°íÀÓ) µû¶ó ¼­ ÀÌ ÇÁ·Î±×·¥ÀÇ Á¦°Å½Ã¿¡ ÀÌ ÇÁ·Î±×·¥ ÀÌÈÄ¿¡ µð½ºÅ© ÀÎÅÍ·´Æ®¸¦ ÈÄ Å·ÇÑ ÇÁ·Î±×·¥ÀÌ ÀÖ¾ú´Â°¡¸¦ ¾Ë¾Æº¸±â À§Çؼ­ ÀνÄÀÚ¸¦ int 60h¿¡ ¼û °Ü µÎ¾ú´ø°Í ÀÔ´Ï´Ù. (´Ù¸¥ ÇÁ·Î±×·¥¿¡¼­ int 60h¸¦ ÈÄÅ·ÇÒ ÀÌÀ¯°¡ ¾ø À¸¹Ç·Î...) ³¡À¸·Î ÀÌ ÇÁ·Î±×·¥ÀÇ ¿ø ¼Ò½º(ÈçÈ÷ Çϴ¸»·Î ¿À¸®Áö³¯ ½î¾²~)¸¦ °ø °³ÇÕ´Ï´Ù. ±×¸®°í º° º¼ÀÏ ¾ø´Â ÇÁ·Î±×·¥ÀÓ¿¡µµ ºÒ±¸ÇÏ°í ºÐ¼®À» ÇØÁÖ ½Å ¼±±Ù´Ô¿¡°Ô ´Ù½ÃÇѹø °¨»ç µå¸³´Ï´Ù. ;=========================================================================== ; DISKMON ; µð½ºÅ©ÀÇ ¿òÁ÷ÀÓÀ» °üÂûÇÑ´Ù. ;========================================================================== include macro.inc color = 01110000b ;Èò»ö¹ÙÅÁ¿¡ °ËÀº»ö±ÛÀÚ code segment assume cs:code org 100h start: jmp begin copyright db 'Copyright (C) Yi,se-won.' ;ÀνÄÀÚ´Â Co ÀÌ´Ù. old_13h dd ? old_60h dd ? video_buffer dw 0b000h ;Ä®¶ó ºñµð¿À ¹öÆÛ old_screen db 6 dup(0) ;º»·¡ÀÇ È­¸é ÀúÀå¼Ò drive db ? db color status db ? db color speed db '|' ;¹Ù¶÷°³ºñ ÃʱâÄ¡ db color ;------------------------- ; user interrupt handler ;------------------------- new_60h: ;ÀνÄÀÚ °Ë»ç¸¦ À§ÇÑ pushf ;»ç¿ëÀÚ ÀÎÅÍ·´Æ® Çڵ鷯 call cs:old_60h iret ;------------------------ ; disk interrupt handler ;------------------------ new_13h: pushf cli push ss push sp push bp push_register push es push ds push cs pop ds perform: call drive_check ;µå¶óÀ̺ê üũ call status_check ;µð½ºÅ© üũ call rotation_count ;¹Ù¶÷°³ºñ »óÅ üũ call screen_save ;º»·¡È­¸é ÀúÀå call monitor ;È­¸é Ãâ·Â pop ds pop es pop_register pop bp pop sp pop ss popf pushf call cs:old_13h next: pushf cli push ss push sp push bp push_register push es push ds call screen_recover pop ds pop es pop_register pop bp pop sp pop ss popf retf 2 ;½ºÅÃÀÇ 4¹ÙÀÌÆ®¸¦ ºñ¿î´Ù. drive_check: ;µå¶óÀ̺긦 üũÇÑ´Ù. cmp dl,0 je a_drive cmp dl,1 je b_drive cmp dl,80h je c_drive cmp dl,81h je d_drive drive_check_exit: ret a_drive: mov ds:drive,'A' ret b_drive: mov ds:drive,'B' ret c_drive: mov ds:drive,'C' ret d_drive: mov ds:drive,'D' ret status_check: cmp ah,2 je read cmp ah,3 je write cmp ah,4 je verify cmp ah,5 je format cmp ah,6 je format cmp ah,7 je format cmp ah,0ah je read cmp ah,0bh je write status_check_exit: ret read: mov ds:status,'R' ret write: mov ds:status,'W' ret verify: mov ds:status,'V' ret format: mov ds:status,'F' ret rotation_count: cmp ds:speed,'|' je rotation_1 cmp ds:speed,'/' je rotation_2 cmp ds:speed,'-' je rotation_3 mov ds:speed,'|' ret rotation_1: mov ds:speed,'/' ret rotation_2: mov ds:speed,'-' ret rotation_3: mov ds:speed,'\' ret monitor: ;µð½ºÅ©ÀÇ »óŸ¦ È­¸é push cs ;Ãâ·ÂÇÑ´Ù. pop ds mov si,offset drive mov ax,cs:video_buffer mov es,ax mov di,154 mov cx,3 rep movsw ret screen_save: push cs pop es mov di,offset es:old_screen mov ax,cs:video_buffer mov ds,ax mov si,154 mov cx,3 rep movsw ret screen_recover: ;º»·¡ÀÇ È­¸éÀ» º¹±¸ÇÑ´Ù. push cs pop ds mov si,offset ds:old_screen mov ax,cs:video_buffer mov es,ax mov di,154 mov cx,3 rep movsw ret install_msg db 13,10,'¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤' db 13,10,'¦¢ Disk monitor. ¦¢' db 13,10,'¦¢ Copyright (C) Yi, se - won. 1994.11 ¦¢' db 13,10,'¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥' db 13,10,' Installed.',7 db 13,10,'$' removed_msg db 13,10,' Disk monitor' db 13,10,' Removed.',7 db 13,10,'$' no_remove_msg db 13,10,' Disk monitor' db 13,10,' Not removed.',7 db 13,10,'$' begin: mov ax,3560h ;ÀνÄÀÚ¸¦ À§ÇÑ ÀÎÅÍ·´Æ®¿¡¼­ int 21h ;ÀνÄÀÚ¸¦ °Ë»çÇÑ´Ù. cmp word ptr es:copyright,6f43h ;¸¸¾à ÀνÄÀÚ°¡ ¾ø´Ù¸é jne install ;ÀνºÅçÇÑ´Ù. disk_vector_check: mov ax,3513h ;µð½ºÅ© ÀÎÅÍ·´Æ®¿¡¼­ int 21h ;ÀνÄÀÚ¸¦ °Ë»çÇÑ´Ù. cmp word ptr es:copyright,6f43h ;ÀνÄÀÚ°¡ ÀÖ´Ù¸é ÇÁ·Î±×·¥À» je remove ;¸Þ¸ð¸®¿¡¼­ Á¦°ÅÇÑ´Ù. no_remove: ;¸¸¾à ÀνÄÀÚ°¡ ¾ø´Ù¸é ´Ù¸¥ mov dx,offset no_remove_msg ;ÇÁ·Î±×·¥ÀÌ µð½ºÅ© ÀÎÅÍ·´Æ®¸¦ mov ah,9 ;ÈÄÅ·ÇÑ °ÍÀ̹ǷΠÇÁ·Î±×·¥À» int 21h ;¸Þ¸ð¸®¿¡¼­ Á¦°ÅÇÒ ¼ö ¾ø´Ù. ; int 20h remove: ;ÀÌ¹Ì ¸Þ¸ð¸®¿¡ »óÁÖÇϹǷΠpush ds ;ÇÁ·Î±×·¥À» Á¦°ÅÇÑ´Ù. mov ax,2513h mov dx,word ptr es:old_13h mov ds,word ptr es:old_13h[2] int 21h mov ax,2560h mov dx,word ptr es:old_60h mov ds,word ptr es:old_60h[2] int 21h pop ds mov ah,49h int 21h mov dx,offset removed_msg mov ah,9 int 21h int 20h install: ;ÇÁ·Î±×·¥À» ÀνºÅçÇÑ´Ù. mov ah,0fh ;ÇöÀçÀÇ ºñµð¿À¸ðµå¸¦ °Ë»çÇÏ°í int 10h ;¸ð³ëÅ©·ÒÀ̸é color_m ·Î ;Á¡ÇÁÇÑ´Ù. cmp al,7 jne color_m hooking: mov ax,3560h ;ÀνÄÀÚ¸¦ À§ÇÑ »ç¿ëÀÚ int 21h ;ÀÎÅÍ·´Æ®¸¦ ÈÄÅ·ÇÑ´Ù. mov word ptr old_60h,bx mov word ptr old_60h[2],es mov ax,2560h mov dx,offset new_60h int 21h mov ax,3513h ;µð½ºÅ© ÀÎÅÍ·´Æ® ÈÄÅ· int 21h mov word ptr old_13h,bx mov word ptr old_13h[2],es mov ax,2513h mov dx,offset new_13h int 21h mov ah,49h mov es,cs:[2ch] int 21h mov ah,9 mov dx,offset install_msg int 21h mov ah,31h ;¸Þ¸ð¸® »óÁÖ Á¾·á. mov dx,(install_msg-start+256+15)/16 int 21h color_m: ;¸ð³ëÅ©·Ò ¸ð´ÏÅ͸¦ À§ÇÑ add cs:video_buffer,800h ;ºñµð¿À ¹öÆÛ ¼³Á¤ jmp hooking code ends end start [32] Á¦¸ñ : [Âü°í] ¾î¼Àºí¸® Âü°í Ã¥µé.. ¿Ã¸°ÀÌ : onestep (·ùâ±Õ ) 95/02/18 13:19 ÀÐÀ½ : 325 °ü·ÃÀÚ·á ¾øÀ½ Fri 29 Jan 93 8:34 By: Yousuf Khan To: All Re: FAQ: Books on Assembler ------------------------------------------------------------------------ Q2) I want to learn assembler, what books should I read? *** A2) Various people have found these books useful to them: General ======= Beginner: --------- -"Assembly Language from Square One", Jeff Duntemann, Scott Foresman IBM Comptuter Books. ISBN 0-673-38590-6. -"Assembly Language for the IBM PC", Kip R. Irvine, ISBN 0-02-359840-9 -"Mastering Turbo Assembler", by Tom Swan, Hayden Books, 1989. ISBN 0-672-48435-8. -"Assembly Language and Systems Programming for the IBM PC and Compatables", Karen A. Lemone, Little, Brown, & Co. ISBN 0-316-52069-1. -"Assembly Language Primer for the IBM PC/XT", Robert Lafore, Plume/Waite. -"Using Assembly Language", Allen L. Wyatt Sr., Que 1990. ISBN 0-88022-464-9. Intermediate: ------------- -"The Zen of Assembly", Michael Abrash, Scott Foresman Publ. -"Assembly Language Primer for the IBM PC/XT" -"IBM Microcomputers: A Programmer's Handbook", Julio Sanchez and Maria P. Canton, McGraw-Hill. ISBN 0-07-054594-4. -"Programmer's Problem Solver for the IBM PC, XT, and AT", Robert Jourdain, Prentice Hall 1986. ISBN 0-89303-787-7. -"IBM PC ASSEMBLER LANGUAGE AND PROGRAMMING", Peter Abel, 1987, Prentice-Hall, hardcover (college text). ISBN 0-13-448143-7. Advanced: --------- -"80386: A Programming and Design Handbook", 2nd ed., Penn & Don Brumm, TAB Books. ISBN 0-8306-3237-9. -"80486 Programming", Penn & Don Brumm and Leo J. Scanlon, McGraw-Hill. ISBN 0-8306-3577-7. -"ADVANCED ASSEMBLY LANGUAGE", Steven Holzner and Peter Norton Computing, Inc., Brady Books/Simon and Schuster. ISBN 0-13-658774-7. Video Graphics ============== Intermediate: ------------- -"Programmer's Guide to PC & PS/2 Video Systems", Richard Wilton, Microsoft Press. ISBN 1-55615-103-9. Advanced: --------- -"Power Graphics Programming", Michael Abrash, Que Corporation. ISBN 0-88022-500-9 -"Programmers Guide to the EGA and VGA cards", 2nd Ed., Richard F. Ferraro, Addison-Wesley Publishing Co. ISBN 0-201-57025-4. -"Advanced Programmers Guide to the EGA/VGA", George Sutty and Steve Blair, Brady Books/Prentice Hall Trade. ISBN 0-13-729039-X. References/Specialized ====================== Intermediate: ------------- -"Undocumented DOS", Andrew Schulman, Raymond J. Michels, Jim Kyle, Tim Paterson, David Maxey, and Ralf Brown, Addison-Wesley. ISBN 0-201-57064-5. -"DOS Programmer's Reference", 2nd Edition, Terry Dettmann, QUE. ISBN 0-88022-458-4. Advanced: --------- -"386SX Microprocessor Programmer's Reference Manual", Intel Corp., McGraw-Hill. ISBN 0-07-881673-4. -"i486 Microprocessor Programmer's Reference Manual", Intel Corporation, McGraw-Hill. ISBN 0-07-881674-2. -"The Programmer's PC Sourcebook", Thom Hogan, Microsoft Press. ISBN 1-55615-321-X. -"System BIOS for IBM PCs, Compatables, and EISA Computers", 2nd Ed., Phoenix Technologies Ltd., Addison Wesley. ISBN 0-201-57760-7. -"PC Magazine Programmers Technical Reference: The Processor and Coprocessor", Robert L. Hummel, Ziff-Davis Press. ISBN 1-56276-016-5. -"Mastering Serial Communications", Peter W. Gofton, Sybex 1986. ISBN 0-89588-180-2. -"DOS Programmer's Reference", 2nd Ed. -"MS-DOS Programmer's Reference", MS Press. ISBN 1-555615-329-5. from CG. [33] Á¦¸ñ : ½ºÅÃ(STACK)¿¡ °üÇÑ ¿¬±¸ ¿Ã¸°ÀÌ : ¿µ¿øÀǺ°(À̼¼¿ø ) 95/03/22 23:11 ÀÐÀ½ : 135 °ü·ÃÀÚ·á ¾øÀ½ ½ºÅà (Stack) 1. ½ºÅÃÀ̶õ. ½ºÅÃÀº ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇÏ´Â Á¶±Ý Ưº°ÇÑ µ¥ÀÌŸ¸¦ Àú ÀåÇÏ´Â ¾ÆÁÖ Æ¯º°ÇÑ ¿µ¿ªÀÌ´Ù. ±× ¿µ¿ªÀº ½ºÅà ¼¼±×¸ÕÆ®ÀÌ°í ½º Åà ¼¼±×¸ÕÆ® ·¹Áö½ºÅÍ°¡ ±×°÷ÀÇ À§Ä¡¸¦ °¡¸®Å²´Ù. ½ºÅÃÀ̶ó´Â À̸§Àº ½Ä´ç¿¡¼­ Á¢½Ã¸¦ ½×¾ÆµÎ´Â ÀåÄ¡¿¡¼­ À¯·¡Çß´Ù°í ÇÑ´Ù. ÀÌ ÀåÄ¡ÀÇ Æ¯Â¡À» ÇÑ°¡Áö ¿¹·Î µé¾î ¼³¸íÇÏ°Ú ´Ù. Ä¿ÇÇ Àü¹®Á¡¿¡ °¡¸é Ä¿ÇÇÀÜÀ» Àü±â¿­·Î ¸»¸®´Â ÀåÄ¡°¡ ÀÖ´Ù. ÀÌ°÷¿¡ Ä¿ÇÇÀÜÀ» ¾Ä¾î ¿Ã·Á ³õ´Â´Ù. ±×¸®°í ´ÙÀ½¿¡ ¾ÄÀºÀÜÀº ¸ÕÀú ¿Ã·Á³õÀº ÀÜ À§¿¡ ¿Ã·Á³õ´Â´Ù. ÀÌ·± µ¿ÀÛµéÀ» ¹Ýº¹ÇÑ´Ù¸é °¡Àå ¸Õ Àú ¾ÄÀºÀÜÀÌ °¡Àå ¹Ø¿¡ ³õ¿© ÀÖ°Ô µÈ´Ù. ¹Ý´ë·Î À̹ø¿¡´Â ¼Õ´ÔÀÌ ¿Í¼­ Ä¿ÇÇÀÜÀÌ ³ª°¡°Ô µÇ¾úÀ»¶§´Â ¸Ç À§¿¡ ³õÀÎÀÜÀÌ °¡Àå ¸ÕÀú ¼Õ ´Ô¿¡°Ô ³ª°¡°Ô µÈ´Ù. ¹°·Ð ÀÌ ¹æ¹ýÀº ¼Õ´Ô¿¡°Ô´Â ÇÕ¸®ÀûÀÌÁö ¸øÇÏ ´Ù. ¸Ç ¹ØÀÇ ÀÜÀÌ ¼Õ´Ô¿¡°Ô ³ª°£´Ù¸é ±× ÀÜÀº ¾ó¸¶³ª ¸ÕÁö¸¦ µ¤¾î ¾²°í ÀÖ´ÂÁö Á¾¾÷¿ø Á¶Â÷ ¾Ë¼ö ¾ø±â ¶§¹®ÀÌ´Ù. ÀÌ·± ½ÄÀ¸·Î °¡Àå ¸ÕÀú µé¾î¿Â µ¥ÀÌŸ°¡ °¡Àå ´Ê°Ô ³ª°¡ ´Â ´Ù½Ã¸»ÇØ °¡Àå ÃÖ±Ù¿¡ ÀúÀåµÈ µ¥ÀÌŸ°¡ °¡Àå ¸ÕÀú »ç¿ëµÇ´Â ±× ·± ÇüÅÂÀÌ´Ù. ÀÌ·¯ÇÑ ±¸Á¶¸¦ °¡Áö°í ÀÖÀ¸¹Ç·Î ´ç¿¬È÷ °¡Àå ÃÖ±Ù¿¡ µé¾î¿Â µ¥ÀÌŸÀÇ À§Ä¡¸¦ ¾Ë¼ö ÀÖ´Â Áö½ÃÀÚ¸¦ °¡Áö°í ÀÖ´Ù. ±×°ÍÀÌ ¹Ù·Î ½ºÅà Æ÷ÀÎÅÍÀÌ´Ù. ½ºÅà Æ÷ÀÎÅÍ´Â ½ºÅà ¿µ¿ª¿¡¼­ ´ÙÀ½¿¡ ÀúÀå ÇÒ À§Ä¡¸¦ °¡¸®Å°°í ÀÖ´Ù. Áï PUSH ¸¦ ÇÏ°Ô µÇ¸é ÇöÀçÀÇ ½ºÅà Æ÷ ÀÎÅÍ°¡ °¡¸®Å°´Â À§Ä¡¿¡ µ¥ÀÌŸ°¡ ÀúÀåµÇ´Â°ÍÀÌ´Ù. ½ºÅÿ¡ µ¥ÀÌŸ ¸¦ ÀúÀåÇßÀ¸¸é ´ÙÀ½¿¡ ÀúÀåÇÒ µ¥ÀÌŸÀÇ ½ºÅÿ¡¼­ÀÇ À§Ä¡¸¦ ¾Ë·ÁÁÖ ±â À§Çؼ­ ½ºÅà Æ÷ÀÎÅÍÀÇ °ªÀº 2 °¨¼ÒÇÑ´Ù. ½ºÅÿ¡¼­ µ¥ÀÌŸ¸¦ ²¨ ³»´Â ¸í·ÉÀº POP ÀÌ´Ù. ¶ÇÇÑ POP ¸í·ÉÀ¸·Î µ¥ÀÌŸ¸¦ °Å³½ÈÄ¿¡´Â ½ºÅà Æ÷ÀÎÅÍ´Â 2 Áõ°¡ÇÑ´Ù. 2¾¿ °¨¼ÒÇÏ°í 2¾¿ Áõ°¡ÇÏ´Â ÀÌÀ¯´Â ½º Åÿ¡´Â ¿öµå´ÜÀ§(2 BYTE)·Î ÀúÀåÇϱ⠶§¹®ÀÌ´Ù. 2. ½ºÅÃÀ» ¸¸µç ÀÌÀ¯ ÀϹÝÀûÀ¸·Î µ¥ÀÌŸ´Â º°µµÀÇ µ¥ÀÌŸ ¿µ¿ªÀ» µÎ¾î ±×°÷¿¡ ÀúÀåÇÑ´Ù. ½ºÅÿ¡ ÀúÀåÇÒ ÀÌÀ¯°¡ ¾ø´Ù. ±×·¯³ª ½ºÅÿ¡ ÀúÀåÀ»ÇÏ¸é ¿©·¯°¡Áö À̵æÀ» º¼ ¼ö ÀÖ´Ù. ÇÁ·Î±×·¥¿¡´Â ÇÁ·Î±×·¥À» Á¾·áÇÒ¶§ ±îÁö º¸Á¸ÇؾßÇÒ µ¥ÀÌŸ°¡ Àִ°¡ Çϸé ÀϽÃÀûÀ¸·Î »ç¿ëÇÏ°í´Â ¹ö ¸®´Â µ¥ÀÌŸ°¡ ÀÖ´Ù. ÀÌ·± ÀϽÃÀûÀÎ µ¥ÀÌŸÁ¶Â÷ ¸Þ¸ð¸®ÀÇ µ¥ÀÌŸ ¿µ¿ª¿¡ º¸Á¸ÇÑ´Ù¸é ¸Þ¸ð¸®¸¦ ³¶ºñÇÏ´Â °á°ú¸¦ ÃÊ·¡ÇÒ¼öµµÀÖ´Ù. µû ¶ó¼­ ÀÌ·± µ¥ÀÌŸ´Â ½ºÅÿ¡ ÀúÀåÇÑ´Ù. ¶ÇÇÑ ½ºÅÃÀ» ÀÌ¿ëÇÑ µ¥ÀÌŸ ÀÇ À̵¿Àº ¸Å¿ì È¿°úÀûÀÌ´Ù. PUSH ¿Í POP Àº ÇѽÖÀ¸·Î ¾²¿©¼­ µ¥ ÀÌŸ¸¦ ¾ÆÁÖ ºü¸£°Ô º¹»çÇÒ¼ö ÀÖ´Ù. °í±Þ¾ð¾îÀÇ °æ¿ì ÀüÀÚÀÇ °æ¿ì Áï ÀϽÃÀûÀ¸·Î ¾²ÀÌ´Â µ¥ÀÌ Å¸¸¦ ½ºÅÿ¡ ÀúÀåÇÏ´Â °ÍÀº ÇʼöÀûÀÌ´Ù. °í±Þ¾ð¾î´Â ±¸Á¶»ó ¶óÀÌ ºê·¯¸®¸¦ ½á¾ß¸¸ÇÏ°í ÀÌ°úÁ¤¿¡¼­ ÇÁ·Î±×·¥¿¡ ¼Ò¿ëµÇ´Â º¯¼öÀÇ °¹ ¼ö°¡ ¸¹¾ÆÁø´Ù. ±×·± ÀÌÀ¯·Î Áö¿ªº¯¼ö´Â ½ºÅÃÀ» ÀÌ¿ëÇÑ Á¶ÀÛÀÌ ºÒ °¡ÇÇÇϱ⠶§¹®ÀÌ´Ù. ±×·¯³ª ¾î¼Àºí¸®¾î´Â µ¥ÀÌŸÀÇ ÀÌ¿ëÀ̶õ Ãø¸é ¿¡¼­´Â ¾ÆÁÖ ÀÚÀ¯·Ó´Ù. ÇÁ·Î±×·¡¸Ó°¡ µ¥ÀÌŸÀÇ ÀúÀåµÇ´Â À§Ä¡¿Í ±× ¾çÀ» ¸ðµÎ ¾Ë±â ¶§¹®ÀÌ´Ù. ¹Ý¸é¿¡ °í±Þ¾ð¾î¿¡¼­´Â ±×°ÍÀ» ¾Æ´Â °ÍÀÌ °ÅÀÇ ºÒ°¡´ÉÇÏ´Ù. ************************************************************** ÁÖ¼®) Áö¿ªº¯¼ö (Local variable, Internal variable) Áö¿ªº¯¼ö´Â ÇϳªÀÇ µ¶¸³µÈ ¼­ºê ÇÁ·Î±×·¥ ³»¿¡¼­¸¸ ¾²´Â º¯¼ö¸¦ ¸»ÇÑ´Ù. ±×·¯¹Ç·Î ÀÌ º¯¼ö´Â ¼­ºê ÇÁ·Î±×·¥ÀÇ Á¾·á¿Í ÇÔ²² Á¦°ÅµÈ ´Ù. Àü¿ªº¯¼ö (Global variable, External variable) Àü¿ª º¯¼ö´Â ÁÖ ÇÁ·Î±×·¥ ¼­ºê ÇÁ·Î±×·¥ ¸ðµÎ »ç¿ëÇÒ¼ö ÀÖ´Â º¯¼ö ¸¦ ¸»ÇÑ´Ù. µû¶ó¼­ Àüü ÇÁ·Î±×·¥ÀÌ Á¾·áÇÒ¶§°¡Áö ¸Þ¸ð¸®¿¡ ³²¾Æ Àִ´Ù. * À§ÀÇ µÎ°³³äÀº °í±Þ¾ð¿¡¼­¸¸ Á¸ÀçÇÑ´Ù. ************************************************************** 3. ½ºÅà Æ÷ÀÎÅÍÀÇ °¨¼Ò À§¿¡¼­ Àá±ñ ¾ð±ÞÇÑ ½ºÅà Æ÷ÀÎÅÍÀÇ °ªÀÌ °¨¼ÒÇÏ´Â ÀÌÀ¯´Â ¹«¾ùÀϱî ? ½ºÅÿ¡ µ¥ÀÌŸ°¡ ÀúÀåµÉ¶§¸¶´Ù ¸Þ¸ð¸®¿¡¼­ÀÇ ¹øÁö´Â ¿ÀÈ÷·Á 2¹ÙÀÌÆ®¾¿ °¨¼ÒÇÑ´Ù. Á¤»óÀûÀÎ °æ¿ì Áï ¸Þ¸ð¸®¿¡ µ¥ÀÌŸ°¡ ÀúÀåµÇ´Â °æ¿ì¿¡ ¸Þ¸ð¸®ÀÇ ¹øÁö´Â Áõ°¡ÇؾßÇÔ¿¡µµ ºÒ±¸ÇÏ°í ½ºÅà ¿¡¼­´Â ¹Ý´ëÀÇ Çö»óÀ» º¸ÀδÙ. ±× ÀÌÀ¯´Â ÇÁ·Î±×·¥ÀÇ ÇüÅÂ¿Í ¹«°ü ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ÄÄÇ»ÅÍ¿¡¼­ ½ÇÇàÈ­ÀÏÀ̶ó ºÎ¸£´Â È­ÀÏÀº È®Àå ¸íÀÌ COM ¾Æ´Ï¸é EXE ÀÌ´Ù. Áï ÄÄÇ»ÅÍ´Â È®Àå¸íÀÌ COM ¶Ç´Â EXE ÀÌ¸é ¹«Á¶°Ç ¸Þ¸ð¸®¿¡ ·ÎµåÇÏ°í ½ÇÇàÇعö¸°´Ù. ÀÌÁß COM ÇÁ·Î±×·¥ ÀÌ ½ºÅðú °ü·ÃÀÌ ±í´Ù. ¾Õ¿¡¼­µµ ¾ð±ÞÀÌ µÇ¾úÁö¸¸ COM ÇüÀÇ ÇÁ·Î ±×·¥¿¡´Â ¼¼±×¸ÕÆ® Àç¹èÄ¡¿¡°üÇÑ Çì´õ°¡ ¾ø´Ù. ´Ù½Ã¸»ÇØ .COM Çü ÀÇ ÇÁ·Î±×·¥Àº ÇϳªÀÇ ¼¼±×¸ÕÆ®¸¸À» »ç¿ëÇÏ°í ±×¿¡ µû¶ó¼­ ÇÁ·Î±× ·¥°ú °ü°èµÇ´Â ³×°³ÀÇ ¼¼±×¸ÕÆ®°¡ ½ÃÀÛÇϴ°÷ÀÌ ¸ðµÎ °°Àº ¹øÁöÀÌ ´Ù. ±×·±µ¥ ÀÓ½ÃÀûÀÎ µ¥ÀÌŸ¸¦ ½ºÅÿ¡ ÀúÀåÇÑ´Ù°íÇÏ¿© ½ºÅà ¼¼±× ¸ÕÆ®ÀÇ ½ÃÀÛÁ¡¿¡¼­ºÎÅÍ µ¥ÀÌŸ¸¦ ÀúÀåÇÑ´Ù¸é ÇÁ·Î±×·¥ ÄÚµå¿Í µ¥ ÀÌŸ°¡ µé¾îÀÖ´Â ¸Þ¸ð¸®¿¡ ¸ðµÎ 'µ¤¾î½á¹ö¸®´Â' °á°ú¸¦ ÃÊ·¡ÇÏ°í ¸»°ÍÀÌ´Ù. ¹°·Ð ±×·¸°Ô µÇ¸é ÇÁ·Î±×·¥Àº ¾û¸ÁÀÌ µÇ¾î¹ö¸°´Ù. ±×·¯ ¹Ç·Î ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇÏ´Â ÇÑÁ¤µÈ 64KB ÀÇ ¸Þ¸ð¸® ¿µ¿ªÁß¿¡ ±× ·¡µµ ºñ±³Àû »ç¿ë°¡´É¼ºÀÌ µå¹® 64 KB ÀÇ ³¡ºÎºÐ ºÎÅÍ µ¥ÀÌŸ¸¦ ÀúÀåÇØ ³»·Á¿Â´Ù¸é ÇÁ·Î±×·¥ÀÇ Äڵ峪 µ¥ÀÌŸ¿Í Áߺ¹ »ç¿ëµÉ °¡´É ¼ºÀÌ Àû¾îÁú°ÍÀÌ´Ù. ÀÌ·± ¿¬À¯¿¡¼­ ½ºÅà Æ÷ÀÎÅÍ´Â ÇÁ·Î±×·¥ÀÌ ½Ã ÀÛÇÒ¶§ºÎÅÍ ½ºÅà ¼¼±×¸ÕÆ®ÀÇ °¡Àå ³¡ºÎºÐÀ» °¡¸®Å°°í Àִ°ÍÀÌ´Ù. ±×·¯³ª ¸¸¾à ÇÁ·Î±×·¥ÀÇ Å©±â°¡ Ä¿¼­ °ÅÀÇ 64 KB ÀÇ ³¡ºÎºÐ±îÁö µµ´ÞÇÑ´Ù¸é ¹®Á¦´Â ´Þ¶óÁø´Ù. ÀÌ°æ¿ì¿¡´Â ÇÁ·Î±×·¥¿¡¼­ ÀúÀý·Î ¼³ Á¤µÇ´Â ½ºÅà Æ÷ÀÎÅ͸¦ »ç¿ëÇÏ¸é ¾ÊµÇ°í º°µµÀÇ ½ºÅà ¿µ¿ªÀ» È®º¸ ÇÏ°í ½ºÅà Æ÷ÀÎÅ͵µ ÀÌ¿¡ ¸Â°Ô °íÃĽá¾ß ÇÒ°ÍÀÌ´Ù. 4. ½ºÅÃÀÇ È£Ãâ¹øÁö ÀúÀå ½ºÅÃÀÇ µ¥ÀÌŸ ÀúÀ屸Á¶ Áï °¡Àå ´Ê°Ô ÀúÀåµÈ µ¥ÀÌŸ°¡ °¡Àå¸ÕÀú »ç¿ëµÇ´Â ±¸Á¶¸¦ ÀÌ¿ëÇØ ¼­ºê ÇÁ·Î±×·¥ÀÇ È£Ãâ½Ã¿¡ È£Ãâ ÇÑ ÇÁ·Î±×·¥¿¡·ÎÀÇ º¹±Í¹øÁö¸¦ ÀúÀåÇϴµ¥ »ç¿ëÇÑ´Ù. Áï ÇöÀçÀÇ ÇÁ·Î±×·¥¿¡¼­ ¼­ºê ÇÁ·Î±×·¥À» È£ÃâÇÏ´Â °æ¿ì¿¡ È£ÃâÇÏ·Á´Â ¼­ºê ÇÁ·Î±×·¥ÀÌ ÇöÀçÀÇ ¼¼±×¸ÕÆ® ³»¿¡ ÀÖÀ¸¸é IP °ª¸¸ ÀúÀåÇÏ°í ÇöÀç ÀÇ ¼¼±×¸ÕÆ® ¹Û¿¡ ÀÖÀ¸¸é CS ¿Í IP ÀÇ °ªÀ» ½ºÅÿ¡ ÀúÀåÇÑ´Ù. ÀÌ·¯ÇÑ ½ºÅÿ¡ ÀúÀåÇÏ´Â ¹æ¹ýÀº »ý°¢Çغ¸¸é ÇÕ¸®ÀûÀÌ´Ù. ¼­ºê ÇÁ·Î±×·¥À¸·Î Á¦¾î°¡ ³Ñ¾î°¡±âÀü¿¡ ÇöÀçÀÇ CS ¿Í IP ÀÇ °ªÀ» ¸¸¾à¿¡ µ¥ÀÌŸ ¿µ¿ª¿¡ ÀúÀåÇß´Ù°íÇÏ°í Á¦¾î¸¦ ¼­ºê ÇÁ·Î±×·¥À¸·Î ³Ñ°å´Ù°í ÇÏÀÚ. ±×¸®°í ¼­ºê ÇÁ·Î±×·¥ÀÇ ¼öÇàÀ» ¸¶Ä¡°í º»·¡ÀÇ ÇÁ ·Î±×·¥À¸·Î µ¹¾Æ°¡·Á ÇÑ´Ù¸é ¾î¶»°Ô CS ¿Í IP ¸¦ ÀúÀåÇÑ ¹øÁö¸¦ ãÀ»¼ö ÀÖÀ»±î ? ¹°·Ð ¼­ºê ÇÁ·Î±×·¥ÀÌ ¾î¼Àºí¸®¾î·Î Á¦ÀÛµÈ´Ù¸é º°·Î ¹®Á¦ µÉ°ÍÀº ¾ø´Ù. ¾î¼Àºí¸®¾î´Â µ¥ÀÌŸ¿¡ °üÇÑÇÑ ÀÚÀ¯·Ó±â ¶§¹®¿¡ ÇÁ·Î±×·¡¸Ó°¡ µ¥ÀÌŸÀÇ À§Ä¡¸¦ ÀÓÀÇ·Î ¼³Á¤ Çϴ°ÍÀÌ °¡´É ÇÏ´Ù. ±×·¯³ª °í±Þ¾ð¾î¿¡¼­´Â ¹®Á¦°¡ ÀüÇô ´Ù¸£´Ù. ÀÏ´Ü °í±Þ¾ð¾î ·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥³»·Î µé¾î¿À°ÔµÇ¸é ¸Þ¸ð¸®ÀÇ ¹øÁö¸¦ ¾Ë¾Æ³»´Â °ÍÀÌ °áÄÚ ½±Áö¾Ê´Ù. ¸¹Àº ¶óÀ̺귯¸®°¡ °áÇÕµÈ ÇüÅÂÀÇ °í±Þ¾ð¾î ÇÁ·Î±×·¥Àº ÇÁ·Î±×·¡¸Ó Á¶Â÷ ·¹Áö½ºÅÍÀÇ ¿òÁ÷ÀÓÀ» ¾Ë ¼ö ¾ø±â ¶§ ¹®ÀÌ´Ù. ±×·¯³ª ÀÌ·¯ÇÑ ÇÁ·Î±×·¥µµ ½ºÅà ¿µ¿ªÀº º¯ÇÔÀÌ ¾øÀ¸¹Ç·Î (½ºÅÃÀº ÇϳªÀ̹ǷÎ) ÀÌ°÷¿¡ µ¥ÀÌŸ¸¦ ÀúÀåÇÑ´Ù¸é ¾ÈÀüÇÒ°ÍÀÌ´Ù. ¸¶Âù°¡Áö·Î ¸ÞÀÎ ÇÁ·Î±×·¥¿¡¼­ ¼­ºê ÇÁ·Î±×·¥À¸·Î Àμö¸¦ Àü´ÞÇÒ ¶§¿¡µµ ½ºÅÃÀ» ÀÌ¿ëÇÑ´Ù. ÀÌ°ÍÀº ÀÏÁ¾ÀÇ ¾à¼ÓÀÌ´Ù. Áï ¾ð¾î¸¦ ¸· ·ÐÇÏ°í ½ºÅÃÀÇ ¿µ¿ªÀº º¯ÇÔÀÌ ¾øÀ¸¹Ç·Î ÀÌ°÷À» ÅëÇØ µ¥ÀÌŸ¸¦ ±³ ȯÇѴٴ°ÍÀÌ´Ù. ¹°·Ð ¹Ý´ë·Îµµ Çؼ®ÀÌ °¡´ÉÇÏ´Ù 'ÇÁ·Î±×·¥°ú ÇÁ ·Î±×·¥°£ÀÇ µ¥ÀÌŸ ±³È¯Àº ½ºÅÃÀ» ÀÌ¿ëÇÑ´Ù. ±×·¯¹Ç·Î ½ºÅà ¿µ¿ª Àº º¯°æÇÏÁö ¾Ê´Â´Ù.' ½ºÅÿ¡ °üÇÏ¿© ¸¶Ä¡ ´ßÀÌ ¸ÕÀú³Ä ¾ËÀÌ ¸ÕÀú ³Ä Çϴ½ÄÀÇ ¾ê±â°¡ µÇ¾úÀ¸³ª °á·ÐÀº ºÐ¸íÇÏ´Ù. Áï 'ÇÁ·Î±×·¥°£ÀÇ µ¥ÀÌŸ ±³È¯À̳ª È£ÃâÇÑ ÇÁ·Î±×·¥¿¡·ÎÀÇ º¹±Í¹øÁö´Â ½ºÅÿ¡ ÀúÀå ÇÑ´Ù' Çϴ°ÍÀÌ ¾à¼ÓÀ̶ó´Â °ÍÀÌ´Ù. FFFFH +--------------------+ | 0H | FFFEH +--------------------+ ÃÖÃÊÀÇ SP | DATA 1 | FFFCH +--------------------+ | DATA 2 | FFFAH +--------------------+ | DATA 3 | FFF8H +--------------------+ | DATA 4 | FFF6H +--------------------+ ÇöÀçÀÇ SP | | | | .COM ÇüÀÇ ½ºÅà ÃÖÃÊÀÇ SP ´Â FFFEH ÀÌ°í SS ÀÇ °ªÀº CS ¿Í µ¿ÀÏÇÏ´Ù. ÀÌ °ÍÀº .COMÇüÀÇ ÇÁ·Î±×·¥Àº ÇϳªÀÇ ¼¼±×¸ÕÆ® °ª¸¸À» °¡Áú¼ö ¾ø´Ù´Â ÀÌÀ¯¿¡¼­ ºñ·ÔµÈ°ÍÀÌ´Ù. ±×ÈÄ ½ºÅÿ¡ µ¥ÀÌŸ°¡ Çϳª¾¿ ÀúÀå µÉ ¶§ ¸¶´Ù SP ÀÇ °ªÀº 2 ¹ÙÀÌÆ® ¾¿ °¨¼ÒÇÏ¿© FFFCH,FFFAH,FFF8H ·Î ¶³¾î Á³À¸¸ç µ¥ÀÌŸ°¡ 4°³ ÀúÀåµÉ¶§ FFF6H ÀÇ °ªÀ» °¡Áö°Ô µÇ¾ú´Ù. 0000H +--------------------+ ÃÖÃÊÀÇ SP | DATA 1 | FFFEH +--------------------+ | DATA 2 | FFFCH +--------------------+ | DATA 3 | FFFAH +--------------------+ | DATA 4 | FFF8H +--------------------+ ÇöÀçÀÇ SP | | | | ½ºÅÿµ¿ªÀ» ¼³Á¤ÇÏÁö ¾ÊÀº .EXE ÇüÀÇ ½ºÅà ÃÖÃÊÀÇ SP °ªÀº 0000H ÀÌ°í µ¥ÀÌŸ°¡ Çϳª¾¿ ÀúÀåµÉ¶§¸¶´Ù ¿ª½Ã 2¹ÙÀÌÆ®¾¿ °¨¼ÒÇÑ´Ù. 0000H ¿¡¼­ FFFEH ·Î ¹Ù²î´Â °Í¿¡ ÀÇ¾Æ ÇØ ÇÒ¼öµµ ÀÖ´Ù. ±× ÀÌÀ¯´Â ´ÙÀ½°ú °°´Ù. .EXE ÇüÀÇ ÇÁ·Î±×·¥ÀÌ ½ÃÀ۵ɶ§ À̶§´Â SS¿Í CSÀÇ °ªÀº °°´Ù. µû¶ó¼­ SS:SP ´Â PSP:100 H ¸¦ °¡¸®Å°°í ÀÖ´Ù. ±×·¯³ª µ¥ÀÌŸ°¡ ½ºÅÿ¡ ÀúÀåµÇ±â Àü¿¡ SS ÀÇ °ªÀº ´Ù½Ã ¼³Á¤µÇ°í ±×ÈĺÎÅÍ´Â Á¤»óÀûÀ¸·Î SP´Â SS ÀÇ ³¡¿¡ ¼­ºÎÅÍ ³»·Á·Î±â ¶§¹®¿¡ ¾î´À ¼¼±×¸ÕÆ®ÀÇ ¿µ¿ª°úµµ °ãÄ¡Áö ¾Ê´Â´Ù. [34] Á¦¸ñ : [¼Ò½º] º¸È£¸ðµå ÁøÀÔÄÚµå ¿Ã¸°ÀÌ : yunix (À¯°æ»ó ) 95/03/25 02:41 ÀÐÀ½ : 160 °ü·ÃÀÚ·á ¾øÀ½ ¾È³çÇϼ¼¿ä yunix ÀÔ´Ï´Ù. Á¦°¡ 32ºñÆ® ÇÁ·Î±×·¡¹Ö °­Á¸¦ ÇÏ°í Àִµ¥..... °ú¿¬ 386 º¸È£¸ðµå·Î ÁøÀÔÇϱâ À§Çؼ­´Â ¾î¶°ÇÑ ÀϵéÀ» ÇØ¾ß ÇÏ´Â Áö ±Ã±ÝÇØ ÇÏ´Â ºÐµéÀÌ ÀÖÀ¸½Å°Í °°¾Æ ¿©±â °£´ÜÇÑ(?) ÇÁ·Î±×·¥À» ¿Ã·Áº¾´Ï´Ù. ¼Ò½º°¡ ¾à°£ ±æ±º¿ä. Àß ºÐ¼®ÇØ º¸½Ã°í Áú¹®À» ÇÏ½Ã¸é ¼ºÀDz¯ ´äº¯ÇØ µå¸®°ÚÀ¾´Ï´Ù. ½º½º·Î ºÎµóÇôº¸°í »ý°¢ÇØ º¸´Â °ÍÀÌ ½Ç·ÂÇâ»ó¿¡ µµ¿òÀÌ... :) Âü°í·Î Loner´Â Á¦ call-sign ÀÔ´Ï´Ù. ÄÄÆÄÀÏ·¯´Â tasmÀ» ›§±¸¿ä. ¾Æ¸¶ masmÀ¸·Îµµ µÇ¸®¶ó ¹Ï½À´Ï´Ù. ¸µÅ©ÇϽǶ§´Â /3 ¿É¼ÇÀ» ²À ÁÖ¼Å¾ß ÇÕ´Ï´ç... ÁÖ¼®ÀÌ ¸ðµÎ ¿µ¾î±º¿ä... ¬... Á¦ Äá±Û¸®½¬ ½Ç·ÂÀ» ¸¶À½²¯ °¨»óÇϽʽÿä. :) ( Á¦±æ... ¿µ¾î¸¦ 10³â ³Ñ°Ô °øºÎÇߴµ¥ ... ÀÌ°Ô ¹¹¾ß ! ¿ì¸®³ª¶ó ±³À°.... ¹®Á¦¾ß ! ) --------------------------------------------------------------- ;* ;* File : enter.asm ;* ;* enter.asm : entering protected mode code. ;* ;* This code is used in [booting]. It will set up gdt and idt, and ;* print some message. ;* Once entered protected mode, we cannot go back to dos because we ;* destory gdt,idt etc., which is used by dos memory manager like ;* EMM386, QEMM386, 386MAX .... ;* After execution this, you should power down your computer. ;* This NEVER harm your computer. ;* ;* [Extention] ;* I will write a new code that read gnu program in real mode and enter ;* protected mode using this code for running the gnu program. ;* the gnu program is written with djgpp or gpp on the linux, which ;* is allowed no dos function call, no bios call. This will be primitive ;* operating system of mine. Isn't it wonderful? ;* ;* Assembler : any assembler compatiable with MASM 5.0 ;* ;* ;* Copyright (C) 1994, Yu, Kyoung Sang ;* ;* Wed 11-02-1994 02:07:30 written by Loner ;* .386p text segment use16 assume cs:text,ds:data,ss:stk ;* ;* Let's DO IT !!!! ;* enter_prot: ;* ;* check if operation mode is protected mode. ;* smsw ax and ax,1 jz ready_to_enter ;* ;* hum... operation mode is already protected mode. memory manager like ;* EMM386 or QEMM may control 386. if we touch cr0(msw),idt, or gdt to enter ;* protected mode, the memory manager will complain and kill our program. ;* let's find other way. how about go back to real mode ? ;* but it need touch cr0(msw) and it is not allowed. ;* when processor is reset, it will operate in real mode. ok... let's reset ;* processor ! and jump to ready_to_enter. how ? ;* there is back door to go back in real mode. write 5 or 10 to shutdown ;* status byte of CMOS and set seg:off to jump at 040:0067 after reset. ;* then, when processor is reset, POST of BIOS will jump to address ;* where we write at 0040:0067. How funny it is ! ;* ;* NOTE : ;* after reset, you may not use some interrupt which memory ;* manager have interceptted. ;* cli mov al,0fh ; offset of shutdown status byte of CMOS out 70h,al ; write offset mov al,10 ; after reset, jump where 40:67 point. out 71h,al mov ax,40h ; set magic address(40:67) mov es,ax mov bx,67h mov ax,offset ready_to_enter mov es:[bx],ax ; write address to jump after reset mov ax,cs mov es:[bx+2],ax mov cx,10 ; for safe reset, repeat 10 times _reset: mov al,0feh ; reset cmd .... out 64h,al ; reset !! call wait_8042 ; program control will never reach here __die: jmp __die ;* ;* now.... do some initialization to enter... ;* ready_to_enter: mov ax,data mov ds,ax ;* ;* disabled interrupt will not be enabled until everything(idt) is ready. ;* cli mov ax,stk mov ss,ax mov sp,offset stk_ptr ;* ;* ok. segment initialzation is done. now, let's disable NMI. ;* mov al,80h ; disable NMI out 70h,al ;* ;* all right. let's enable A20 line. ;* if A20 line is not enabled, we cannot access high memory area (10000h) ;* call wait_8042 ; wait until 8042 is ready to read mov al,0d1h ; d1h = write a byte to output port out 64h,al call wait_8042 ; wait until 8042 reads a command mov al,0dfh ; Gate A20 enable ! out 60h,al call wait_8042 ; wait until 8042 reads a data ;* ;* now, set gdt pointer. ;* gdt base is needed in format of 32bit linear address. so we should change ;* 20bit address of gdt to 32bit linear address. ;* save 32bit data segment pointer for later use (message ouput) ;* mov ax,ds shl ax,4 mov bx,ax mov ax,ds shr ax,12 push ax push bx ; ax:bx=32bit data segment base add bx,offset gdt adc ax,0 mov word ptr gdt_ptr+2,bx mov word ptr gdt_ptr+4,ax ;* ;* set far jump address as 32bit form into si,di register ;* mov ax,text_32 shl ax,4 mov bx,ax mov ax,text_32 shr ax,12 add bx,offset start_32 adc ax,0 ; ax:bx => 32 bit linear pointer mov cs:jmp_addr,bx mov cs:jmp_addr+2,ax ;* ;* we shoud save stack pointer as 32bit form. because once entering protected ;* mode, stack pointer should be initialized again. ;* mov ax,ss shl ax,4 mov dx,ax mov ax,ss shr ax,12 add dx,sp adc ax,0 mov cx,ax ;* ;* load gdt and idt onto descriptor table registers (gdtr,idtr) ;* lidt pword ptr idt_ptr lgdt pword ptr gdt_ptr ;* ;* ok. everythings are ready. now we are entering protected mode ! ;* mov ax,1 ; set proctected mode bit lmsw ax ; now !!! jmp $+2 ; flush instruction prefetch queue. ;* ;* now, we are in protected mode. before do somthing, initialzing segment ;* register and do far jump to change cs register ;* mov bx,18h mov ds,bx mov ss,bx mov es,bx db 66h,0eah ; jmp far 10h:start_32 jmp_addr dw 0h dw 0h dw 10h ;* ;* if input buffer is full, wait until 8042 reads from it. ;* wait_8042: in al,064h ; read 8042 status register test al,02h ; 8042 reads a byte from input buffer? jnz wait_8042 ret text ends .386p text_32 segment use32 assume cs:text_32 ;* ;* OK... we have succeeded ! ;* you can do somthing in protected mode! ;* I will just output 'Hello ...' on the screen. ;* start_32: mov ax,cx ; cx:dx= 32bit stack pointer shl eax,16 mov ax,dx mov esp,eax ;* ;* foolish check is done. check that A20 is REALLY enabled. ;* xor eax,eax mov ebx,0 mov ecx,100000h check_a20: inc eax mov ebx,eax cmp eax,ecx jz check_a20 ;* ;* clear screen ;* mov ecx,80*25 ; clear screen mov ax,0820h ; blank with black backgournd mov ebx,0b8000h ; text vram address clear_screen: mov [ebx],ax inc ebx inc ebx loop clear_screen ;* ;* output message. message is in data segment. so we needs 32bit pointer of ;* message. we have already saved 32bit pointer of data segment on the stack. ;* pop esi ; get 32bit data segment base mov eax,0 ; clear upper word mov ax,offset data:message ; message offset add esi,eax ; esi<- 32bit data segment mov ebx,0b8820h+54 ; screen position mov ah,1eh ; yellow/blue attribute output_msg: mov al,[esi] or al,al ; null character ? jz end_msg mov [ebx],ax ; output character inc esi ; next pointer inc ebx ; next screen position inc ebx jmp output_msg end_msg: ;* ;* everything is done. we can go back to real mode but ;* we can't go back to dos. so... ;* die: jmp short die ; die... text_32 ends data segment use16 gdt_ptr dw 4*8-1 ; limit of gdt dw 0,0 idt_ptr dw 0,0,0 ; empty idt gdt dw 0,0,0,0 ; null descriptor dw 0,0,0,0 ; unused dw 07ffh ; limit 8MB ((2047+1)*4096) dw 0000h ; base = 00000000h dw 9a00h ; present,dpl=0,exec/read code segment dw 00c0h ; granularity=4KB, 32bit dw 07ffh ; limit 8MB dw 0000h ; base = 00000000h dw 9200h ; present,dpl=0,read/write data segment dw 00c0h ; graularity=4KB, 32bit message db 'Hello 386 world !' db 0 data ends stk segment use16 stack_area db 512 dup (0) ; stack area stk_ptr label db 16 dup (0) ; for dummy byte stk ends end [38] Á¦¸ñ : MASM 6.1ÀÇ Á¶°Ç¹® Á¤¸®. ¿Ã¸°ÀÌ : ¿µ¿øÀǺ°(À̼¼¿ø ) 95/04/22 18:26 ÀÐÀ½ : 64 °ü·ÃÀÚ·á ¾øÀ½ MASM 6.1 ÀÇ Á¶°Ç¹® ÀÔ´Ï´Ù. ÀÌ Á¶°Ç¹®µéÀ» ÅëÇؼ­ °í±Þ¾ð¾î Èä³»¸¦ ³¾ ¼ö °¡ ÀÖÁö¿ä. ¿¹Àü¿¡ ¸¸µé¾î µÎ¾ú´ø °ÍÀε¥ ±×¶§°¡ ±×¸³±º¿ä. ÀÌÁ¦ ´Ù½Ã´Â ÇÁ·Î±×·¥ ¸¸µé±â°¡ ½±Áö ¾ÊÀ»µí ÇÕ´Ï´Ù. ÇÁ¸°ÅÍ·Î »Ì¾Æ¼­ °íÀÌ °£Á÷Çϼ¼¿ä... MASM 6.x ´Â °í±Þ¾ð¾î¿¡¼­³ª º¼ ¼ö ÀÖ¾ú´ø ¿©·¯°¡Áö Á¶°Ç¹®À» »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. ºí·° ±¸Á¶ÀÇ À̵é Á¶°Ç¹®ÀÇ ¿¬»êÀÚ´Â ´ÙÀ½°ú °°´Ù. ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¨¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ ¦¢ ¿¬»êÀÚ ¦¢ ÀÇ¹Ì ¦¢ ¦§¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦«¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦© ¦¢ == ¦¢ °°À¸¸é ¦¢ ¦¢ != ¦¢ °°Áö ¾ÊÀ¸¸é ¦¢ ¦¢ > ¦¢ Å©¸é ¦¢ ¦¢ >= ¦¢ Å©°Å³ª °°À¸¸é ¦¢ ¦¢ < ¦¢ ÀÛÀ¸¸é ¦¢ ¦¢ <= ¦¢ À۰ųª °°À¸¸é ¦¢ ¦¢ & ¦¢ BIT TEST ¦¢ ¦¢ ! ¦¢ NOT ¦¢ ¦¢ && ¦¢ AND ¦¢ ¦¢ || ¦¢ OR ¦¢ ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ª¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ 1 .IF,.IFELSE,.ELSE,.ENDIF ÀÌ ºí·° ±¸Á¶¹®Àº .IF ¿¡¼­ ½ÃÀÛÇÏ¿© .ENDIF ¿¡¼­ ³¡³­´Ù. µû¶ó¼­ Á¶°ÇÀ» ¸¸Á· ÇßÀ¸¸é .ENDIF ÀÌÈÄÀÇ ¸í·ÉÀ» ¼öÇàÇϰԵȴÙ. Çü½Ä) .IF Á¶°Ç½Ä ¸í·É¾î .ELSE ¸í·É¾î .ENDIF ¸ÕÀú Á¶°ÇÀ»ÁÖ°í Á¶°Ç¿¡ ¸ÂÀ¸¸é ´ÙÀ½ ¹®ÀåÀ» ¼öÇàÇÏ°í ºüÁ®³ª°£´Ù. ±×·¯³ª Á¶°Ç°ú ¸ÂÁö ¾ÊÀ¸¸é .ELSEIF ÀÌÈÄÀÇ ¹®ÀåÀ» ¼öÇàÇÏ°í ºüÁ®³ª°£´Ù. .IF Á¶°Ç½Ä ¸í·É¾î .ELSEIF ¸í·É¾î .ELSEIF ¸í·É¾î .ELSEIF ¸í·É¾î . . . .ENDIF ÀÌ ±¸Á¶½Äµµ À§¿Í À§¿Í º° Â÷ÀÌ°¡ ¾ø´Ù. ¸ÕÀú Á¶°ÇÀ» ºñ±³ÇÏ°í ¸¸Á·ÇÏ¸é ¹ØÀÇ ¸í·ÉÀ» ¼öÇÚÇÏ°í ºüÁ®³ª°¡°í ¸¸Á·ÇÏÁö ¾ÊÀ¸¸é ´ÙÀ½ Á¶°Ç°ú ºñ±³ÇÑ´Ù. ´ÙÀ½Á¶°Ç °ú ºñ±³Çؼ­ ¸¸Á·ÇÏ¸é ¹ØÀÇ ¸í·ÉÀ» ¼öÇàÇÏ°í ºüÁ®³ª°¡°í ¸¸Á·ÇÏÁö ¾ÊÀ¸¸é ´ÙÀ½ Á¶°Ç°ú ºñ±³ÇÑ´Ù..... code segment assume cs:code org 100h start: mov cx,100 .if cx==10 ;¦¡¦¡¦¡ ¨ç mov ah,9 ;¦¡¦¤ mov dx,offset msg1 ; ¦§¦¡ ¨è int 21h ;¦¡¦¥ .else ;¦¡¦¡¦¡ ¨é mov ah,9 mov dx,offset msg2 int 21h .endif ;¦¡¦¡¦¡ ¨é mov ah,4ch ;¦¡¦¡¦¡ ¨ë int 21h msg1 db 'msg1$' msg2 db 'msg2$' code ends end start ¨ç ¸¸¾à CX °¡ 10ÀÌ¸é ¨è ¸¦ ¼öÇàÇÏ°í ±×·¸Áö ¾Ê´Ù¸é ¨éÀ¸·Î °£´Ù. ¨è 'msg1' À» Ãâ·ÂÇÏ°í ¨ë ·Î °£´Ù. ¨é 'msg2' ¸¦ Ãâ·ÂÇÏ°í ¨ë ·Î °£´Ù. ¨ê ÀÌ ºí·° ±¸Á¶¹®ÀÇ ³¡ ¨ë ÇÁ·Î±×·¥À» Á¾·áÇÑ´Ù. ÀÌ ÇÁ·Î±×·¥À» ¾î¼ÀºíÇÏ¿© µð¹ö±ëÀ» Çغ»´Ù. C:\MASM61\BIN>debug sam2.com¡¡ -u¡¡ 186F:0100 B96400 MOV CX,0064 186F:0103 83F964 CMP CX,+64 186F:0106 7509 JNZ 0111 186F:0108 B409 MOV AH,09 186F:010A BA1C01 MOV DX,011C 186F:010D CD21 INT 21 186F:010F EB07 JMP 0118 186F:0111 B409 MOV AH,09 186F:0113 BA2101 MOV DX,0121 186F:0116 CD21 INT 21 186F:0118 B44C MOV AH,4C 186F:011A CD21 INT 21 186F:011C 6D DB 6D 186F:011D 7367 JNB 0186 186F:011F 3124 XOR [SI],SP - ¸·»ó µð¹ö±ëÀ» Çغ¸¸í ¿ª½Ã ¿ì¸®ÀÇ ¼Ò½º ÇÁ·Î±×·¥°ú ¾à°£ ´Ù¸£°Ô ±â°è¾î·Î ¹ø¿ª µÇ¾úÀ½À» ¾Ë ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ¿ì¸®°¡ ÀǵµÇß´ø´ë·ÎÀÇ °á°ú¸¦ ³ªÅ¸³»°í ÀÖ´Ù. 2 .WHILE,.ENDW ÀÌ ºí·° ±¸Á¶¹®Àº .WHILE ¿¡¼­ ½ÃÀÛÇÏ¿© .ENDW ·Î ³¡³­´Ù. ¸ÕÀú Á¶°ÇÀ» ÁÖ°í ±× Á¶°ÇÀÌ ¸¸Á·µÉ ¶§±îÁö ¹ØÀÇ ¸í·ÉÀ» ¹Ýº¹ ¼öÇàÇÑ´Ù. Çü½Ä) .WHILE Á¶°Ç½Ä ¸í·É¾î .ENDW code segment assume cs:code org 100h start: mov dx,10 ;¨ç .while dx > 0 ;¨è dec dx ;¨é .endw ;¨ê mov ah,4ch int 21h code ends end start ¨ç DX ¿¡ 10À» ³Ö´Â´Ù. ¨è DX °¡ 10º¸´Ù Å« µ¿¾È ¹ØÀÇ ¸í·ÉÀ» ¼öÇàÇÑ´Ù. ¨é DX ÀÇ °ªÀ» 1 °¨¼ÒÇÑ´Ù. ¨ê .WHILE ºí·° ±¸Á¶¹®ÀÇ ³¡ ´ÙÀ½Àº ÀÌ ÇÁ·Î±×·¥À» ¾î¼Àºí¸µÇÏ¿© µð¹ö±ëÇÑ°ÍÀÌ´Ù. C:\MASM61\BIN>debug sam3.com¡¡ -u¡¡ 186F:0100 BA0A00 MOV DX,000A 186F:0103 EB01 JMP 0106 ¦¡¦¤ 186F:0105 4A DEC DX ¦§¦¡ ¨ç 186F:0106 83FA00 CMP DX,+00 ¦¢ 186F:0109 77FA JA 0105 ¦¡¦¥ 186F:010B B44C MOV AH,4C 186F:010D CD21 INT 21 186F:010F 7C4E JL 015F 186F:0111 8700 XCHG AX,[BX+SI] 186F:0113 004E92 ADD [BP-6E],CL 186F:0116 4E DEC SI 186F:0117 9D POPF 186F:0118 4E DEC SI 186F:0119 A84E TEST AL,4E 186F:011B B34E MOV BL,4E 186F:011D BE4EC9 MOV SI,C94E - ¨ç ÀÇ ³»¿ëÀÌ .WHILE ºí·° ±¸Á¶¹®¿¡ ÀÇÇØ »ý¼ºµÈ ±â°è¾î ÄÚµåÀÌ´Ù. 3 .REPEAT,.UNTIL,.UNTILCXZ Çü½Ä) .REPEAT ¸í·É¾î .UNTIL Á¶°Ç½Ä .UNTIL ÀÇ Á¶°ÇÀÌ ¸¸Á· µÉ¶§±îÁö .REPEAT ¹ØÀÇ ¸í·ÉÀ» ¹Ýº¹ ¼öÇàÇÑ´Ù. .REPEAT ¸í·É¾î .UNTILCXZ .UNTIL Á¶°Ç½Ä .UNTIL ÀÇ Á¶°ÇÀÌ ¸¸Á· µÉ¶§±îÁö .REPEAT ¹ØÀÇ ¸ê¿µÀ» ¹Ýº¹¼öÇà ÇÏ´Ù°¡ ¸¸¾à CX ÀÇ °ªÀÌ 0ÀÌµÇ¸é ºüÁ®³ª°£´Ù. code segment assume cs:code org 100h start: .repeat ----¨ç inc si .until si == 10 ----¨è mov cx,10 ----¨é .repeat ----¨ê inc di dec cx ----¨ë .untilcxz ----¨ì mov ah,4ch int 21h code ends end start ¨ç .REPEAT ºí·°¹®ÀÇ ½ÃÀÛ ¨è SI °¡ 10 ÀÌ ¶Ñ¶§±îÁö ¹Ýº¹ ¼öÇàÇÑ´Ù. ¨é CX ÀÇ ÃʱⰪÀ¸·Î 10À» ³Ö´Â´Ù. ¨ê .REPEAT ºí·°¹®ÀÇ ½ÃÀÛ ¨ë CX ÀÇ °ªÀ» 1 °¨¼Ò ½ÃŲ´Ù. ¨ì ¸¸¾à CX ÀÇ °ªÀÌ 0ÀÌ¸é ºüÁ® ³ª°£´Ù. C:\MASM61\BIN>debug sam4.com¡¡ -u¡¡ 186F:0100 46 INC SI ¦¡¦¡¦¤ 186F:0101 83FE0A CMP SI,+0A ¦§¦¡ ¨ç 186F:0104 75FA JNZ 0100 ¦¡¦¡¦¥ 186F:0106 B90A00 MOV CX,000A ¦¡¦¡¦¤ 186F:0109 47 INC DI ¦§¦¡ ¨è 186F:010A 49 DEC CX ¦¢ 186F:010B E2FC LOOP 0109 ¦¡¦¡¦¥ 186F:010D B44C MOV AH,4C 186F:010F CD21 INT 21 186F:0111 8700 XCHG AX,[BX+SI] 186F:0113 004E92 ADD [BP-6E],CL 186F:0116 4E DEC SI 186F:0117 9D POPF 186F:0118 4E DEC SI 186F:0119 A84E TEST AL,4E 186F:011B B34E MOV BL,4E 186F:011D BE4EC9 MOV SI,C94E - ¨ç .REPEAT ¹®¿¡ ÀÇÇؼ­ SI °¡ 10ÀÌ µÉ¶§±îÁö ¹Ýº¹ÇÑ´Ù. ¨è .REPEAT ¹®¿¡ .UNTILCXZ °¡ »ðÀÔµÈ °ü°è·Î LOOP ¸í·É¾î°¡ ÃâÇöÇÏ¿´´Ù. 4 .BREAK,.CONTINUE .BREAK Àº .WHILE/.ENDW ³ª .REPEAT/.UNTIL/.UNTILCXZ ¹®ÀÇ ·çÇÁ¸¦ µµÁß¿¡ ºüÁ®³ª¿À°Ô ÇÏ°í .CONTINUE Àº .WHILE/.ENDW ³ª .REPEAT/.UNTIL/.UNTILCXZ ¹®ÀÇ ·çÇÁ¸¦ °è¼Ó ½ÇÇà½ÃÅ°°ÔÇÑ´Ù. Çü½Ä) .BREAK .BREAK .IF Á¶°Ç½Ä .CONTINUE .CONTINUE .IF Á¶°Ç½Ä code segment assume cs:code org 100h start: .while dx!=100 ---¨ç inc ax .if ax==100 ---¨è .break ---¨é inc si .endif inc dx .endw mov ah,4ch int 21h code ends end start ¨ç DX °¡ 100ÀÌ ¾Æ´Ñµ¿¾È ¹ØÀÇ ¸í·ÉÀ» ¹Ýº¹ ¼öÇàÇÑ´Ù. ¨è ¸¸¾à AX °¡ 100 ÀÌ¸é ¹ØÀÇ ¸í·ÉÀ» ¼öÇàÇÑ´Ù. ¨é ÀÌ ¸í·É¿¡ ÀÇÇØ .WHILE ºí·° ·çÇÁ¹®À» ¿ÏÀüÈ÷ ºüÁ®³ª°£´Ù. C:\MASM61\BIN>debug sam5.com¡¡ -u¡¡ 1A7C:0100 EB0A JMP 010C 1A7C:0102 40 INC AX 1A7C:0103 83F864 CMP AX,+64 1A7C:0106 7503 JNZ 010B 1A7C:0108 EB07 JMP 0111 ----¨ç 1A7C:010A 46 INC SI 1A7C:010B 42 INC DX 1A7C:010C 83FA64 CMP DX,+64 1A7C:010F 75F1 JNZ 0102 1A7C:0111 B44C MOV AH,4C 1A7C:0113 CD21 INT 21 1A7C:0115 92 XCHG DX,AX 1A7C:0116 4E DEC SI 1A7C:0117 9D POPF 1A7C:0118 4E DEC SI 1A7C:0119 A84E TEST AL,4E 1A7C:011B B34E MOV BL,4E 1A7C:011D BE4EC9 MOV SI,C94E - ¨ç .BREAK ¹®ÀÌ ³ªÅ¸³­ ¸í·ÉÄÚµåÀÌ´Ù. [40] Á¦¸ñ : [¼Ò½º] ºÎÆýð£À» ±â·ÏÇÏ´Â bootlog.asm ¿Ã¸°ÀÌ : ¿µ¿øÀǺ°(À̼¼¿ø ) 95/04/22 19:20 ÀÐÀ½ : 45 °ü·ÃÀÚ·á ¾øÀ½ ;¦®¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¯ ;¦­ bootlog.asm ¦­ ;¦­ ³¯Â¥¹× ½Ã°¢À» È­ÀÏ¿¡ ¼øÂ÷·Î ÀÔ·ÂÇÏ´Â ÇÁ·Î±×·¥. ¦­ ;¦·¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¹ ;¦­ ÀÚ±â ÄÄÇ»ÅÍÀÇ ºÎÆýð£À» ±â·ÏÇÏ´Â ÇÁ·Î±×·¥Àº ¼ö ¾øÀÌ ¸¹½À´Ï´Ù. ¦­ ;¦­ ÇÏÁö¸¸ ÀÌ ÇÁ·Î±×·¥ ¸¸Å­ ÀÛ°í ±×¸®°í ºü¸£°Ô ±â·ÏÇÏ´Â ¦­ ;¦­ ÇÁ·Î±×·¥Àº ¾øÀ» °Ì´Ï´Ù. ¦­ ;¦­ ¿Ö³Ä±¸¿ä? ¾î¼Àºí¸®·Î ¸¸µé¾úÀ¸´Ï±î¿ä... ¦­ ;¦­ ¾î¼Àºí¸®¸¦ °øºÎÇϽô ºÐ¿¡°Ô µµ¿òÀÌ µÇ±æ ºô¸ç... ¦­ ;¦­ ¾ÕÀ¸·Î °¡²û ±×µ¿¾È Á¦°¡ ¸¸µé¾ú´ø ¾î¼ÀÀ¯Æ¿ÀÇ ¼Ò½º¸¦ ¿Ã¸®°Ú½À´Ï´Ù. ¦­ ;¦­ ¸¶Áö¸·À¸·Î .EXE ÇüÀÇ ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ¦­ ;¦±¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦° dosseg data segment year dw ? month_date dw ? a_day dw ? time dw ? second dw ? temp_1 db ? temp_2 db ? temp_3 db ? temp_4 db ? now_year db 4 dup('y') db '.' now_month db 2 dup('m') db '.' now_date db 2 dup('d') db ' ' now_time db 2 dup('t') db ':' now_minute db 2 dup('m') db ':' now_second db 2 dup('s') db 13,10 write_error_msg db 'Write error.$' open_error_msg db 'Open error.$' pointer_error_msg db 'Pointer error.$' path_name db 'c:\bootlog',0 ;È­ÀÏÀ̸§(¾Æ½ºÅ°Áî ¹®ÀÚ¿­) handle dw ? data ends stack segment stack db 100h dup(0) stack ends code segment assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax push ds ;ES ¸¦ DS ¿¡ ¸ÂÃá´Ù. pop es ;--------------------- ;³¯Â¥¹× ¿äÀÏ Àо±â ;--------------------- read_date: mov ah,2ah ;³â,¿ù,ÀÏÀ» ±¸ÇÑ´Ù. int 21h mov year,cx ;year mov month_date,dx ;month & date mov ax,year call div_1 ;³ª´©±â ¼öÇà mov cx,4 ;year mov si,offset temp_1 ;³âµµ¸¦ ÀúÀåÇÑ´Ù. mov di,offset now_year rep movsb mov ax,month_date call div_2 ;³ª´©±â ¼öÇà mov cx,2 ;month mov si,offset temp_1 ;¿ùÀ» ÀúÀåÇÑ´Ù. mov di,offset now_month rep movsb mov cx,2 ;date mov si,offset temp_3 ;ÀÏÀ» ÀúÀåÇÑ´Ù mov di,offset now_date rep movsb ;---------------- ; ½Ã°¢ Àо±â ;---------------- mov ah,2ch ;½Ã°¢ ±¸Çϱâ int 21h mov time,cx ;time mov second,dx ;second mov ax,time call div_2 ;³ª´©±â ¼öÇà mov cx,2 ;½Ã°£ÀúÀå mov si,offset temp_1 mov di,offset now_time rep movsb mov cx,2 ;ºÐÀúÀå mov si,offset temp_3 mov di,offset now_minute rep movsb mov ax,second call div_2 ;³ª´©±â ¼öÇà mov cx,2 ;ÃÊÀúÀå mov si,offset temp_1 mov di,offset now_second rep movsb ;--------------------- ; È­ÀÏ ¿ÀÇ ¹× ¾²±â ;--------------------- file_open: mov ah,3dh ;È­ÀÏ¿ÀÇ mov dx,offset path_name ;È­Àϸí mov al,1 ;¾²±âÀü¿ë int 21h jc file_creat ;¿ÀÇ¿¡ ½ÇÆÐÇϸé È­ÀÏÀ» ¸¸µç´Ù. mov handle,ax ;ÇÚµéÀ» ÀúÀåÇÑ´Ù. mov ah,42h ;È­ÀÏ Æ÷ÀÎÅÍÀÇ ¼³Á¤ mov al,2 ;À̵¿ ¿ÀÇÁ¼ÄÀ» È­ÀÏÀÇ ;³¡¿¡´Ù ´õÇÑ´Ù. mov bx,handle ;ÇÚµé¹øÈ£ mov cx,0 ;À̵¿ ¹ÙÀÌÆ® »óÀ§ °ª mov dx,0 ;À̵¿ ¹ÙÀÌÆ® ÇÏÀ§ °ª int 21h jc pointer_error ;ij¸®¹ß»ýÇϸé Æ÷ÀÎÅÍ¿¡¶ó mov ah,40h ;È­ÀϾ²±â mov dx,offset now_year ;Ãâ·Â¹öÆÛ ¹øÁö mov cx,22 ;½á³ÖÀ» ¹ÙÀÌÆ®¼ö mov bx,handle ;ÇÚµé¹øÈ£ int 21h jnc file_close ;ij¸®°¡ ¹ß»ý¾ÈÇϸé ;È­ÀÏÀ» ´Ý¾Æ¶ó. mov ah,9 ;¾²±â¿¡¶ó ¸Þ½ÃÁöÃâ·Â mov dx,offset write_error_msg int 21h jmp file_close file_creat: mov ah,3ch ;È­ÀÏ»ý¼º mov dx,offset path_name ;È­Àϸí mov cx,0 ;Á¤»ó¼Ó¼º int 21h jnc file_open ;ij¸®°¡ ¹ß»ý¾ÈÇÏ¸é ¿ÀÇÂÇ϶ó mov ah,9 ;¿ÀÇ¿¡¶ó ¸Þ½ÃÁö Ãâ·Â mov dx,offset open_error_msg int 21h jmp exit pointer_error: mov ah,9 ;Æ÷ÀÎÅÍ ¿¡¶ó ¸Þ½ÃÁöÃâ·Â mov dx,offset pointer_error_msg int 21h file_close: mov ah,3eh ;È­Àϴݱâ. mov bx,handle ;ÇÚµé¹øÈ£ int 21h exit: mov ah,4ch int 21h ;------------------- ; ¿¬°áµÈ ¼ýÀÚ º¯È¯ ;------------------- div_1: mov bl,100 ;Á¬¼ö 100 div bl ;100À¸·Î ³ª´©±â push ax ;100À¸·Î ³ª´°°ª º¸Á¸ mov bl,10 ;Á¬¼ö 10 mov ah,0 ;¸òÀ» ´Ù½Ã 10À¸·Î ³ª´«´Ù. div bl add al,30h mov temp_1,al ;1000´ÜÀ§ ÀúÀå add ah,30h mov temp_2,ah ;100´ÜÀ§ ÀúÀå pop ax ;100À¸·Î ³ª´«°ª º¹±¸ xchg ah,al ;100À¸·Î ³ª´«°ªÀÇ ³ª¸ÓÁö¸¦ mov ah,0 ;´Ù½Ã ³ª´©±âÀ§ÇØ div bl ;´Ù½Ã 10À¸·Î ³ª´«´Ù add al,30h mov temp_3,al ;10´ÜÀ§ ÀúÀå add ah,30h mov temp_4,ah ;1´ÜÀ§ ÀúÀå ret ;-------------------- ; ºÐ¸®µÈ ¼ýÀÚ °è»ê ;-------------------- div_2: push ax xchg ah,al ;ah,alÀ» µû·Î ³ª´©±âÀ§ÇØ mov ah,0 mov bl,10 ;Á¬¼ö 10 div bl ;10À¸·Î ³ª´«´Ù add al,30h mov temp_1,al ;¸ò ÀúÀå add ah,30h mov temp_2,ah ;³ª¸ÓÁö ÀúÀå pop ax mov ah,0 div bl add al,30h mov temp_3,al ;¸ò ÀúÀå add ah,30h mov temp_4,ah ;³ª¸ÓÁö ÀúÀå. ret code ends end start ;ÁøÀÔÁ¢ [41] Á¦¸ñ : [»õ³»±â ¿¬Àç] ¾î¼Àºí·¯°¡ µµ´ëü ¹¹±æ·¡ ¿Ã¸°ÀÌ : hanuly´Ô(Á¶±¤Çö ) 95/04/23 21:19 ÀÐÀ½ : 114 °ü·ÃÀÚ·á ÀÖÀ½(TL) ¾î¼Àºí·¯?? ¾î¼Àºí·¯?! ¾î¼Àºí·¯!? ¾î¼Àºí·¯£¡ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡ Copyright(c)1995,.Sir hanuly ¦È¦¬¦¸¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦Â ¾î¼À »õ³»±â¸¦ À§ÇÑ ¾î¼À ±âÃÊ ¿¬Àç... ¦¢¥°¦¢¾î¼Àºí·¯°¡ µµ´ëü ¹¹±æ·¡..¦¢ ¦Æ¦¬¦º¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦Ä ¡Ú ±â¾ïÇϼ¼¿ä£¡ * ÀúÀÇ ºñÁÖ¾ó º£ÀÌÁ÷ ¿¬À縦 Àо½Å ºÐµéÀº ¾Æ½Ã°ÚÁö¸¸, ³»¿ëÀÌ 'Àâ´ã Çü½Ä' À¸·Î ²Ù¸çÁö´Ù°¡, ¶§·Î´Â, ±³½À Çü½ÄÀ¸·Î ²Ù¸çÁö´Â µîÀÇ ÀÌ»óÇÑ ÁøÇà ÇüŸ¦ Ãë ÇÏ°í ÀÖ½À´Ï´Ù. * ÀÌ ¿¬Àç´Â ¾î¼Àºí·¯¸¦ óÀ½ ¹è¿ì½Ã´Â ºÐµéÀ» À§ÇØ ¸¶·ÃµÇ¾ú½À´Ï´Ù. * °³ÀÎÀû Áú¹® ÆíÁö´Â, µÇµµ·Ï '»ï°¡'ÇØÁֽðí, '¹¯°í ´äÇϱâ' ¶õÀ» ÀÌ¿ëÇØÁÖ¼Ì À¸¸é ÇÕ´Ï´Ù. * ³»¿ë»óÀÇ ¿À·ù°¡ ¹ß°ßµÈ °æ¿ì´Â ¾ðÁ¦µçÁö ÆíÁö·Î ¿¬¶ôÁֽñ⠹ٶø´Ï´Ù. Á¦ ¾Æ À̵ð´Â ¾Æ½ÃÁÒ? 'hanuly´Ô'ÀÔ´Ï´Ù. * º» ³»¿ëÀ» Á¦ Çã°¡ ¾øÀÌ º£³¢°Å³ª(!), º¹»ç(?)ÇÏ´Â ÇàÀ§¸¦ ÇϽøé, Á¦°¡ È­³¾ °Å¿¹¿ä.. ±×¸®°í, ÀúÀ۱ǹý¿¡ ÀÇ°Å(?)ÇØ °í¼ÒÇÒ°Å¿¹¿ä.. (È÷È÷.. µ·¹ö´Â°Å ÁÁ¾Æ ÇÏ´Â ¸®´Ô..) * º» ³»¿ëÀÇ ¼Ò½ºµéÀº °ÅÀÇ ´Ù Macro Assembler 5.x¸¦ ±âÁØÀ¸·Î ÀÛ¾÷ÇÕ´Ï´Ù. °ø °³ÀÚ·á½Ç¿¡ µî·ÏµÇ¾î ÀÖ½À´Ï´Ù. * ÇÊ¿äÇÑ ÆÄÀϵé.. masm.exe link.exe exe2bin.??? <-À̸§À» ±î¸Ô¾ú¾î¿ä... ±×¸®°í, Áñ±â´Â ¿¡µðÅÍ...('»ê'À̳ª, 'UEdit'³ª, µµ½ºÀÇ 'edit' °°Àº..) ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¾î¼Àºí·¯´Â ¾î·Æ´Ù? ¾È³çÇϼ¼¿ä? ÇÏ´©¸®´ÔÀÔ´Ï´Ù. ¾î¼Àºí·¯´Â ¾î·Æ´Ù´Â ¸»¾¸À» ¸¹ÀÌ ÇϽôõ±º¿ä... °Ô´Ù°¡...¸¹Àº ºÐµéÀÌ °øºÎÇÏ´Ù °¡ Áß°£¿¡ Æ÷±âÇϽʴϴÙ. ¹°·Ð, ¾î¼Àºí·¯´Â ¾î·Á¿ö¿ä...(...) ÀÎÅÍ·´Æ®¸¦ Á÷Á¢ °Ç µå¸®°í ³î¾Æ¾ß(?) ÇÕ´Ï´Ù. Çϵå¿þ¾î, CPU ¿ø¸®... ..¸Â¾Æ¿ä.. ¾î¼Àºí·¯¸¦ ¹è¿ì´Â °ÍÀº ¿µ¾î¸¦ ¹è¿ì´Â °Í°ú ºñ½ÁÇÏ´Ù°í Çؾ߰ڱº¿ä. ¿µ¾î¸¦ ¹è¿ï¶§´Â ´Ü¾î¿Í ¼÷¾î¸¦ ¿­½ÉÈ÷ ¿Ü¿ò°ú µ¿½Ã¿¡, ¹®¹ýµµ ¿¬±¸ÇÕ´Ï´Ù.. °Ô´Ù °¡, »ç°í ¹æ½Ä, ȯ°æ±îÁö... ¾î¼Àºí·¯´Â ±×·¸Áö¸¸, ¿µ¾îº¸´Ù ½¬¿ö¿ä. printf...int.. ¾öû³ª°Ô ¸¹Àº ´Ü¾îµé.. (C³ª, Basic, Pascal °°Àº °í±Þ ¾ð¾îµéÀº ´Ù ±×·¸ÁÒ..¹¹..) ¾ðÁ¦ ¿Ü¿ì³ë.. ±×ÃÝ? ±×·¸Áö¸¸, ¾î¼Àºí·¯´Â mov, int, addµîÀÇ ¸î°³ÀÇ ¸í·É¾î¸¸ ¹è¿ì¸é µË´Ï´Ù. ¹®È­ ¹æ½Ä ÀÌÇØÇϱ⵵ ½±°í(¹Ì±¹À̳ª, ¿µ¾îÀÇ ¹®È­ ¹æ½Ä °°Àº..).. ¾î¼Àºí·¯´Â ¾Æ´Â´ë·Î ½á¸ÔÀ» ¼ö ÀÖ´Ù´Â °ÍÀÌ ÀåÁ¡Àϼöµµ ÀÖ°Ú±º¿ä. ¹°·Ð, ÀÌ ¿¬ Àç¿Í, ¾ÕÀ¸·Î ¿Ã¶ó¿Ã ¿¬ÀçµéÀ» ÇнÀÇÑ´Ù°í Çؼ­, ´Ù ±ú´Ý´Â °ÍÀº Àý´ë ¾Æ´Ï°ÚÁÒ! ±×·¸Áö¸¸, ¾î¼Àºí·¯·Î Âزô¸¸ ÇÁ·Î±×·¥Àº © ¼ö ÀÖÀ»°Å¿¹¿ä(Àúµµ ¹Ù¶ó°í.. ´ç½Å µµ ¹Ù¶ó°í.. ¿ì¸®µµ ¹Ù¶ó´Â ¸ñÇ¥ÀÔ´Ï´Ù). ¿µ¾î¸¦ ¹è¿ï·Á¸é, "¿µ¾î¿¡ ´ëÇؼ­, Çб³¿¡¼­ ¹è¿ì´Â °Í" º¸´Ù´Â, "¹Ì±¹¿¡ °¡¼­, Á÷Á¢ °æÇèÇÏ°í ´À³¢´Â °Í"ÀÌ ÈξÀ È¿°úÀûÀÔ´Ï´Ù. ¾î¼Àºí·¯µµ... ½Ã½ºÅÛÀÌ ´Ù¿îµÇ °í, CMOS°¡ ³¯¾Æ°¡°í..(¿ì¸®´Â ±×Á¤µµ·Î ±Ø´ÜÀûÀÎ ±â¹ýÀº ÇнÀÇÏÁö ¾Ê¾Æ¿ä... ±× ·¯ÇÑ °ÍµéÀ» ÇÏ·Á¸é, ´Ù¸¥ ºÐµéÀÇ °­Á¸¦ ÀÐÀ¸¼Å¾ß °ÚÁÒ..) ¾Æ¹«Æ°, ½ÇÁ¦·Î ´À²¸ ¼­ ÇÏ´Â °ÍÀÌ °¡Àå Áß¿äÇÏ´Ù´Â °Å.. ¾Æ½ÃÁÒ? ¾î¼ÀÀº ±×·²¶§ ´õ¿í ´õ ³ªÀÇ Ä£±¸·Î ´Ù°¡¿À°Ô µÇ´Â °ÍÀÔ´Ï´Ù. ÀÚ, ¿ì¸® ¾î¼À »õ³»±âµé... È­ÀÌÆÃÀ» ¿ÜÄ¡¸ç.. Á¶±×¸¸ ½ÃÀÛÀ».. ÇÏÀÚ±¸¿ä.. ¢´ ¸í¾ð : ½ÃÀÛÀÌ ¹ÝÀ̶ø´Ï´Ù. ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡ ¾î¼ÀÀÌ ¹¹²¿? ÀÚ, ¿©±â¼­ óÀ½ºÎÅÍ ¾î¼Àºí·¯(ÀÌÇÏ, '¾î¼À'À̶ó°í ºÎ¸¨´Ï´Ù)¸¦ ¹è¿ì·Á°í, ÇϽà ´Â ºÐµéÀº ¼Õ µé¾îº¸½Ã°Ú¾î¿ä? ´ç½Åµµ, ³²´ë¹®¿¡¼­ °úÀÏ ÆĽô ¾ÆÀú¾¾µµ, ¼ÕÀ» ³»¸®°í °è½Ã´Â ±º¿ä..¾î! ±×·± µ¥.. ÀúÂÊ¿¡¼­´Â ±¹¹ÎÇлý °°¾Æ º¸ÀÌ´Â ÇлýµéÀÌ ¼ÕÀ» µé°í Àֳ׿ä... ¾Æ.. Çб³ ¿¡¼­ ¹úÀ» ¹Þ°í ÀÖ¾ú±º¿ä.. ¾î¼ÀÀ» óÀ½ºÎÅÍ ¹è¿ì·Á´Â ºÐµéÀº ¾ÆÁÖ ±Ø¼Ò¼öÀÔ´Ï´Ù. ¹°·ÐÀÌÁÒ! ±Ø¼Ò¼öÁÒ. º£ÀÌÁ÷À̳ª, ¾¾³ª, ÆĽºÄ®À̳ª.. ´Ù¸¥ ¾ð¾î¸¦ ¸ÕÀú ¹è¿ì°í, ¾î¼ÀÀ» ¹è¿ì´Â °ÍÀÌ º¸ÅëÀÔÁÒ. ³×.. ¿ø·¡ ÄÄÇ»ÅÍ´Â °íöµ¢¾î¸®ÁÒ. 2Áø¼ö¸¸ ¹Þ¾ÆµéÀÌÁÒ.. ²¨Á³´Ù ÄÑÁ³´Ù... ¾Æ½Ã¸®¶ó »ý°¢µÇ´Â ±º¿ä.. ¼¼°Ô.. ¾àÇÏ°Ô´Â ÇØ´çµÇÁö ¾Ê½ÀÁÒ(µðÁöÅ» Çü½ÄÀÌ´Ù..). °Ô´Ù°¡, ÄÄÇ»ÅÍÀÇ ¸Ó¸®´Â ²À ÀڱⰡ ±â°èÀÎ °ÍÀ» Ƽ¸¦ ³½´ä´Ï´Ù, ±â°è¾î¸¸À» ¹Þ ¾ÆµéÀÏÁÙ ¾È´ä´Ï´Ù. ±×·¡¼­, ¼öÄ¡ ºñ±³µµ »ç½Ç ÄÄÀÇ ¸Ó¸®(CPU:Áß¾Óó¸®ÀåÄ¡)·Î¼­´Â ¾öû³­ ÀÛ¾÷À».. °ÅÄ¡´Â °Ì´Ï´Ù. ±×·¡¼­, °í±Þ¾ð¾î´Â ÇϳªÀÇ ¹®ÀåÀ¸·Î 󸮵Ǵ °ÍÀÌ... ¾î¼À£­±â°è¾î¿Í 1´ë 1·Î ´ëÀÀÇÏ´Â ¾ð¾î£­¿¡¼­´Â º¹ÀâÇØÁö°í.. ±â°è¾î´Â... ²¿·Î·Î·Î·Ï..(°ÅÇ°³»´Â ¼Ò¸®) ¿¹¸¦ µé¾î¼­.. 1+2+3À» °è»êÇÕ´Ï´Ù. BasicÀº¿ä.. abc = 1+2+3 C´Â¿ä..... abc = 1+2+3; ¾î¼ÀÀº¿ä... mov abc,1 add abc,2 add abc,3 ±â°è¾î´Â¿ä... (Àúµµ À߸𸨴ϴÙ. ... ¡Ú... ÇÏÁö¸¸, ¾öû º¹ÀâÇÏ´Ù´Â °ÍÀº ¾Æ½Ã¸®¶ó.. ¾Ç! µ¹ÀÌ,.,.,.) °í±Þ¾ð¾î(¾¾³ª, º£ÀÌÁ÷)Àº ÇÑÁÙÀÌ¸é ³¡³ªÁÒ. ¾î¼ÀÀº¿ä.. ¿¡°í.. ¼®ÁÙ¾¿À̳ª.. ±â°è¾î´Â... ¾Æ½Ã¸®¶ó... ±×·¸Áö¸¸, CPU´Â Çѹø¿¡ Çϳª¸¸ ´õÇÒÁÙ ¾Ð´Ï´Ù. Áï, a=1+2 ¦£¦¡¦¤ ¦¢£±¦¢¡æ ³Ö¾î¿ä.. CPU¿¡.. ¦¦¦¡¦¥ ¦£¦¡¦¤ ¦¢£±¦¢ÀÌ CPU¿¡ ±â¾ïµË´Ï´Ù. ¦¦¦¡¦¥ ¦£¦¡¦¤ ¦¢£²¦¢->³Ö¾î¿ä.. ´õÇ϶ó´Â ½ÅÈ£µµ.. ¦¦¦¡¦¥ ¦£¦¨¦¤ ¦¢£³¦©ÀÌ ±â¾ïµË´Ï´Ù. ¦¦¦¡¦¥ ÀÌ·± ±¸Á¶À̱⿡.. 1+2+3À» °è»êÇÒ¶§ ¼®ÁÙÀÌ ÇÊ¿äÇß´ø °ÍÀÔ´Ï´Ù. ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¾î¼ÀÀÌ ¹¹²¿? ÀÌ Á¤µµ·Î¸¸ ÇØ µÎÁÒ... ¾î¼À¿¡´ëÇؼ­ ÀÌÇØÇϼÌÀ¸¸®¶ó ¹Ï½À´Ï´Ù. 1+2¸¦ ´õÇß´ø °Í°ú °°ÀÌ, CPUÀÇ °è»ê ¹æ½Äó·³, Çѹø¿¡ Çϳª¸¦ ´õÇÏ´Â... ±â°è¾î¿Í 1´ë 1·Î ´ëÀÀÇÏ´Â.. (¸ð ÇнÀÁöó·³, ±â°è¿Í ´«³ôÀ̸¦ ¸ÂÃß°í ÀÖ´Â) ¾ð¾î°¡ ¹Ù·Î ¾î ¼ÀÀÔ´Ï´Ù. ¼ýÀÚ¸¦ ´õÇÏ´Â ¿¹¸¦ µé¾î¼­ ¼³¸íµå·È°í¿ä.. ´ÙÀ½¿¡´Â... ¸Àº¸±â ¿¹Á¦¸¦ Çϳª ¸¸µé¾îº¸µµ·Ï ÇÏÁÒ.. ±×·³ ¾È³çÈ÷£¡ ³ë·ÂÀÌ ÀÖÀ¸¸é, °á°ú°¡ Àֱ⠸¶·ÃÀÔ´Ï´Ù. [42] Á¦¸ñ : [»õ³»±â ¿¬Àç] ¾î¼ÀÀ¸·Î ¸¸µç ù ÇÁ·Î±×·¥ ¿Ã¸°ÀÌ : hanuly´Ô(Á¶±¤Çö ) 95/05/02 00:15 ÀÐÀ½ : 88 °ü·ÃÀÚ·á ÀÖÀ½(TL) ¾î¼Àºí·¯?? ¾î¼Àºí·¯?! ¾î¼Àºí·¯!? ¾î¼Àºí·¯£¡ ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡ Copyright(c)1995,.Sir hanuly ¦È¦¬¦¸¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦Â ¾î¼À »õ³»±â¸¦ À§ÇÑ ¾î¼À ±âÃÊ ¿¬Àç... ¦¢¥±¦¢¾î¼ÀÀ¸·Î ¸¸µç ù ÇÁ·Î±×·¥.¦¢ 1995. 5. 2 ¦Æ¦¬¦º¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦Ä ¡Ú ±â¾ïÇϼ¼¿ä£¡ * ÀÌ ¿¬Àç´Â ¾î¼Àºí·¯¸¦ óÀ½ ¹è¿ì½Ã´Â ºÐµéÀ» À§ÇØ ¸¶·ÃµÇ¾ú½À´Ï´Ù. * °³ÀÎÀû Áú¹® ÆíÁö´Â, µÇµµ·Ï '»ï°¡'ÇØÁֽðí, '¹¯°í ´äÇϱâ' ¶õÀ» ÀÌ¿ëÇØÁÖ¼Ì À¸¸é ÇÕ´Ï´Ù. * ³»¿ë»óÀÇ ¿À·ù°¡ ¹ß°ßµÈ °æ¿ì´Â ¾ðÁ¦µçÁö ÆíÁö·Î ¿¬¶ôÁֽñ⠹ٶø´Ï´Ù. Á¦ ¾Æ À̵ð´Â ¾Æ½ÃÁÒ? 'hanuly´Ô'ÀÔ´Ï´Ù. * º» ³»¿ëÀ» Á¦ Çã°¡ ¾øÀÌ º£³¢°Å³ª(!), º¹»ç(?)ÇÏ´Â ÇàÀ§¸¦ ÇϽøé, Á¦°¡ È­³¾ °Å¿¹¿ä.. ±×¸®°í, ÀúÀ۱ǹý¿¡ ÀÇ°Å(?)ÇØ °í¼ÒÇÒ°Å¿¹¿ä.. (È÷È÷.. µ·¹ö´Â°Å ÁÁ¾Æ ÇÏ´Â ¸®´Ô..) * º» ³»¿ëÀÇ ¼Ò½ºµéÀº °ÅÀÇ ´Ù Macro Assembler 5.x¸¦ ±âÁØÀ¸·Î ÀÛ¾÷ÇÕ´Ï´Ù. ¸Å Å©·Î ¾î¼Àºí·¯ 5.x´Â °ø°³ ÀÚ·á½Ç¿¡ µî·ÏµÇ¾î ÀÖ½À´Ï´Ù. ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¾î¼ÀºíÀ̶ó.. ¾È³çÇϼ¼¿ä? ÇÏ´©¸®´ÔÀÔ´Ï´Ù. ¿ì¸®´Â Áö³­¹ø¿¡, ¾î¼Àºí·¯°¡ µµ´ëü ¹ºÁö¿¡ ´ëÇؼ­, À̾߱⸦ Çß¾úÁÒ. ¾î¼Àºí·¯ ¸¦ ¹è¿ì´Â °ÍÀº ¿µ¾î¸¦ ¹è¿ì´Â °Í, ¿µ¾î¸¦ ¹è¿ï¶§´Â ´Ü¾î, ¼÷¾î, ¹®¹ý.. ¹Ì±¹³ðµé ÀÇ »ç°í ¹æ½Ä, ȯ°æ µî±îÁö ¹è¿ö¾ß ÀÌÇظ¦ ÇÒ ¼ö ÀÖ´Ù°í Çß¾úÁÒ! ¿À´ÃÀº °£´ÜÇÑ ÇÁ·Î±×·¥(?)À» ¸¸µé¾îº½À¸·Î¼­, ¾î¼Àºí·¯ÀÇ ÇÁ·Î±×·¡¹Ö °³³ä¿¡ ´ë Çؼ­ Á¶±Ý¸¸ ¸À º¸µµ·Ï ÇÒ °ÍÀÔ´Ï´Ù. ¾Æ¹«Æ°, ³ë·Â¸¸ ÇÑ´Ù¸é, °á°ú´Â ºÐ¸íÈ÷ ÁÁÀ» °Å¶ó°í »ý°¢ÇØ¿ä... ¾¾³ª, ÆĽºÄ®ÀÇ ÄÄÆÄÀÏÀ̶ó´Â ÀÛ¾÷À» ¾Æ½Ã°ÚÁö¿ä. ±×·¯³ª, ¾î¼ÀÀ¸·Î ¼Ò½º¸¦ ÄÚµù ÇÏ°í, obj·Î º¯È¯½ÃÅ°´Â °Ç, ÄÄÆÄÀÏÇÑ´Ù°í ÇÏ¸é ¸Á½Å»ìÀÌ »¸Ä£´Ù´Â »ç½ÇÀ» ±â¾ïÇÏ ¼¼¿ä~! ¾î¼Àºí¿¡ ´ëÇؼ­ µé¾îº¸¼Ì´ÂÁö¿ä. ¾î¼Àºí¸®¾î ¼Ò½º¸¦ ±â°è¾î·Î ¹Ù²ãÁÖ´Â °úÁ¤ÀÌ ¶ó°í »ý°¢ÇÏ½Ã¸é ½±½À´Ï´Ù. ÄÄÆÄÀÏ Á¤µµ¿¡ °ßÁ־½Ã¸é µË´Ï´Ù. ±×¸®°í, ÀÌ ¾î¼À ºí °úÁ¤À» ÇØÁÖ´Â °ÍÀÌ ¹Ù·Î À̸§ÇÏ¿© '¾î¼Àºí·¯' ÀÔ´Ï´Ù. ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¾î¼ÀÀ¸·Î ÇÁ·Î±×·¥À» Â¥´Âµ¥.. ¾î¼À ÇÁ·Î±×·¥À» ¸¸µé¶§´Â º¸Åë ´ÙÀ½°ú °°ÀÌ ÇÏ°Ô µË´Ï´Ù. 1> ÇÁ·Î±×·¥ÀÇ ÀÛ¼ºÇؾ߰ڴÙ! ¿ì¼± ½ÃÀÛÀ» À§Çؼ­´Â ¾î¶² ÇÁ·Î±×·¥À» © °ÍÀÎÁö ¸ñÇ¥¸¦ Á¤ÇØ¾ß °ÚÁÒ? 2> ¿¡µðÅÍ·Î ¼Ò½º ÇÁ·Î±×·¥À».. »êÀ̳ª, UeditµîÀ¸·Î ¼Ò½º¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ¡æ ÀúÀåÇÔÀ¸·Î ?.ASMÀÌ ¸¸µé¾îÁ³°ÚÁÒ. 3> masmÀ̳ª, tasmÀ¸·Î ¾î¼ÀºíÇÕ´Ï´Ù. IF ½ÇÆÐ?=True ±×·¸´Ù¸é.. 1,2¹øÀ¸·Î.. ¼º°øÀ̶ó¸é.. objÆÄÀÏÀÌ »ý¼ºµÇ¾ú°ÚÁÒ! 4> link³ª tlink·Î ¸µÅ©! If ½ÇÆÐ?=True ±×·¸´Ù¸é 1,2,3¹ø... ¼º°øÀ̸é .EXE.COMÆÄÀÏ »ý¼º! 5> ½ÇÇàÅ×½ºÆ®! if ½ÇÆÐ?=True ±×·¸´Ù¸é 2¹ø...(³í¸®Àû ¿À·ùÀ̹ǷÎ, Á¦ÀÛÀÚÀÇ ¾Ë°í¸®µë ½Ç¼öÀÏ °¡´É¼ºÀÌ Á¦ÀÏ ³ô½À´Ï´Ù.) 6> ¼º°ø?! -> ¿Ï¼ºÀÌ´å! ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡ ³ªÀÇ Ã¹ ÇÁ·Î±×·¥ ÀÚ, ¾î¼À¿¡ ´ëÇÑ °³°ýÀû ÀÌÇظ¦ ÇÏ°Ô µÇ¼ÌÀ¸¸®¶ó ¹Ï°í(±¤Çö¾Æ! ¼³¸íµµ x¶±°°ÀÌ ÇØ ³õ°í´Â ¹«½¼ ¼Ò¸®¾æ!! ²ô¾Æ¾Æ~!), °£´ÜÇÑ ´ÙÀ½°ú °°Àº ¼Ò½º¸¦ ÁغñÇØ º¸¾Ò½À´Ï´Ù. ¿ì¸®°¡, Åͺ¸¾¾¸¦ ¹è¿üÀ»¶§ ¸ÇóÀ½ ÀÛ¼ºÇß´ø ÇÁ·Î±×·¥ÀÌÁÒ.. "Hello, World!"¶ó´Â ¹®ÀÚ¿­À» Ãâ·ÂÇÏ´Â °ÍÀÔ´Ï´Ù. main¾È¿¡¼­ printf¸¸ ½áµµ µÉ °Í °°Àºµ¥.. ¾î¼ÀÀ̶ó´Â Á¡À» ¸í½ÉÇϽðí.. ¦£hello.asm ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ ¦¢ DOSSEG ¦¢ ¦¢ .MODEL SMALL ;¸Þ¸ð¸® ¸ðµ¨À» SMALL·Î! ¦¢ ¦¢ ¦¢ ¦¢ .STACK 100h ;½ºÅÃÀ» Àâ¾ÆµÓ´Ï´Ù. ¦¢ ¦¢ ¦¢ ¦¢ .DATA ¦¢ ¦¢message db 'Hello, World!',13,10,'$' ;¸Þ¼¼Áö´Â ¹Ù·Î...ÀÌ°Í! ¦¢ ¦¢ ¦¢ ¦¢.CODE ¦¢ ¦¢ ¦¢ ¦¢mov ax,@data ;DS ÃʱâÈ­... ¦¢ ¦¢mov ds,ax ¦¢ ¦¢ ¦¢ ¦¢mov ah,9 ;¸Þ¼¼Áö¸¦ È­¸é¿¡ Âï´Â ºÎºÐ ¦¢ ¦¢mov dx,offset message ¦¢ ¦¢int 21h ¦¢ ¦¢ ¦¢ ¦¢mov ah,4ch ;³¡³»´Â ºÎºÐ.. ¦¢ ¦¢int 21h ¦¢ ¦¢ ¦¢ ¦¢END ¦¢ ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ ÀÚ, ´Ù ÀÛ¼ºÇϼ̴ٸé (Àü¹®°¡ °°ÀÌ º¸ÀÌ°Ô ÇÏ´Â ¸»·Î)¾î¼Àºí¸µ ½ÃÄѺ¼±î¿ä? masmÀÌ ÁغñµÇ¼Ì°ÚÁÒ? Àú´Â ºÐ¸íÈ÷ 5.0Á¤µµ·Îµµ ÃæºÐÇÏ´Ù°í ¸»¾¸µå·È½À´Ï´Ù~! ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ ¦¢ ¦¢ ¦¢C:\LANG\MASM>masm hello¡ç ¦¢ ¦¢Microsoft (R) Macro Assembler Version 5.10 ¦¢ ¦¢Copyright (C) Microsoft Corp 1981, 1988, All right reserved. ¦¢ ¦¢ ¦¢ ¦¢Object filename [hello.obj] : ¡ç ;¿£ÅÍ·Î ±×³É ³Ñ¾î°¡¼¼¿ä.. ½Å°æ¾²Áö¸»°í.¦¢ ¦¢Source Listing [NUL.LST] : ¡ç ;¼Ò½º°¡ ¾î¼±¸Àú¼±º¿ä..±×³É ¹«½ÃÇսôÙ~!¦¢ ¦¢Cross-reference [NUL.CRF] : ¡ç ; ³È³È.. ±×³É ³Ñ¾î°©½Ã´Ù~! ¦¢ ¦¢ ¦¢ ¦¢ ????? + ?????? Bytes symbol space free ¦¢ ¦¢ ¦¢ ¦¢ 0 Warning Errors ¦¢ ¦¢ 0 Severe Errors ¦¢ ¦¢ ¦¢ ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ ÀÌ·¸°Ô µÇ¾ú´Ù¸é ¼º°ø~! ±×·±µ¥, ¿©±â¼­ ³¡³ª¸é ¹Ùº¸.. ¸µÅ·ÇؾßÁÒ..(¿¬°á??) ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤ ¦¢C:\LANG\MASM>link hello¡ç ¦¢ ¦¢Microsoft (R) Overlay Linker. .... ¾î¼±¸... ¦¢ ¦¢ ¦¢ ¦¢Run File [HELLO.EXE] : ¡ç ¦¢ ¦¢ ¦¢ ¦¢List ... : ¡ç ¦¢ ¦¢Library...: ¡ç ¦¢ ¦¢ ¦¢ ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥ ÀÌ·±½ÄÀ¸·Î ³Ñ±â¸é hello.exe°¡ ¸¸µé¾îÁý´Ï´Ù. ÀÚ, ½ÇÇàÇغ¸½ÃÁÒ?! ±×¸®°í.. °á°ú´Â?? °£´ÜÇÑ ¸À¹è±â ¿´½À´Ï´Ù. ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡°á·Ð ¿ì¸®´Â ÀÌ ¼Ò½º¸¦ ±¸°æÇÏ°í ÀÔ·ÂÇغ½À¸·Î½á, ¾î¼Àºí·¯¿¡ ´ëÇؼ­ ¾î´ÀÁ¤µµÀÇ ÆľÇÀº ÇÒ¼ö ÀÖ¾ú½À´Ï´Ù. ´ÙÀ½¿¡´Â ¹»ÇÒ±î¿ä? Á» µûºÐÇÑ ³»¿ëÀ» ´Ù·çµµ·Ï ÇÏÁÒ. ±×·³ À̸¸... ------------------------------- ÇÔ²²´©¸®´Â ³ÐÀº ÇϴþƷ¡ ¿ì¸®¸¦ ¸ðÀ¸´Â Çѿ®.. ±×¸®°í, »ó´ë¹æÀ» Á¸Áß ÇÒÁپƴ ±×·¯ÇÑ ¸»°¡Áü»õ... ÇÏ´©¸®´ÔÀº ±×·¯ÇÑ ¶æÀ» °¡Áö°í ÀÖ½À´Ï´Ù. Ãâ·ÂÀÌ ³¡³µ½À´Ï´Ù. [Enter]¸¦ ´©¸£½Ê½Ã¿À.