Á¦ ¸ñ:[°­ÁÂ] ¾î¼Àºí¸® °­Á [2/7] ¿Ã¸°ÀÌ:À¯¾¾°¡Á·(À¯¿ë¼ö ) 96/11/02 19:33 ÀÐÀ½:3982 °ü·ÃÀÚ·á ¾øÀ½ ----------------------------------------------------------------------------- Á¦ 4Àå µ¥ÀÌÅÍ Àü¼Û ¸í·É ---------------------------------------------------------------------- ---------- MOV ¸í·É°ú ¹®ÀÚ Ãâ·Â µ¥ÀÌÅÍÀÇ ÀÔÃâ·Â°ú Àü¼Û¸í·É¿¡ ´ëÇØ¼­ ÇØ¼³ ÇÕ´Ï´Ù. *.·¹Áö½ºÅÍ¿¡ ¼öÄ¡¸¦ ´ëÀÔÇÑ´Ù. *.·¹Áö½ºÅÍ¿Í ·¹Áö½ºÅÍ »çÀÌ¿¡¼­ µ¥ÀÌÅ͸¦ Àü¼ÛÇÑ´Ù. *.·¹Áö½ºÅÍ¿Í ¸Þ¸ð¸® »çÀÌ¿¡¼­ µ¥ÀÌÅ͸¦ Àü¼ÛÇÑ´Ù. È­¸é¿¡ AB ¸¦ Ç¥½Ã ÇÏ´Â ÇÁ·Î±×·¥ MAIN SEGMENT ; ¼¼±×¸ÕÆ®¸¦ ¾Ë¸®´Â ÀÇ»ç¸í·É ASSUME CS:MAIN ; ; MOV DL,41H ; ¾Æ½ºÅ°ÄÚµå 41H  A ÀÚ ÀÌ´Ù. MOV AH,2 INT 21H MOV DL,'B' MOV BL,2 MOV AH,BL INT 21H ; ; ´Ü¼øÈ÷ ÁÙÀ» ¶ç¿ì±â À§ÇØ »ðÀÔµÈ ¼³¸í¹® MOV AH,4CH ; ÇÁ·Î±×·¥ÀÇ ³¡³¿ INT 21H ; MAIN ENDS END ÀڱⰡ ÀÛ¼ºÇÑ ¼Ò½ºÇÁ·Î±×·¥À» ±×´ë·Î º¸°í ½ÍÀ¸¸é ¸®½ºÆ® È­ÀÏÀÎ .LST ¸¦ »ìÆì º¸´Â °ÍÀÌ ÁÁ´Ù.ÀÇ»ç¸í·ÉÀº Á÷Á¢ ±â°è¾î·Î ¹ø¿ªµÇÁö ¾ÊÁö¸¸ , ¾î¼Àºí ÀÛ¾÷ÀÇ È帧À» Á¤ÇÒ¶§¿¡ Áß¿äÇÑ ¿ªÇÒÀ» ÇØ ÁÝ´Ï´Ù. ¿©±â¼­ MAIN Àº ¾î¶² À̸§À̵çÁö »ó°ü¾ø´Ù. ASSUME CS:MAIN À̶ó´Â ÀÇ»ç ¸í·ÉÀº ¾î¼Àºí·¯°¡ ¾î¼ÀºíÀ» ÇÒ¶§ Äڵ弼±×¸ÕÆ®(CS:)¸¦ ÂüÁ¶ Ç϶ó´Â ¸í·ÉÀÌ ÀÖÀ¸¸é MAIN À̶ó´Â À̸§ÀÇ ¼¼±×¸ÕÆ®¸¦ ÂüÁ¶Ç϶ó´Â ¼±¾ð À» ÇÏ´Â ¹®ÀåÀÔ´Ï´Ù. ASSUME ¹®ÀåÀº 4°³ÀÇ ¼¼±×¸ÕÆ®(CS,DS,SS,ES)¿Í ¼¼±×¸ÕÆ® À̸§À» ´ëÀÀ½ÃŰ´Â ¼±¾ð¹®ÀÔ´Ï´Ù. ¸í·ÉÀº ¹Ýµå½Ã CS:(Äڵ弼±×¸ÕÆ® )¿¡ END ¹®À¸·Î ¾î¼Àºí·¯´Â ³¡³­´Ù. END ¹®À¸·Î ½ÃÀÛ¹øÁö¸¦ ÁöÁ¤ÇÒ¼ö°¡ÀÖ´Ù. ¾î¼Àºí·¯ ÇÁ·Î±×·¥ÀÇ ±âº»Çü AMIN SEGMENT ASSUME CS:MAIN .......... º» ¹® .......... MAIN ENDS END ¼³¸í¹® (comment, ÁÖ¼®¹®)À» ¾²´Â¹ý ; Àº ¼³¸í¹® Çà ÀÔ´Ï´Ù. ; ÀÌ ´ÙÀ½ ºÎÅÍ ¾²¿©Áø ¹®ÀÚ´Â ¼³¸í¹®ÀÔ´Ï´Ù. 8086 ÀÇ ·¹Áö½ºÅÍ(register) ---------------------------------------------------------------------- ---------- ¹ü¿ë ·¹Áö½ºÅÍ AX,BX,CX,DX ´Â 8 ºñÆ®·Î ³ª´©¾î »ç¿ëÇÒ¼ö ÀÖ´Ù. ¹ü¿ë ·¹Áö½ºÅÍ SI,DI,BP,SP ´Â 16 ºñÆ®·Î¼­ ¹Û¿¡ »ç¿ë ÇÒ¼ö ¾ø´Ù. ¾î¼Àºí·¯¿¡¼­´Â Ưº°È÷ Ç¥½ÃÇÏÁö ¾Ê´ÂÇÑ ¼öÄ¡´Â 10Áø¼ö·Î¼­ Ãë±ÞµË´Ï´Ù. 16Áø¼ö¸¦ »ç¿ëÇÒ¶§´Â ¼ýÀÚÀÇ µÚ¿¡ H(Hexa decimal) ¸¦ ºÙ¿©¼­ Ç¥½ÃÇÕ´Ï´Ù. ¼öÄ¡°¡ ¾ËÆÄºªÀ¸·Î ½ÃÀÛÇÒ¶§´Â 0 À» ºÙ¿© º¯¼öÀ̸§°ú È¥µ¿À» ÇÇÇÑ´Ù. MOV DL, 41H ; DL <----- 41H 41H¸¦ DL ¿¡ ´ëÀÔÇ϶ó. +--- | | ----------+ | +----+ | Ç༱Áö(DESTINATION), Ãâ¿øÁö(SOURCE) ½Ã½ºÅÛ È£Ãâ°ú ÀÔÃâ·ÂÀº INT 21H <---- ÀÎÅÍ·´Æ® (interrupt-³¢¾îµé±â) ¸í·ÉÀº °­Á¦·Î CPU°¡ ÇÏ´ø ÀÏÀ» ÁßÁö½ÃŰ°í ³¢¾îµé±â MOV DL,'1' ; ¹®ÀÚ¸¦ ÀοëºÎÈ£·Î ¿¡¿ö½Ñ °ÍÀ» ¿À¸¥ÂÊ¿¡ ¾´°æ¿ì¿¡´Â ±×¹®ÀÚ¿¡ ´ëÀÀÇÏ´Â ¾Æ½ºÅ°Äڵ尡 ¾²¿©Áø °ÍÀ¸·Î °£Áֵ˴ϴÙ. 1 Àº ¾Æ½ºÅ°Äڵ尪 31H ·Î ´ëÄ¡µË´Ï´Ù. ÇÁ·Î±×·¥À» ³¡¸¶Ä¡´Â ¹æ¹ý MOV AH,4CH ; MS-DOS ÀÇ SYSTEM CALL ÀÎ 4CH ¹øÂ°ÀÇ ·çƾ INT 21H ; ÇÁ·Î±×·¥À» ¸¶Ä¡°í OS ·¹º§·Î µ¹¾Æ°£´Ù. µ¥ÀÌÅ͸¦ µÎ´Â ¹æ¹ý(1) ---------------------------------------------------------------------- ---------- ÇÁ·Î±×·¥Áß¿¡ µ¥ÀÌÅ͸¦ µÎ°í , ±× µ¥ÀÌÅ͸¦ ·¹Áö½ºÅÍ¿¡ Àü¼ÛÇÏ´Â ¹æ¹ýÀ» ¼³¸í º¯¼öÀ̸§ ¼±¾ð¹ý : XXX DB 'X' ; DB ´Â define byte YYY DW 3456H ; DW ´Â define word | | ---------> º¯¼ö¿¡ µé¾î °¡´Â ÃʱâÄ¡ | +---------------->º¯¼öÀÇ Çü +----------------------->º¯¼öÀ̸§ DB ..... ¹ÙÀÌÆ®ÀÇ Á¤ÀÇ DW ..... ¿öµå(2¹ÙÀÌÆ®)Á¤ÀÇ DD ..... ´õºí ¿öµå(4¹ÙÀÌÆ®)Á¤ÀÇ DQ ..... ÄõÆ® ¿öµå(8¹ÙÀÌÆ®)Á¤ÀÇ DT ..... 10 ¹ÙÀÌÆ® Á¤ÀÇ *.»ç¿ë¹ý +----------+--------+-----------+ | º¯¼öÀ̸§ | DB | ½Ä | +----------+--------+-----------+ ¼¼±×¸ÕÆ®¸¦ Á¤ÀÇ ÇÏ´Â ASSUME ÀÇ»ç ¸í·É MAIN SEGMENT ASSUME CS:MAIN, DS:MAIN MAIN : ¼¼±×¸ÕÆ® °³½Ã¸¦ ¼±¾ð CS:MAIN Äڵ弼±×¸ÕÆ®°¡ MAIN À̶ó´Â À̸§ÀÇ ¼¼±×¸ÕÆ®¿¡ ¿¬°áµÇ¾îÀÖ´Ù´Â°Í DS:MAIN µ¥ÀÌŸ¼¼±×¸ÕÆ®°¡ MAIN À̶ó´Â À̸§ÀÇ ¼¼±×¸ÕÆ®¿¡ ¿¬°áµÇ¾î ÀÖ´Ù´Â°Í 8086¿¡¼­´Â µ¥ÀÌŸ´Â µ¥ÀÌŸ¼¼±×¸ÕÆ® ³»¿¡ ÀÖ´Â °ÍÀ¸·Î¼­ ÇØ¼®µÇ¹Ç·Î ,µ¥ÀÌÅͼ¼±×¸ÕÆ® °¡ ¾îµðÀִ°¡ ¸¦ ÁöÁ¤ÇؾßÇÑ´Ù. ¸í·Éµµ µ¥ÀÌŸµµ µÑ´Ù MAIN À̶ó´Â À̸§ÀÇ ¼¼±×¸ÕÆ® ³»¿¡ ÀÖÀ¸¹Ç·Î ASSUME CS:MAIN, DS:MAIN ±×·¯³ª À̰ÍÀº ¾î¼Àºí·¯¿¡ ´ëÇÑ Áö½ÃÀÌ´Ù µ¥ÀÌŸ¸¦ ó¸®ÇÏ´Â ¸í·ÉÀ¸·Î´Â ¹ø¿ªµÇÁö¾Ê´Â´Ù ¼¼±×¸ÕÆ®¸¦ Ãʱ⼳Á¤(initialize) ÇϱâÀ§Çؼ­´Â MOV AX,CS MOV DS,AX À̿Ͱ°ÀÌÇÏ¿© ,AX ·¹Áö½ºÅ͸¦ °æÀ¯ÇÏ¿© DS ¿¡ CS ÀǰªÀ» Àü¼ÛÇÏ¿© 2 °³ÀÇ ¼¼±×¸ÕÆ®¸¦ ÀÏÄ¡½ÃŰÁö¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. À̰ÍÀº ¾î¼Àºí·¯ÀÇ Á¤ÇØÁø ¹®±¸ÀÔ´Ï´Ù. ¿©±â¼­ MOV DS,CS ¶ó°í ÇÒ¼ö´Â ¾øÀ¾´Ï´Ù.¼¼±×¸ÕÆ® ·¹Áö½ºÅÍ(CS,DS,SS,ES)´Â ¹ü¿ë ·¹Áö½ºÅ͵é·Î ¹Û¿¡´Â µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ´Â °ÍÀÌ Çã¿ëµÇ¾î ÀÖÁö¾Ê±â ¶§¹®ÀÔ´Ï´Ù. ¼¼±×¸ÕÆ® ·¹Áö½ºÅÍ¿¡ Á÷Á¢ ¼ýÀÚ³ª º¯¼ö¸¦ ´ëÀÔÇÒ¼ö´Â ¾øÀ¾´Ï´Ù. ¾î¼Àºí ¸®½ºÆ®¿¡¼­ 8A 16 0020 R R .... À̶ó´Â ¹®±¸´Â »ó´ë¹øÁö(relative address) ÁöÁ¤¹æ½ÄÀÓÀ» ³ªÅ¸³»°í ÀÖÀ¾´Ï´Ù. µ¥ÀÌÅ͸¦ µÎ´Â ¹æ¹ý(2) ---------------------------------------------------------------------- ---------- ¿©·¯°³ÀÇ ¼¼±×¸ÕÆ®¿¡ µÎ´Â ¹ý MAIN SEGMENT ---+ ...... | MAIN ENDS ---+ DATA SEGMENT ---+ ..... | DATA ENDS ---+ ÀÌ¿Í °°Àº µÎ°³ÀÇ ¼¼±×¸ÕÆ®°¡ Á¸ÀçÇÏ°Ô ¼³°èÇÑ´Ù. ASSUME CS:MAIN,DS:DATA µ¥ÀÌÅ͸¦ ÂüÁ¶ÇÏ´Â ¸í·ÉÀÌ ÀÖ´Â °æ¿ì¿¡´Â µ¥ÀÌÅÍ´Â DATA ¶ó´Â À̸§ÀÇ ¼¼±×¸ÕÆ®¿¡ ÀÖ´Ù°í °£ÁÖÇÏ°í ¸í·ÉÀ» ÀÛ¼ºÇ϶ó´Â Áö½ÃÀÔ´Ï´Ù. MOV AX,DATA MOV DS,AX µ¥ÀÌÅÍÀÇ ¼¼±×¸ÕÆ®ÀÇ °ªÀ» Ãʱ⠼³Á¤ÇÏ´Â ºÎºÐÀÔ´Ï´Ù. ÇÁ·Î±×·¥À» ½ÃÀÛÇÒ¶§ µ¥ÀÌÅÍ ¼¼±×¸ÕÆ®ÀÇ ÁöÁ¤¹ý¸¸ Àß ÀÍÇôµÎ¸é º»ºÐ Áß¿¡¼­´Â µ¥ÀÌÅÍ °¡ ¾î´À ¼¼±×¸ÕÆ® ³»¿¡ Àִ°¡ ½Å°æ¾²Áö ¾Ê°í ,ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ¼öÀÖÀ¾´Ï´Ù. ¹øÁöÀÇ °£Á¢ ÁöÁ¤¹ý(1) ---------------------------------------------------------------------- ---------- ¹ÙÀÌÆ®Çü µ¥ÀÌÅÍ´Â ¿¬¼ÓÇÏ¿© Á¤ÀÇÇÒ¼öÀÖ´Ù. DB ¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ Á¤ÀÇ ÇÏ´Â °æ¿ì¿¡ ABC ' ¿Í °°ÀÌ ¿¬¼ÓÇÏ¿© ¸î ¹®ÀÚ¶óµµ µ¥ÀÌÅ͸¦ Á¤ÀÇ ÇÒ¼ö°¡ ÀÖÀ¾´Ï´Ù. XXX DB 'ABC' ------+ ¸ðµÎ°°´Ù. XXX DB 'A','B','C' | XXX DB 41H,42H,43H ---+ | +---->DW,DD,DQ,DT ¿Í °°Àº ´Ù¸¥ º¯¼öÇüÀÇ µ¥ÀÌÅ͵µ ³ª¿­ÇÒ¼ö´Â ÀÖ½À´Ï´Ù. ±×·¯³ª ¼öÄ¡·Î½á´Â °¡´ÉÇÏÁö¸¸ ¹®ÀÚ¿­·Î½á ÁÖ¾îÁö´Â °æ¿ì´Â Çѹø¿¡ 2¹®ÀÚ ¾¿ÀÇ ¹® ÀÚ¿­¹Û¿¡ ÁÙ¼ö°¡ ¾ø´Ù. AAA DD 'AB','CD','EF'´Â Çã¿ëÀÌ µÇÁö¸¸ AAA DD 'ABCD', 'EFGH' ´Â Çã¿ëÀÌ ¾ÈµÈ´Ù. DB ÀÇ °æ¿ì¿¡¸¸ÀÌ Æ¯º°Çϰí 3 ¹®ÀÚ ÀÌ»óÀÇ ¹®ÀÚ¿­ÀÇ ³ª¿­À» A','B','C' ·Î ÇÏ´Â ´ë½Å¿¡ ABC' ·Î ÇÒ¼öÀÖ´Ù. ÀÚ,±×·³ ¾î¶»°Ô XXX ¶ó´Â º¯¼öÀ̸§ÀÇ Àå¼Ò¿¡ ¼­ ³ª¿­µÇ¾îÀÖ´Â µ¥ÀÌÅ͸¦ ²¨³»¾î ¾µ¼ö°¡ Àִ°¡ MOV AL,XXX ¶ó°í Çϸé XXX ÀÇ Àå¼Ò¿¡ ³ª¿­µÈ ¹®ÀÚ¿­ÀÇ Á¦ÀÏ Ã³À½ ÀÇ °ÍÀÎ A'=41H °¡ AL ·¹Áö½º ÅÍ¿¡ Àü¼ÛµË´Ï´Ù.(XXX¶ó°í ÇÏ´Â À̸§ÀÇ Àå¼Ò¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ AL·¹Áö½ºÅÍ¿¡ Àü¼ÛÇ϶ó) º¯¼ö°¡ ÀÚ¸®Àâ°í ÀÖ´Â ¹øÁö¸¦ ²¨³»´Â ¿ÀÇÁ¼Â(OFFSET ¸í·É): MOV BX,offset XXX | º¯¼öÀ̸§ÀÌ ºÙ¿©Áø ¹øÁö ÀÚüÀÇ °ªÀ» BX ·¹Áö½ºÅÍ¿¡ Àü¼ÛÇÏ +-----> ´Â ¸í·ÉÀÔ´Ï´Ù. OFFSET : º¯¼öÀ̸§ÀÌ ºÙ¿©Áø µ¥ÀÌÅͰ¡ ÀÖ´Â ¹øÁö¸¦ ²¨³»´Â ¿¬»êÀÚ. ¿ÀÇÁ¼Â¹øÁö : ¼¼±×¸ÕÆ®¸¦ ±âÁØÀ¸·Î ÇÑ ¹øÁö MOV BL,XXX ; BL °ú XXX ´Â 8 ºñÆ® À̹ǷΠ°¡´É MOV BX,XXX ; BX ´Â 16ºñÆ® ·¹Áö½ºÅÍ, XXX´Â 8ºñÆ® ·¹Áö½ºÅÍÀ̹ǷΠ¿¡·¯ [ ] ¸¦ »ç¿ëÇÑ °£Á¢ ¹øÁö ÁöÁ¤¹æ½Ä: ¾î¶²¹øÁöÀÇ ³»¿ëÀ» ²¨³¾¶§¿¡´Â [¹øÁö ] ¿Í °°ÀÌ [ ] ¸¦ ºÙÀδÙ. MOV DL,[1FH] ; 1FH ¹øÁö¿¡ ÀÖ´Â µ¥ÀÌÅ͸¦ DL ·¹Áö½ºÅÍ·Î Àü¼ÛÇ϶ó BX ·¹Áö½ºÅͳ»¿¡ º¯¼ö XXX ÀÇ Ã³À½ µ¥ÀÌÅͰ¡ DL ·¹Áö½ºÅÍ·Î Àü¼ÛµË´Ï´Ù. ±× ´ÙÀ½Àº À̰ÍÀ» Ç¥½Ã ÇÕ´Ï´Ù. 2 ¹øÂ° µ¥ÀÌÅÍ´Â ¼±µÎ ¹øÁö +1 ¹øÁö¿¡ ÀúÀåµÇ¾î ÀÖÀ¸¹Ç·Î, ¿©±â¼­´Â BX + 1 ¹øÁöÀÇ ³»¿ëÀ» ²¨³»¸é µÇ´Â °ÍÀÔ´Ï´Ù.°°Àº ¹æ¹ýÀ¸·Î BX+2,BX+3 ....... MOV DL,[BX+1] [ ] ³»ÀÇ °ªÀÌ ³ªÅ¸³»´Â ¹øÁö¿¡ ÀúÀåµÇ¾î ÀÖ´Â ³»¿ëÀ» ²¨³»´Â °ÍÀ» Áö½ÃÇϰí ÀÖÀ¾´Ï´Ù. ÀÌ¿Í °°Àº ÁöÁ¤¹ýÀ» °£Á¢ÁöÁ¤¹æ½Ä(indirect addressing )À̶ó°í ºÎ¸¨´Ï´Ù. MOV AX,[1234H] ¿Í °°Àº ÁöÁ¤¹ýµµ °£Á¢¹øÁö ÁöÁ¤¹æ½ÄÀÇ ÀÏÁ¾À¸·Î¼­ÀÇ Á÷Á¢¹øÁöÁöÁ¤¹æ½Ä(direct addressing mode) À̶ó°í ºÎ¸¨´Ï´Ù MAIN SEGMAIN ; *.µ¥ÀÌÅ͸¦ ¼¼±×¸ÕÆ® ³»¿¡µÎ´Â °æ¿ì ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX +-----------+ | º» ¹® | +-----------+ MAIN ENDS DATA SEGMENT XXX DB 'ABC' DATA ENDS END ¹øÁöÀÇ °£Á¢ ÁöÁ¤¹ý(2) ---------------------------------------------------------------------- ---------- °£Á¢ÁöÁ¤¿¡ »ç¿ëÇÒ¼ö ÀÖ´Â ·¹Áö½ºÅÍ´Â 4°³»ÓÀÌ´Ù BX,BP,SI,DI ¿Ö±×·±°¡ ÇÏ´Â °ÍÀº 8086 ¼³°èÀÚ°¡ Á¤ÇسõÀº ÀÏÀÌ´Ù. [BX+DI] [BX+SI+1] ¿Í °°Àº À̵鳢¸®ÀÇ Á¶ÇÕÁöÁ¤ÀÌ °¡´É ÇÕ´Ï´Ù ¿¹) [BX+SI+4] BX=1000H SI=1234H ÀÎ °æ¿ì 1000H + 1234H + 4H = 2238H ÀÌ µÈ´Ù. °£Á¢ÁöÁ¤ Á¶ÇÕ¹ýÀÇ ±ÔÄ¢: +----+ +-------+ +--------------+ | BX | | SI | | 16ºñÆ® ¼ýÀÚ | | BP | + | DI | + | 8ºñÆ® ¼ýÀÚ | |¾ø´Ù| | ¾ø´Ù | | ¾ø´Ù | +----+ +-------+ +--------------+ [BP] ´Â ´Üµ¶À¸·Î »ç¿ëÇÒ¼ö°¡ ¾øÀ½´Ï´Ù. ´Ü¼øÈ÷ ±â°èÀû Á¦¾à¿¡¼­ ¿À´Â °ÍÀÔ´Ï´Ù »ç¿ëÇÏ°í ½Í´Ù¸é [BP+0] À¸·Î ÇÕ´Ï´Ù. MOV DL,[BX+SI] ; BX¿¡´Â º¯¼öÀÇ ½ÃÀÛ¹øÁö , SI¿¡´Â 3À» ´ëÀÔ, µû¶ó¼­ DL ¿¡´Â º¯¼öÀÇ ¼±µÎ·Î ºÎÅÍ 4 ¹øÂ° ¹ÙÀÌÆ®ÀÇ µ¥ÀÌÅͰ¡ DL ·¹Áö½ºÅÍ¿¡ Àü¼ÛÇÑ´Ù . *.SI= 0 ºÎÅÍ ¼±µÎ¸¦ °¡¸®Å²´Ù. ¿¹Á¦) MOV5.ASM ¸Þ¸ð¸®¿¡¼­ ÀúÀåµÈ ¹®ÀÚ¿­ ABCDEFG" Áß ³×¹øÂ°, ´Ù¼¸¹øÂ° ¹®ÀÚ DE ¸¦ Ãâ·Â MAIN SEGMENT ASSDUME CS:MAIN,DS:DATA ; MOV AX,DATA MOV DS,AX MOV BX,OFFSET AAA MOV SI,3 MOV DL,[BX+SI] MOV AH,2 INT 21H MOV DL,[BX+SI+1] MOV AH,2 INT 21H ; MAIN ENDS ; DATA SEGMENT AAA DB 'ABCDEFG' ; DATA ENDS END *. °£Á¢ÁöÁ¤¿¡ »ç¿ë ÇÏ´Â ·¹Áö½ºÅÍ¿¡ BP ·¹Áö½ºÅͰ¡ Æ÷ÇԵǴ °æ¿ì¿¡´Â , ½ºÅؼ¼±×¸ÕÆ®(SS:)¿¡ µ¥ÀÌÅͰ¡ ÀÖ´Â °ÅÀ¸·Î¼­ ÇØ¼®µÈ´Ù. ( º¸ÅëÀº BP ·¹Áö½ºÅ͸¦ »ç¿ëÇÑ °£Á¢ ÁöÁ¤¹ýÀº ¾ÈÇϴ°ÍÀÌ ¹«³­ÇÒ °ÍÀÔ´Ï´Ù. ) °£Á¢ ¹øÁö ÁöÁ¤¹æ½ÄÀÇ »ç¿ë¹ý ---------------------------------------------------------------------- ---------- CODE SEGMENT ASSUME CS:CODE,DS:DATA ; MOV AX,DATA ; DS¸¦ ¼³Á¤ MOV DS,AX ; MOV BX,OFFSET AAA ; AAAÀÇ ¹øÁö°ªÀ» BX ¿¡ ´ëÀÔ MOV AX,'AB' ; ¹®ÀÚ Çϳª´Â 8ºñÆ® MOV [BX],AX ; BX °¡ °¡¸®Å°´Â AAA º¯¼ö¿¡ AB'¸¦ ³Ö´Â´Ù MOV CX,AAA MOV DL,CH ; DL ¿¡ A ¸¦ ³Ö´Â´Ù MOV AH,2 ----+ INT 21H ----+ ¹®ÀÚ A¸¦ º¸ÀδÙ. MOV DL,CL ; DL ¿¡ B ¸¦ ³Ö´Â´Ù. MOV AH,2 ----+ ¹®ÀÚ B¸¦ º¸ÀδÙ. INT 21H ----+ MOV AH,4CH INT 21H ; Á¾·áÇϰí OS ·Îµ¹¾Æ°£´Ù. ; CODE ENDS ; DATA SEGMENT AAA DW ; AAA ¶ó´Â º¯¼ö¸¦ À§Çؼ­ ¿öµå ¿µ¿ªÀ» È®º¸Ç϶ó DATA ENDS END AAA DW ? ´Â '? ' ´Â ¼ýÀÚ´Â ¾Æ¹«°ÍÀÌ¶óµµ ÁÁ´Ù¶ó´Â ÀǹÌÀÔ´Ï´Ù. À̹ÛÀÇ »ç¿ë¹ýÀ¸·Î´Â MOV [BX+SI+5],1234H MOV AAA,'AB' ¶ó´Â »ç¿ë¹ýÀÌ °¡´É ÇÕ´Ï´Ù. MOV [BX],[SI+3] ±×·¯³ª ÀÌ¿Í °°Àº ,¿ÀÆÛ·£µå ¾çÂÊ ´Ù °£Á¢ÁöÁ¤À¸·Î ÇÒ¼ö´Â ¾øÀ¾´Ï´Ù. MOV BX,[0008] -----> 8 ¹øÁöÀÇ ³»¿ëÀ» ²¨³»¿Â´Ù ¶ó´Â °£Á¢ ÁöÁ¤¹æ½Ä ·¹Áö½ºÅ͸¦ »ç¿ëÇÏÁö¾Ê°í ¼öÄ¡¸¸À¸·Î ¹øÁö¸¦ ÁöÁ¤ÇÏ´Â ÀÌ·¯ÇÑ ¹æ¹ýÀ» Á÷Á¢¹øÁö ÁöÁ¤ (direct addressing)À̶ó°í ¸»ÇÕ´Ï´Ù. ¶ÇÇÑ, MASM ¿¡¼­´Â ÀÌ¿Í °°Àº Á÷Á¢ ¹øÁö ÁöÁ¤¹æ½ÄÀ» ¾î¼Àºí·¯ ¼Ó¿¡ ¾µ¼ö°¡ ¾øÀ¾´Ï´Ù. ±×°ÍÀº ¸Þ¸ð¸® ¹øÁö´Â ¸µÄ¿¿¡ ÀÇÇØ µ¿Àû(dynamic)À¸·Î Ȱ´çµÇ±â¶§¹®¿¡ ,°íÁ¤µÈ ¹øÁö ÁöÁ¤¹æ½ÄÀ» »ç¿ë ÇÒ¼ö¾ø´Ù°í °¡Á¤µÇ±â ¶§¹®À̶ó°í »ý°¢µË´Ï´Ù. EQU ÀÇ»ç ¸í·É ---------------------------------------------------------------------- ---------- »ó¼ö¸¦ Á¤ÀÇ ÇÏ´Â EQU ÀÇ»ç ¸í·É MAIN SEGMENT ASSUME CS:MAIN CHAR1 EQU 'A' ;'A' = 41H °¡ Á¤ÀÇ µË´Ï´Ù --+ CHAR2 = 42H ; = ´Â ÀçÁ¤Àǰ¡ °¡´É | DISP EQU 2 ; EQU´Â ÀçÁ¤Àǰ¡ ºÒ°¡´É, --+»ó¼ö´Â ¾î¼ÀºíÇÒ¶§ ġȯ ; MOV DL,CHAR1 MOV AH,DISP INT 21H MOV DL,CHAR2 MOV AH,DISP INT 21H MOV AH,4CH INT 21H ; MAIN ENDS END EQU ÀÇ»ç¸í·É¿¡ ÀÇÇÑ »ó¼öÀÇ Á¤ÀÇ¿Í DB µî¿¡ ÀÇÇÑ º¯¼öÀÇ Á¤ÀÇ¿ÍÀÇ Â÷ÀÌ´Â : EQU ¿¡ ÀÇÇØ¼­ ¼±¾ðµÈ »ó¼ö - ¾î¼ÀºíÇÒ¶§ Á÷Á¢¼ýÀڷΠġȯ DB µî¿¡ ÀÇÇØ¼­ ¼±¾ðµÈ º¯¼ö - µ¥ÀÌÅͰ¡ ÀúÀåµÇ¾î ÀÖ´Â ¹øÁö·Î¼­ ġȯ ¿¹) MOV CHAR1,DL -----> ºÒ°¡´É '=' ¿¡ ÀÇÇØ¼­ Á¤ÀÇµÈ ¼ýÀÚ¸¦ ´Ù½Ã Á¤ÀÇ ÇÒ¶§´Â ,´Ù½Ã = ¸¦ »ç¿ëÇØ¼­ Á¤ÀÇ ÇÑ´Ù. ¾î¼Àºí·¯´Â ½ÃÀÛ¼ø¼­´ë·Î ¾î¼ÀºíÀ» ÇØ³ª°¡¸é¼­ °¡Àå ÃÖ±Ù ¿¡ Á¤ÀÇµÈ ¼ýÀÚ¸¦ ±× »ó¼ö ÀÇ ¼ýÀÚ·Î½á »ç¿ëÇÕ´Ï´Ù. µû¶ó¼­ ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù. CHAR1 = 41H MOV DL,CHAR1 CHAR1 = 56H MOV DL,CHAR1 °á°ú : = 0041 0000 B2 41 = 0056 0002 B2 56 µ¥ÀÌÅÍÀÇ Çü°ú PTR ¿¬»êÀÚ ---------------------------------------------------------------------- ---------- µ¥ÀÌÅÍÀÇ Çü(type): ¹ÙÀÌÆ®,¿öµå(2¹ÙÀÌÆ®),´õºí¿öµå(4¹ÙÀÌÆ®) µ¥ÀÌÅÍÀÇ ÇüÀº ·¹Áö½ºÅÍÀÇ Å©±â¿Í °°´Ù°í °£ÁֵȴÙ. ÁÖÀÇ ) ¿ÀÆÛ·£µå¿¡ ·¹Áö½ºÅ͸¦ Æ÷ÇÔÇÏÁö ¾ÊÀº °æ¿ì Å©±âÀÇ ÁöÁ¤ÀÌ ÇÊ¿ä ¿¹) ÇÑÂÊÀÌ °£Á¢ ¹øÁöÁöÁ¤ ,¶Ç ÇÑÂÊÀÌ ¼ýÀÚÀÇ °æ¿ìÀÔ´Ï´Ù. MOV [BX],12H ¿©±â¿¡¼­ BX ÀÇ °ªÀÌ 10H ¶ó°í ÇսôÙ.±×·±µ¥ ¿©±â¼­´Â 1) 10H ¹øÁö¿¡ ¹ÙÀÌÆ® µ¥ÀÌÅÍ 12H ¸¦ ÀúÁ¤ÇÒ°ÍÀÎÁö, 2) 10H ¹øÁö¿Í 11 ¹øÁö¿¡ ¿öµå µ¥ÀÌÅÍ 0012H ¸¦ ÀúÀåÇÏ´Â °ÍÀÎÁö ¾Ë¼ö°¡ ¾øÀ½´Ï´Ù. *.¹ÙÀÌÆ® µ¥ÀÌÅÍÀÇ °æ¿ì *.¿öµåµ¥ÀÌÅÍÀÇ °æ¿ì ¹øÁö | | | | ¹øÁö | | | | +--------+ +---------+ +---------+ +-------+ 10H | 55 | 12H | 12 | 10H | 55 | 0012H | 12 | +--------+------> +---------+ +---------+-------> +-------+ 11H | 66 | | 66 | 11H | 66 | | 00 | +--------+ +---------| +---------+ +-------+ | | | | | | | | 12H ¸¦ ¹ÙÀÌÆ® µ¥ÀÌÅͷνá ÀúÀåÇÑ °æ¿ì¿¡´Â 11H ¹øÁöÀÇ ³»¿ëÀº »ç¶óÁöÁö ¾Ê°í ³²Áö¸¸ 12H ¸¦ ¿öµå µ¥ÀÌÅͷνá ÀúÀåÇÑ °æ¿ì¿¡´Â 11H ÀÇ ³»¿ëÀº Áö¿öÁ®¹ö¸³´Ï´Ù. PTR ¿¬»çÀÚÀÇ »ç¿ë ---------------------------------------------------------------------- ---------- µ¥ÀÌÅÍÀÇ ÇüÀ» ¸íÈ®ÇÏ°Ô ÇϱâÀ§ÇÏ¿© MOV BYTE PTR [BX],12H ; PTR Àº POINTER ÀÇ ¾àÀÚ MOV WORD PTR [BX],12H ÀÌ¿Í °°ÀÌ Àü¼ÛµÇ´Â Ãø¿¡ BYTE ¶Ç´Â WORD ¸¦ ÁöÁ¤ÇÕ´Ï´Ù. À̶§ PTR À̶ó´Â ¿À¹ö¶óÀÌÆ® (overwrite) ¿¬»êÀÚ¿Í ÇÔ²² »ç¿ëÇϵµ·Ï µÇ¾î ÀÖÀ¾´Ï´Ù. º¯¼ö·Î ¼±¾ðµÇ¾î ÀÖ´Â ÇüÀÌ DB À̵ç DW À̵ç BYTE , WORD ¾çÂÊ´Ù »ç¿ëÇÒ¼ö°¡ ÀÖÀ¾ ´Ï´Ù. MOV ¸í·É°ú ¹øÁöÁöÁ¤¹æ½ÄÀÇ Á¤¸® --------------------------------- ADDRESING MODE: *.ÁïÄ¡ ¹æ½Ä(immediate mode) AAA EQU 1234H MOV AX,AAA ;¸Þ¸ð¸®ÀÇ ¹ÙÀÌÆ®¼ö°¡ ·¹Áö½ºÅ͹ÙÀÌÆ® À̳»ÀÏ°Í CS,DS,ES,SS ¹× IP,FL ·¹Áö½ºÅÍ¿¡ Á÷Á¢ ¼öÄ¡¸¦ Àü¼ÛÇÒ¼ö´Â ¾øÀ¾´Ï´Ù. *.Á÷Á¢ ¹æ½Ä(·¹Áö½ºÅÍ ¹øÁöÁöÁ¤ ¹æ½Ä) ·¹Áö½ºÅÍÀÇ ³»¿ëÀ» Á÷Á¢ Àü¼ÛÇÏ´Â ¹æ½Ä MOV DS,AX MOV CL,BH ; ¾çÂÊÀÇ ·¹Áö½ºÅÍÀÇ Å©±â°¡ ÀÏÄ¡ÇÏ´Â 8ºñÆ® ȤÀº 16ºñÆ®¿©¾ß ÇÑ´Ù. ¼¼±×¸ÕÆ® ·¹Áö½ºÅͰ£ÀÇ Àü¼ÛÀº ÇÒ¼ö°¡ ¾ø´Ù . IP ,FL ·¹Áö½ºÅÍ´Â »ç¿ëÇÒ¼ö°¡ ¾ø°í , CS ·¹Áö½ºÅÍ·ÎÀÇ °ªÀ» Àü¼ÛÀº ÇÒ¼ö ¾øÀ¾´Ï´Ù. *.°£Á¢ ¹æ½Ä(¸Þ¸ð¸® ¹øÁöÁöÁ¤ ¹æ½Ä) Àü¼ÛÇÏ´Â °ªÀÌ ÀúÀåµÇ¾î ÀÖ´Â ¹øÁö¸¦ ÁöÁ¤- ¹æ¹ý2°¡Áö 1) BX,BP,SI,DI ÀÇ 4 °¡Áö ·¹Áö½ºÅÍ¿Í ¼ýÀÚ¸¦ Á¶ÇÕ½ÃŲ´Ù. MOV AX,[BX+DI+4] 2) µ¥ÀÌÅ͸¦ º¯¼ö·Î¼­ Á¤ÀÇÇϰí ,±×º¯¼öÀ̸§À» »ç¿ëÇÏ¿© ÁöÁ¤ÇÏ´Â °æ¿ì MOV AX,AAA ; ¼ýÀÚ°¡ ÀÖ´Â ¹øÁö¿¡ ºÙ¿©Áø À̸§À»»ç¿ëÇÏ¿© °£Á¢ÁöÁ¤À» ÇÏ´Â°Í °£Á¢ ¹æ½Ä¿¡¼­ÀÇ ¹øÁöÁöÁ¤¹ý: +- BX -+ +- SI -+ +- 8ºñÆ® ¼ýÀÚ -+ | BP | + | DI | + | 16ºñÆ® ¼ýÀÚ | +- ¾øÀ½ -+ +- ¾øÀ½ -+ +- ¾ø À½ -+ À§¿¡¼­ Çã¿ëµÇÁö ¾Ê´Â Á¶ÇÕ¹æ¹ý 1) 8ºñÆ® ¼ýÀÚ¸¸À» »ç¿ëÇÏ´Â °æ¿ì( ¹øÁö´Â 16ºñÆ®°¡ ¾Æ´Ï¸é ÁöÁ¤ÇÒ¼ö ¾ø´Ù ) ±×·¯³ª MOV AX,[1234H] ¿Í °°Àº Á÷Á¢ ¹øÁöÁöÁ¤ ¹æ½ÄÀº »ç¿ëÇÒ¼ö ¾ø´Ù. Á÷Á¢ ¸Þ¸ð¸® ¹øÁö¸¦ ÁöÁ¤ÇÏ¿© °£Á¢ ¹æ½ÄÀ» »ç¿ëÇÏ°í ½ÍÀ»¶§´Â - MOV BX,1234H MOV AX,[BX] ; ¿Í °°ÀÌ ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. 2) [BP]¸¦ »ç¿ë ÇÒ¼ö ¾ø´Ù. [BP]¸¦ »ç¿ëÇÏ°í ½ÍÀ» ¶§¿¡´Â [BP + 0 ]¸¦ ÇÏ¸é µÈ´Ù °£Á¢ÁöÁ¤ÇÒ¶§ÀÇ ÁÖÀÇ »çÇ× : 1)¸í·ÉÀº ¸ðµÎ ÄÚµå ¼¼±×¸ÕÆ®¿¡ ÀÖ´Ù°í º»´Ù 2)µ¥ÀÌÅÍ´Â µ¥ÀÌÅÍ ¼¼±×¸ÕÆ® ³»¿¡ ÀÖ´Ù°í °¡Á¤µÈ´Ù. 3)BP¸¦ Æ÷ÇÔÇÏ´Â °£Á¢ÁöÁ¤¿¡¼­´Â µ¥ÀÌÅÍ´Â ½ºÅà ¼¼±×¸ÕÆ® ³»¿¡ ÀÖ´Ù°í °¡Á¤µÈ´Ù. 4)ÇÁ·Î±×·¥ÀÇ Ã³À½¿¡¼­ µ¥ÀÌÅÍ ¼¼±×¸ÕÆ®ÀÇ Ãʱ⼳Á¤ÀÌ ÇÊ¿ä MOV AX,DATA MOV DS,AX ; DATA ¸¦ µ¥ÀÌŸ ¼¼±×¸ÕÆ®¿¡ yÃá´Ù. MOV AX,CS MOV DS,AX ; µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ Äڵ弼±×¸ÕÆ®¿Í ¸ÂÃá´Ù. ±×·±µ¥ ¾î¶»°Ô ÇØ¼­¶óµµ µ¥ÀÌÅÍ ¼¼±×¸ÕÆ® ÀÌ¿ÜÀÇ ¼¼±×¸ÕÆ®·ÎºÎÅÍ µ¥ÀÌÅ͸¦ °¡Á®¿À°í ½Í´Ù´Â °æ¿ì ¼¼±×¸ÕÆ® ¿À¹ö¶óÀÌÆ® ÇÁ¸®ÇȽº(segment overwrite prefix)¸¦ ¼³Á¤,±× ¸í ·É¿¡ ÇÑÇØ¼­ ÁöÁ¤ÇÑ ¼¼±×¸ÕÆ®ÀÇ ÁöÁ¤ÇÑ ¹øÁö·Î ºÎÅÍ µ¥ÀÌÅ͸¦ °®°í ¿À°Å³ª,°¡Áö°í °¥ ¼ö ÀÖÀ¾´Ï´Ù. ¿¹) MOV AX,ES:[BX] MOV CS:[DI+2],CX ¼¼±×¸ÕÆ® ¿À¹ö¶óÀÌÆ® ÇÁ¸®ÇȽº´Â ´ÙÀ½ÀÇ 4°¡Áö ÀÔ´Ï´Ù. CS:,DS:,SS:,ES: MOV ¸í·ÉÀ¸·Î Àü¼Û°¡´ÉÇÑ Á¶ÇÕ ---------------------------------------------------------------------- ---------- MOV AX,CS MOV DS,AX µî °ú °°Àº ÇüÅ·ΠDS <---- CS ¸¦ ÇÑ ÀÌÀ¯´Â ,¼¼±×¸ÕÆ® ·¹Áö½ºÅͰ£ÀÇ Àü¼ÛÀÌ Çã¿ëµÇÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù. ¶ÇÇÑ ,¼¼±×¸ÕÆ® ·¹Áö½ºÅÍ¿¡´Â Á÷Á¢ ¼ýÀÚ¸¦ ´ëÀÔ ÇÏ´Â °ÍÀÌ Çã¿ëµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù. IP,FL ·¹Áö½ºÅÍ´Â MOV ¸í·É¿¡¼­ µ¥ÀÌÅÍ Àü¼ÛÀ» ÇÒ¼ö ¾ø´Â °ÍÀ¸·Î µÇ¾î ÀÖÀ¾´Ï´Ù. CS ·¹Áö½ºÅÍ¿¡ÀÇ µ¥ÀÌÅÍÀÇ Àü¼ÛÀº Çã¿ëµÇÁö ¾Ê½À´Ï´Ù. CS ·¹Áö½ºÅÍ´Â Àо±â¸¸ °¡´ÉÇÕ´Ï´Ù.