***** ¸ÅÅ©·Î ¾î¼Àºí¸®¸¦ ½ÃÀÛÇϸ鼭 ÇìÇì... ³ªµµ ÇÒ¼ö ÀÖÀ»±î?...Çѹø Çغ¸±ä ÇغÁ ¾ßÁö Çϸ鼭µµ....... ¾ÆÁ÷µµ ¸ðÀÚ¶ó´Â°Ô ¸¹Àºµ¥....... ¾î¼Àºí·¯¿¡ °ü½ÉÀÌ ¸¹Àº½ÅºÐ ¿¬¶ôÁֽÿɰí..... À߸øµÈÁ¡ÀÌ ÀÖÀ¸¸é ÁúÃ¥À» Áֽøé,,,,, ´Þ°©°Ô °³¼± ÇÏ°ÚÀ¾´Ï´Ù.... ÇìÇì.. µµ±úºñµµ ¾î¼Àºí·¯·Î Â¥¿©Á³°í,... ¾ÐÃà À¯Æ¿¸®Æ¼...¹ÙÀÌ·¯½º ÇÁ·Î ±×·¥ÀÌ... ¾î¼Àºí¸®·Î Â¥¿©Áø°ÍÀ»........ ºÎµð ÁÁÀº ¹è¿òÀÇ ÅÍ¿Í ¼­·Î °¡±î¿Í Áú¼ö ÀÖ´Â °Ô±â°¡ µÇ¾úÀ½.... ID ´Â gonngo ±è´ë¼ö ÀÔ´Ï´Ù. ¾î¼Àºí¸®¾î´Â ±âÃÊ ºÎÅÍ ÇÏ°ÚÀ¾´Ï´Ù......(8086,8088 ±âÁØ ÀÔ´Ï´Ù. <== Á¦°¡ 8080 À̶ó¼­.....) 1) 8086Àº 16ºñÆ® CPU¶ó°í Çϴµ¥,CPU³» ·¹Áö½ºÅÍ°¡ 16ºñÆ®ÀÌ°í,µ¥ÀÌŸ¹ö½º°¡ 16°³ À־ ÇѲ¨¹ø¿¡ 16ºñÆ®ÀÇ µ¥ÀÌŸ¸¦ ±³È¯ ÇÒ¼ö ÀÖÀ¾´Ï´Ù. 2) 8088ÀÇ ·¹Áö½ºÅÍ´Â 16ºñÆ®Àε¥, µ¥ÀÌŸ¹ö½º´Â 8°³ÀÔ´Ï´Ù. * 8086ÀÇ ·¹Áö½ºÅÍ ¹ü¿ë ·¹Áö½ºÅÍ : AX¿Í BX¿Í CX¿Í DX´Â ¿¬»ê¿¡ ÁÖ·Î »ç¿ë SP,BP,SI,DI´Â ¹øÁö°è»ê¿¡ »ç¿ë ¼¼±×¸ÕÆ® ·¹Áö½ºÅÍ : CS,DS,ES,SS ÀνºÆ®¶ô¼Ç Æ÷ÀÎÆ® : IP Ç÷¡±× ·¹Áö½ºÅÍ : FL #·¹Áö½ºÅ͵éÀÇ ±â´É 1). AX (¾îÄð¹Ä·¹ÀÌÅÍ ·¹Áö½ºÅÍ) Àü¼Û ¹× ¿¬»ê¿¡ »ç¿ë 2). BX (º£À̽º ·¹Áö½ºÅÍ) Àü¼Û ¹× ¿¬»ê¿¡ »ç¿ë , ¹øÁöÀÇ °£Á¢ÁöÁ¤ 3). CX (Ä«¿îÆ® ·¹Áö½ºÅÍ) Àü¼Û ¹× ¿¬»ê¿¡ »ç¿ë , ·çÇÁ,½ºÆ®¸µ ¸í·É¿¡¼­ ¹Ýº¹ ȸ¼öÀÇ ÀÚµ¿ Ä«¿îÆ® 4). DX (µ¥ÀÌŸ ·¹Áö½ºÅÍ) Àü¼Û ¹× ¿¬»ê¿¡ »ç¿ë, ¿¬»ê ¸í·É¿¡¼­ AX·¹Áö½ºÅÍ¿Í ÇÔ²²µµ ¾²ÀÓ 5). SP (½ºÅà Æ÷ÀÎÅÍ) ½ºÅÿ¡ ÃÖ±Ù¿¡ µ¥ÀÌŸ°¡ ÀúÀåµÈ ¹øÁö¸¦ ³ªÅ¸³¿ 6). BP (º£À̽º Æ÷ÀÎÅÍ) µ¥ÀÌÅÍ ¹øÁöÀÇ °£Á¢ ÁöÁ¤½Ã »ç¿ë 7). SI (¼Ò½º À妽º) ¹øÁöÀÇ °£Á¢ÁöÁ¤ ¿¡ »ç¿ë, Àü¼Û ¹× ¿¬»ê¿¡ »ç¿ë 8). DI (µ¥½ºÆ¼³×ÀÌ¼Ç À妽º) ¹øÁöÀÇ °£Á¢ÁöÁ¤,Àü¼Û ¹× ¿¬»ê¿¡ »ç¿ë 9). IP (ÀνºÆ®¶ô¼Ç Æ÷ÀÎÅÍ) ´ÙÀ½ ½ÇÇàÇÒ ¸í·ÉÀÌ ÀúÀå µÇ¾î ÀÖ´Â ¹øÁö 10). FL (Ç÷¹±× ·¹Áö½ºÅÍ) CPUÀÇ µ¿ÀÛ »óÅÂ, ¿¬»ê »óÅÂµî ¿©·¯ °¡Áö¸¦ Ç¥½Ã 11). CS (ÄÚµå ¼¼±×¸ÕÆ®) CPU°¡ ½ÇÇàÇؾßÇÒ ¸í·ÉÀÌ ÀúÀå µÇ¾îÀÖ´Â ¼¼±×¸ÕÆ® 12). DS (µ¥ÀÌÅÍ ¼¼±×¸ÕÆ®) µ¥ÀÌÅÍ°¡ ÀúÀå µÇ¾î ÀÖ´Â ¼¼±×¸ÕÆ® 13). ES (¿¢½ºÆ®¶ó ¼¼±×¸ÕÆ®) º¸Åë DS¿¡¼­ µ¥ÀÌŸ°¡ ³ÑÄ¥¶§ À̼¼±×¸ÕÆ®ÀÇ ¹øÁö¸¦ »ç¿ë 14). SS (½ºÅà ¼¼±×¸ÕÆ®) ½ºÅÃÀÇ µ¿ÀÛÀ» ¼öÇàÇÏ´Â ¼¼±×¸ÕÆ® **** ÀÌ»óÀ¸·Î ·¹Áö½ºÅÍ¿¡´ëÇÑ°ÍÀ» ¾Ë¾Æ º¸¾Ò´Ù. ÇÁ·Î ±×·¡¹Ö¿¡ ¾Õ¼­¼­ °£´ÜÈ÷ ¼³¸íÇÑ´Ù°í »©¸ÔÀº °Íµµ ¸¹À» °Í ¯˜Àºµ¥.. Â÷Â÷ ÀÚ¼¼ÇÑ ¼³¸íÀ» ÇÒ¼ö ÀÖÀ»°Í °°½À´Ï´Ù. $ ÄÄÆÄÀÏ·¯´Â ¸¶ÀÌÅ©·Î ¼ÒÇÁÆ®ÀÇ MASM 5.0 Á¤µµ ¹öÁ¯ÀÌ¸é ¼öÇàÀÌ °¡´ÉÇÏ°í.. ¸µÄ¿´Â ¾Æ¹«°Å³ª.. Åͺ¸ ¸µÄ¿µµ ÁÁ°í, DOS¿¡ ÀÖ´Â ¸µÄ¿µµ ÁÁ±¸¿ä TASMµµ °¡´É ÇÒ°ÍÀ¸·Î ¾Ð´Ï´Ù. DEBUGµµ ÀÖ¾î¾ß ÇÕ´Ï´Ù...... ±×¸®°í EXE2BIN.EXE ÄÄÆÄÀÏ °úÁ¤Àº MASM [FILENAME.ASM]; LINK [FILENAME.OBJ]; COMÇü È­ÀÏÀÇ °æ¿ì .... À§ÀÇ °úÁ¤À» ³¡³½ÈÄ EXE2BIN [FILENAME.EXE] [FILENAME.COM] TASM ÀÇ °æ¿ì TASM [FILENAEM.ASM]; TLINK [FILENAME.OBJ]; COMÀÏ °æ¿ì .... EXE2BIN [FILENAME.EXE] [FILENAME.COM] ***** PROGRAM ÀÇ ½ÃÀÛ ************* 1. MOV ¸í·ÉÀÇ »ç¿ë¹ý MOV Àü¼Û ¸í·ÉÀº ·¹Áö½ºÅÍ¿¡¼­ ¸Þ¸ð¸®·Î ¸Þ¸ð¸® ¿¡¼­ ·¹Áö ½ºÅÍ·Î ·¹Áö½ºÅÍ ³¢¸® ¸Þ¸ð¸® ³¢¸® ¸Þ¸ð¸®¿¡ ÁïÄ¡ ·¹Áö ½ºÅÍ¿¡ ÁïÄ¡ ¿¹) MOV AX,[SI] <= SI ¹øÁöÀÇ °ªÀ» AX·¹Áö½ºÅÍ·Î Àü¼Û MOV [BX],AX <= AX ÀÇ °ªÀ» ¸Þ¸ð¸® BX¹øÁö·Î Àü¼Û MOV AX,BX <= BXÀÇ °ªÀ» AX·Î Àü¼Û MOV BX,1234 <= BX·¹Áö½ºÅÍ¿¡ 1234¸¦ Àü¼Û * MOV Àü¼Û ¸í·ÉÀ» ÀÌ¿ëÇÑ °£´Ü ÇÑ ÇÁ·Î±×·¡¹ÖÀÇ ¿¹ ===================================================================== CODE SEGMENT ;¼¼±× ¸ÕÆ®ÀÇ À̸§À» CODE·Î ÇÏ°í ASSUME CS:CODE ;MASM¿¡ ÀÇ»ç¸í·ÉÀ¸·Î CS¿Í DS¸¦ ¾Ë ;·Á ÁØ´Ù. MOV AH,02 ;AX·¹Áö½ºÅÍ »óÀ§ 8ºñÆ®¿¡ ÁïÄ¡ 2¸¦ ;Àü¼Û MOV DL,41H ;DX·¹Áö½ºÅÍ ÇÏÀ§ 8ºñÆ®¿¡ ÁïÄ¡·Î ;16Áø¼ö 41H ¸¦ Àü¼Û INT 21H ;ÀÎÅÍ·¾Æ®: µµ½ºÆã¼ÇÄÝ 21H¹øÀ» È£Ãâ MOV AH,4CH ;DOS·Î ³ª°¡±â À§ÇÑ 16Áø¼ö 4CH¸¦ AH ;¿¡ INT 21H ;µµ½ºÆã¼ÇÄÝ 21H¸¦ È£ÃâÇÔÀ¸·Î¼­ µµ ;½º·Î CODE ENDS ;ÄÚµå ¼¼±×¸ÕÆ®ÀÇ ³¡ÀÓÀ» ¾Ë¸°´Ù. END ;ÇÁ·Î±×·¥ÀÇ ³¡ÀÓÀ» ¾Ë¸°´Ù. ======================================================================== *°£´ÜÇÑ ÇÁ·Î±×·¥ÀÇ Çϳª¿´´Âµ¥ Ȥ, ¿©·¯ºÐÀ» ´õ¿í ¹Ì±ÃÀ¸·Î ºü¶ß¸®Áö³ª ¾Ê¾Ò´ÂÁö.... À§ÀÇ ÇÁ·Î±×·¥À» °¡·É SAMPLE.ASM·Î ÀúÀåÇÑÈÄ MASM SAMPLE; LINK SAMPLE; ÇÑÈÄ A>SAMPLE A A> ÀÌ·± È­¸éÀÌ ¶ã°ÍÀÔ´Ï´Ù. °£´ÜÈ÷ È­¸é¿¡ ´ë¹®ÀÚ A¸¦ Ãâ·Â ½ÃÅ°´Â ÇÁ·Î±×·¥Àε¥ ¹®ÀåÀÌ Å¸ ¾ð¾î¿¡ ºñÇؼ­ ±é´Ï´Ù. ¾Æ½Ã´Ù½ÃÇÇ ¾î¼Àºí·¯´Â ±â°è¾î À̱⠶§¹®¿¡ ÄÚµåÀÇ ÃÖÀûÈ­ ¸¦ À§ÇØ, Á÷Á¢ ±â°è¸¦ Á¦¾î ÇÏ´Â ¸í·ÉÀ̱⠶§¹®¿¡..... ½Ã½ºÅÛÀ» Á¤Áö ½ÃÅ°´Â °æ¿ì°¡ ¸¹°í, ¾î¶²°æ¿ì¿¡´Â ½Ã½ºÅÛÀ» ¸Á°¡ ¶ß¸®´Â °æ ¿ìµµ , ¹«ÇÑ ·çÇÁ·Î¿¡ÀÇ Á¡ÇÁµîÀÌ ÀÖÀ¸¹Ç·Î,½Ã½ºÅÛÀ» ¸®¼Â½ÃÄÑ¾ß ÇÏ´Â °æ¿ì °¡ ¸¹½À´Ï´Ù. ±×·¸Áö¸¸ ±â°è¾îÀÇ Á÷Á¢ÀûÀÎ Á¦¾î À̱⠶§¹®¿¡, ÄÚµåÀÇ ÃÖÀûÈ­, È­ÀÏÀÇ Å© ±â°¡ ÀÛ°í, ³»ºÎ ±â±âÀÇ ÀÌÇص ¸¹Àºµµ¿òÀÌ µÉ°ÍÀÔ´Ï´Ù. ´ÙÀ½Àº COMÈ­ÀÏ·ÎÀÇ º¯È¯ ½ÃÅ°´Â ¹æ¹ýÀε¥, ±× Å©±â°¡ ÀÛÀ½¿¡ ³î¶ö°ÍÀ¸·Î ¹ÏÀ¸¸ç..... A>DIR SAMPLE ASM 107 SAMPLE OBJ 64 SAMPLE EXE 522 A> SAMPLE.EXE°¡ 522BYTE ³ª µÇ´Âµ¥ ½ÇÁú ÀûÀÎ ÄÚµå´Â 10BYTEÁ¤µµ ÀÌ´Ù. ÀÌ´Â ÄÄ È­ÀÏ·Î º¯È¯À» ÇÏÁö¾ÊÀº °ü°è·Î PSP ¿µ¿ªÀÌ »ý°Ü ³ª´Âµ¥.... ´ÙÀ½°ú °°ÀÌ Çغ¸ÀÚ. A>EXE2BIN SAMPLE.EXE SAMPLE.COM <=¹°·Ð Çöµå¶óÀ̺꿡 EXE2BIN.EXE È­ÀÏ <=ÀÌ ÀÖ¾î¾ßÇÔ A> ÀÌ·¸°Ô ÇÑÈÄ µð·ºÅ丮¸¦ º¸¸é SAMPLE.COMÀ̶õ È­ÀÏÀÇ ±æÀÌ°¡ 10¹ÙÀÌÆ® Á¤µµ ÀÓÀ» ¾Ë¼ö ÀÖÀ»°ÍÀÔ´Ï´Ù. ## ÇÁ·Î±×·¥¿¡ °üÇÑ ¼³¸í AX·¹Áö½ºÅÍ´Â ´Ù½Ã AH¿Í AL·Î 8ºñÆ®¾¿ ³ª´©¾î¼­ Àü¼Û,¿¬»ê µîÀ» ÇÒ¼ö ÀÖ´Ù. BX·¹Áö ½ºÅ͵µ BH,BL CX·¹Áö½ºÅ͵µ CH,CL DX·¹Áö½ºÅ͵µ DH,DLµîÀ¸·Î ³ª´­¼ö ÀÖ´Ù. ³ª¸ÓÁö ·¹Áö½ºÅÍ´Â 16ºñÆ®·Î ±×³É ½á¾ßÇÕ´Ï´Ù. INT 21H ´Â µµ½º Æã¼ÇÄÝÀ» È£ÃâÇÏ´Â ÀÎÅÍ·¾Æ®Àε¥..º¸Åë AXÀÇ »óÀ§ AH ¿¡ ±× ±â´É ¹øÈ£¸¦ Á־ È£ÃâÀ» ÇÕ´Ï´Ù. ¿¹) 1 = Å°º¸µå·ÎºÎÅÍ ÀÔ·Â(1¹®ÀÚ) ¿¡ÄÚÀÖÀ½. 2 = DL¹ÙÀÌÆ®¿¡ ÀÖ´Â ¼öÄ¡¸¦ ASCII CODE·Î Ãâ·Â(1¹®ÀÚ) 3 = º¸Á¶ ÀÔ·ÂÀåÄ¡·ÎºÎÅÍ Çѹ®ÀÚ ÀÔ·Â 4 = º¸Á¶ Ãâ·ÂÀåÄ¡·Î DL¿¡ ÀÖ´Â ¹®ÀÚ Ãâ·Â 5 = ÇÁ¸°ÅÍ·Î DL¿¡ ÀÖ´Â ¹®ÀÚ Ãâ·Â 6 = Å°º¸µå·Î ºÎÅÍ ÀÔ·Â(1¹®ÀÚ).. ¿¡ÄÚ ¾øÀ½ 7 = ÄַܼΠÀÔ·Â ¿¡ÄÚ¾øÀ½ CTRL+C(ÄÜÆ®·Ñ ¾¾)¸¦ ¹Þ¾ÆµéÀÌÁö ¾ÊÀ½ 8 = Å°º¸µå·Î ÀÔ·Â ¿¡ÄÚ ¾øÀ½ 9 = ¹®ÀÚ¿­À» ½ºÅ©¸°À¸·Î Ãâ·Â ¹®ÀÚ¿­ ³¡¿¡´Â '$'À» ÇÑ´Ù. 0AH = ¹öÆÛ¿¡ ¹®ÀÚ¿­ ÀÔ·Â ÀÔ·ÂÈÄ¿¡´Â ??? À» ÀÔ·Â Çϱâ Àü¿¡´Â ¹®ÀÚ ¼ö Á¤ÀÌ °¡´É ¸¹À¸¸é Çò°¥¸±°Í °°°í ÇìÇì.. Çϳª¾¿ ÇÏÁö¿ä... À§ ÇÁ·Î±×·¥À» ÃÄ º¸½Ã°í MOV AH,02 ÇÑ°ÍÀ» AH,01 AH,06 AH,08 µîÀ» Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù.... ±×¸®°í MASM¿¡¼­ ; ´Â ÁÖ¼®ÀÔ´Ï´Ù. ÄÄÆÄÀϽà ; ÀÌÈÄÀÇ °ÍÀº ÄÄÆÄÀÏ ÇÏÁö ¾Ê½À´Ï´Ù. ¿¡µðÅÍ´Â ¿©·¯ºÐ ÁÁ¾Æ ÇϽô°ɷÎ.... ´ÙÀ½ ºÎÅÍ´Â ÇÁ·Î±×·¡¹Ö°ú ÇÁ·Î±×·¥¿¡ °üÇÑ ¼³¸íÀ¸·Î ½ÃÀÛ ÇÏ°ÚÀ¾´Ï´Ù. °ü½ÉÀÌ ÀÖÀ¸½Ã°Å³ª Àǹ®³ª´Â »çÇ×ÀÌ ÀÖÀ¸¸é, ID GONNGO·Î ¿¬¶ôÀ» ÁÖ ½Ã¸é, ÇìÇì... ¾Æ´Âµ¥·Î ¼º½É ¼ºÀÇ ²¯...... #### ¸ÅÅ©·Î ¾î¼À ºí·¯ 1ȸ °­Á ³¡ ### ¸ÅÅ©·Î ¾î¼Àºí·¯ ¿¡°üÇÑ ÀÛÀº À̾߱â #2 ID GONNGO ±è´ë¼ö ¸ÅÅ©·Î ¾î¼Àºí·¯ °­Á µÎ¹ø°ÀÔ´Ï´Ù.... ¿¹Á¦ ÇÁ·Î±×·¥À» º¸¸é¼­, ÇÁ·Î±×·¥¿¡ °üÇÑ ¼³¸íÀ» ÇÒ±î ÇÕ´Ï´Ù. ***** ÇÁ·Î±×·¥ ================================================================== MAIN SEGMENT ASSUME CS:MAIN INPUT: ;':'Àº ·¹À̺íÀ» ÀǹÌÇÕ´Ï´Ù. MOV AH,01 ;±â´É¹øÈ£ 1À» AH¿¡ ³Ö°í INT 21H ;µµ½ºÆã¼ÇÀ» ºÎ¸¨´Ï´Ù. CMP AL,'Q' ;´­·¯Áø Å°°ªÀÌ 'Q'ÀÎÁö ºñ±³ÇÑÈÄ JE EXIT ;'Q'À̸é, EXIT¶ó´Â ·¹À̺í·Î Á¡ÇÁ JMP INPUT ;±×·¸Áö ¾ÊÀ¸¸é INPUT¶õ ·¹À̺í·Î EXIT: MOV AH,4CH ;ÇÁ·Î±×·¥ Á¾·á INT 21H ;µµ½º Æã¼ÇÄÝ MAIN ENDS END ================================================================= ÀÌ ÇÁ·Î±×·¥À» °¡·É SAMPLE2.ASM¶ó°í ÀúÀåÇÑÈÄ ÄÄÆÄÀÏÇÑÈÄ ¸µÅ©ÇÏ°í ½ÇÇàÇϸé, ´ÙÀ½°ú °°´Ù. A>SAMPLE2 AHCCCQ (¿©±â¼­ AHCCCQ´Â Å°º¸µå¸¦ ´­·Á¾ßÇÔ) A> ********* ÇÁ·Î±×·¥ ¼³¸í ************* 1) ¼¼±×¸ÕÆ®ÀÇ À̸§ Àú¹ø¿¡´Â ¼¼±×¸ÕÆ®ÀÇ ¸íÀ» CODE·Î ÇÏ¿´´Âµ¥, À̹ø¿¡´Â MAINÀ̶ó´Â À̸§À»»ç¿ë ÇÏ¿´À¾´Ï´Ù. ÀÌ ¼¼±×¸ÕÆ®ÀÇ ¸íÀº ÀÚ±âÀÇ ¸¶À½¿¡ µå´Â ±ÛÀÚ¸¦ ÀÓÀÇ´ë·Î »ç¿ëÇÏ ½Ç¼ö ÀÖÀ¸¸ç, ÇÁ·Î±×·¡¸ÓÁß¿¡´Â C¾ð¾î¿¡¼­ ºÒ·¯´Ù ¾²±â À§ÇØ _MAIN ½ÄÀ¸·Î »ç ¿ëÅ°µµ ÇÕ´Ï´Ù. ÀÌ ¼¼±×¸ÕÆ®¸í°ú ASSUMEÀÇ»ç ¸í·É¾î ´ÙÀ½¿¡ ¿À´Â ÄÚµå ¼¼±×¸ÕÆ®ÀÇ ¸íÀº °°¾Æ ¾ßÇÕ´Ï´Ù. 2) ·¹ÀÌºí ¿©±â¿¡ ·¹À̺íÀº µµ½ºÀÇ ¹èÄ¡È­ÀÏ ÀÛ¼º½Ã ·¹À̺í :AA .. ... GOTO AA Çü½Ä°ú ºñ¼ýÇѵ¥... ÄÄÆÄÀϽà ·¹À̺íÀº ÄÄÆÄÀÏ ÇÏÁö¾ÊÀ¸¸ç, ÀÇ»ç ¸í·ÉÀ¸·Î¼­ ¸Þ¸ð¸®ÀÇ ¹øÁö¸¦ Áö Á¤ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.. 3) JUMP ¸í·É¾î JMP ¸í·ÉÀº ¹«Á¶°Ç ºÐ±â¸¦ ÇÏ´Â ¸í·ÉÀÔ´Ï´Ù. JMP AA ¶ó°í ÇÏ¸é ¹«Á¶°Ç AA¶ó´Â ·¹À̺í·Î Á¡ÇÁ¸¦ Çϴµ¥ ¸¸ÀÏ AA¶ó´Â ·¹À̺íÀÌ ¾øÀ¸¸é, ¿¡·¯ ¸Þ½ÃÁö¸¦ ¶ç¿ó´Ï´Ù. JE(JZ) ´Â »óÀ§¿¡ ºñ±³ ¿ÀÆÛ·£µåÀÇ °ªÀÌ 0À϶§ Á¡ÇÁ¸¦ Çϴµ¥. CMP AL,'Q' JE EXIT ¿©±â¿¡¼­ "CMP AL,'Q'" ´Â COMPARE OP1°ú OP2Çü½ÄÀÔ´Ï´Ù. ¿©±â¿¡¼­ OP1ÀÇ °ªÀ» OP2ÀÇ °ªÀ¸·Î »©´Âµ¥, ±× °ªÀÌ 0À϶§ EXIT¶õ ·¹ÀÌºí ·Î Á¡ÇÁ¸¦ ÇÕ´Ï´Ù. Áï "MOV AH,01" ·Î µµ½ºÆã¼ÇÄÝ 1¹øÀÎ Å°º¸µå·Î ÀÔ·ÂÀ» ºÎ¸¥ÈÄ ÀÎ ÅÍ·¾Æ® "INT 21H"¸¦ È£ÃâÇϸé, Å°º¸µå·Î ºÎÅÍ ÀÔ·ÂÀ» ±â´Ù¸®´Âµ¥, ¸¸ ¾à Å°º¸µå¿¡¼­ A¸¦ ´­·¶´Ù¸é, AXÀÇ °ªÀº ´ÙÀ½°ú °°½À´Ï´Ù. 0141 ===== AH = 01 , AL = 41 ´ÙÀ½ ¸í·ÉÀÎ "CMP AL,'Q'"¿¡¼­´Â QÀÇ ¾Æ½ºÅ° ÄÚµå °ªÀÌ 51H À̹ǷÎ, 41H - 51H ´Â 0ÀÌ µÇÁö¾ÊÀ¸¹Ç·Î "JE EXIT"¸¦ ¼öÇàÇÏÁö ¾Ê°í, "JMP INPU T" ·Î ¶³¾îÁö°Ô µË´Ï´Ù. JMP ¸í·É¾î´Â ¹«Á¶°Ç ºÐ±â ¸í·ÉÀ̹ǷΠ¾î¶² ¾ÇÁ¶ °Ç ÇÏ¿¡¼­µç INPUT¶ó´Â ·¹À̺í·Î °¡°Ô µË´Ï´Ù. "CMP AL,'Q'"¸¦ "CMP AL,51H" ȤÀº "CMP AL,81" ÀÌ·¸°Ô ´ëÀÔÇÏ ¿©µµ ¸¶Âù°¡ÁöÀÇ °á°ú°¡ ³ª¿É´Ï´Ù. === Á¶°Ç ºÐ±â ¸í·É¾î ======= JMP´Â ¹«Á¶°Ç ºÐ±â ¸í·É¾î ÀÔ´Ï´Ù. ÀÌ¿¡ ¹ÝÇØ Á¶°ÇºÐ±â ¸í·ÉÀÌ Àִµ¥, ÀÌ ¸¦ ¾Ë¾Æ º¸°Ú½À´Ï´Ù. ºÐ±â ¸í·ÉÀÇ Çü½ÄÀº ºÐ±â¸í·É ·¹ÀÌºí ½ÄÀÔ´Ï´Ù. ¿¹) JE A1 <= 0À̸é, A1À̶õ ·¹À̺í·Î ºÐ±âÇ϶ó. *1 ºÐ±â¸í·É¾î ÀÇ¹Ì ===================================================================== JA(JNBE) º¸´Ù Å©¸é ºÐ±âÇÑ´Ù. JAE(JNB) ÀÌ»óÀÌ¸é ºÐ±â JB(JNAE) ¹Ì¸¸ÀÌ¸é ºÐ±â JBE(JNA) ÀÌÇÏÀÌ¸é ºÐ±â JCXZ CX·¹Áö½ºÅÍ°¡ 0ÀÌ¸é ºÐ±â JE(JZ) EQUAL(=0) ÀÌ¸é ºÐ±â JG(JNLE) ºÎÈ£°¡ ÀÖ°í º¸´ÙÅ©¸é ºÐ±â JGE(JNL) ºÎÈ£°¡ ÀÖ°í ÀÌ»óÀÌ¸é ºÐ±â JL(JNGE) ºÎÈ£°¡ ÀÖ°í º¸´ÙÀÛÀ¸¸é ºÐ±â JLE(JLE) ºÎÈ£°¡ ÀÖ°í, ÀÌÇÏ¸é ºÐ±â JNE(JNZ) °°Áö ¾ÊÀ¸¸é(0ÀÌ ¾Æ´Ï¸é), ºÐ±â JNO ¿À¹öÇ÷οì Ç÷¡±×°¡ 0ÀÌ¸é ºÐ±â JNP(JPO) Æи®Æ¼ Ç÷¡±×°¡ 0ÀÌ¸é ºÐ±â JNS »çÀÎ(SIGN) Ç÷¡±×°¡ 0ÀÌ¸é ºÐ±â JO ¿À¹öÇ÷οì Ç÷¡±×°¡ 1ÀÌ¸é ºÐ±â JP(JPE) Æи®Æ¼ Ç÷¡±×°¡ 1ÀÌ¸é ºÐ±â JS »çÀÎ Ç÷¡±×°¡ 1ÀÌ¸é ºÐ±â ===================================================================== ÀÌ»óÀ¸·Î ºÐ±â¸í·É¿¡ ´ëÇØ ¾Ë¾Æ º¸¾ÒÀ¾´Ï´Ù. ¾Æ½Ã´Ù½ÃÇÇ ¶æÀÌ ±× ¸í·É¾î ³»¿¡ ÀÖ½À´Ï´Ù. JA = JUMP ABOVE JAE = JUMP ABOVE EQUAL ºÐ±â ¸í·ÉÀº ¾î¶² °÷¿¡¼­ ¾î¶»°Ô ¾²ÀÌ´À³Ä¿¡ µû¶ó Ç÷¡±×ÀÇ »óŸ¦ º¸¾Æ¼­ ºÐ±âÇϴ°æ¿ì ¼öÄ¡¿¡ µû¶ó ºÐ±âÇÏ´Â °æ¿ìµî ¿©·¯°¡Áö·Î ³ª´µ¾îÁö¹Ç·Î, Àû ÀýÇÑ °÷¿¡¼­ ÀûÀýÇÑ ºÐ±â ¸í·ÉÀ» »ç¿ëÇؾßÇÕ´Ï´Ù.. *2 LOOP ¸í·É¾î LOOP ¸í·ÉÀº CX·¹Áö½ºÅÍ¿¡ ¼¼ÆÃµÈ °ª¸¸Å­ ºÐ±âÇÕ´Ï´Ù. ¿¹Á¦ ÇÁ·Î±×·¥¿¡¼­ ¼³¸íÇÏ°ÚÀ¾´Ï´Ù. ************************************************************************ ´ÙÀ½Àº ºÐ±âÀÇ ¿¹¿Í ¼³¸íÀ» ÇÒ±îÇÕ´Ï´Ù. ** ¿¹Á¦ ÇÁ·Î±×·¥** MAIN SEGMENT ASSUME CS:CODE INPUT: MOV AH,01 INT 21H ;Å°º¸µå·Î ÇѱÛÀÚ¸¦ ÀÔ·Â ¹ÞÀºÈÄ CMP AL,'Q' ;QÀÎÁö¸¦ ºñ±³ JE EXIT ;QÀÌ¸é µµ½º·Î MOV DL,AL ;±×·¸Áö ¾ÊÀ¸¸é, ALÀÇ °ªÀ» DL·Î Àü¼Û MOV AH,02 INT 21H ;±â´É¹øÈ£ 2¹ø µµ½ºÆã¼ÇÀ» ºÎ¸§ JMP INPUT ;INPUT ·¹À̺í·Î ¹«Á¶°Ç ºÐ±â EXIT: ;µµ½º·Î ºüÁ®³ª°¡±â À§ÇÑ ·¹À̺í MOV AH,4CH INT 21H MAIN ENDS END -------------------------------------------------------- ÄÄÆÄÀÏÇÑÈÄ ½ÇÇà ÇÏ¸é ´ÙÀ½°ú °°´Ù.(È­ÀÏ À̸§À» SAMPLE3.ASMÀ¸·Î Çß´ÙÇÏ°í) A>SAMPLE3 AAssCCkkLLmmqqQ (¿©±â¼­ ´­·¯ÁøÅ°´Â AsCkLmqQÀÓ) A> **** ÇÁ·Î±×·¥ ¼³¸í ÀÌ ÇÁ·Î±×·¥Àº À§¿¡ ÇÁ·Î±×·¥°ú´Â Á» ´Ù¸£³ª, °°Àº ·çƾÀÓ Æã¼ÇÄÝ 1¹øÀÌ ¿¡ÄÚ°¡ ÀÖ´Â ÀÔ·ÂÀ̱⠶§¹®¿¡, Å°¸¦ ´©¸¦¶§ Å°°ªÀ» Ç¥½ÃÇÏ°í, ±× Å°°ªÀÌ AL¿¡ Àִµ¥, ±×°ÍÀ» DL·Î Àü¼ÛÇÑÈÄ, ´Ù½Ã Æã¼ÇÄÝ 2¹øÀ» È£ÃâÇÏ°í ÀÖÀ¾´Ï´Ù. ±×·¯¹Ç·Î DL¿¡ ÀÖ´Â °ªÀ» ´Ù½Ã µð½ºÇ÷¹ÀÌ Çϴ°̴ϴÙ. ¸¸¾à "MOV AH,01"À» "MOV AH,08"·Î ¹Ù²Ù¸é, ¿¡ÄÚ¾øÀÌ Å°º¸µå ÀÔ·ÂÀ̹ǷΠA>SAMPLE AMKLQ (´­·¯Áø Å°°ªÀº AMKLQ) A> ¿Í °°ÀÌ µË´Ï´Ù. ** ¿¹Á¦ ÇÁ·Î±×·¥ 2*** MAIN SEGMENT ASSUME CS:CODE MOV CX,10 ;CX·¹Áö½ºÅÍ¿¡ 10À» Àü¼ÛÇÏ°í DISP: MOV DL,229 ;DL¿¡ 229¸¦ Àü¼Û MOV AH,02 ;±â´É¹øÈ£ 2¹øÀ» INT 21H ;È£Ãâ LOOP DISP ;CX°¡ 0ÀÌ ¾Æ´Ï¸é DISP·Î ºÐ±â MOV AH,4CH INT 21H ;µµ½º·Î.... MAIN ENDS END ----------------------------------------------------- ÄÄÆÄÀÏÈÄ ½ÇÇà ÇÏ¸é ´ÙÀ½°ú °°´Ù.(SAMPLE4.ASM) A>SAMPLE4 ??????????????? (´­·¯Áø Å°°ª ¾øÀ½) <= ¾Æ½ºÅ° 219¹øÀÇ °ªÀ» Ãâ·Â A> À§¿Í °°ÀÌ ¶ß¹®¶ß¹® ÇÏÁö´Â ¾Ê½À´Ï´Ù. ±×¸®°í ???¸¦ 10¹ø µð½ºÇ÷¹ÀÌÇÔ **** ÇÁ·Î±×·¥ ¼³¸í À§ ÇÁ·Î±×·¥Àº CX·¹Áö½ºÅÍ¿¡ ¹Ýº¹È¸¼ö¸¦ ÁöÁ¤ÇÑÈÄ ºÐ±â ½ÃÅ°´Â °ÍÀÔ´Ï´Ù. ÇÁ·Î±×·¡¹ÖµµÁßÀ̳ª ½ÇÇà ÈÄ¿¡µµ CXÀÇ °ªÀ» º¯È¯Çϸé, ±× º¯È¯ÇÑ °ª¸¸Å­ µð½ºÇ÷¹ÀÌ µË´Ï´Ù. LOOP ¸í·ÉÀº CX·¹Áö½ºÅ͸¦ °¨¼Ò ½ÃÅ°¸é¼­, ±× °ªÀÌ 0Àΰ¡¸¦ ¹°¾î 0ÀÌ¸é ´ÙÀ½ ¸í·ÉÀ¸·Î ±×·¸Áö ¾ÊÀ¸¸é, µÚÀÇ ·¹À̺í·Î ºÐ±â ÇÕ´Ï´Ù. #### ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#2 ³¡ &&& ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº ¾Ö±â .. µÎ¹ø°¸¦ ¸¶Ä¡¸é¼­.... ¸ðµÎ Å°ÆÝÄ¡ Çغ¸¾Æ¾ßÇϴµ¥.... ³ª°¡¼­ ÆÝÄ¡ÇÏ°í, ÄÄÆÄÀÏ ½ÃÄѺ¸´Âµ¥¿¡ °£»õ°¡ ½ÉÇؼ­.. ÇìÇìÇì... °æÇèÀ¸·Î ÀÌ·± °ªÀÌ ³ª¿Ã °Å´ÙÇÏ°í, ½ÇÇà ¸í·ÉÀ» ½Ç¾úÀ¸´Ï ¾çÁö¹Ù¶÷ À߸øµÈÁ¡À̳ª. ½ÇÇàÀÌ ¾ÈµÇ´ÂÁ¡ÀÌ ÀÖÀ¸½Ã¸é, ¿¬¶ô Áֽÿɰí, ...... Áö±Ý °£´ÜÇÑ ¿¹Á¦ÇÁ·Î±×·¥Á¤µµ¸¦ ½±°Ô ¼³¸íÇÏ·Á°í, ¾Ö¾²´Â ÀÌÀ¯´Â Àúµµ Çпø¿¡¼­ ¾î¼Àºí·¯¸¦ °øºÎ ÇßÁö¸¸, Áßµµ Æ÷±âÇϽô ºÐµéÀÌ ¿ö³« ¸¹¾Æ¼­ ±×·¡¼­ Á¶±ÝÀÌ¶óµµ ½±°Ô ¸¹Àº ºÐµéÀÌ ÀÐÀ¸½Ã°í, ¾î¼Àºí·¯¿¡ °ü½ÉÀÌ ¸¹¾Æ Áö½Å ´Ù¸é, ±×ÀÌ»ó ¹Ù¶ö°Ô ¹¹ ÀÖ°ÚÀ¾´Ï±î? ¾Æ´Ï±¸ ¹ú½á »õº® 4½Ã³×... ³»ÀÏ Àº °í¸ð °áÈ¥½Ä¿¡ ½ÉºÎ¸§ ÇÏ·¯ °¡¾ßÇϴµ¥............... #### ¸ÅÅ©·Î ¾î¼Àºí·¯ ÀÛÀº À̾߱â #3 ID GONNGO ±è´ë¼ö && ¸ÅÅ©·Î ¾î¼Àºí·¯ ÀÛÀºÀ̾߱⠼¼¹ø°¸¦ ½ÃÀÛÇϸç..... 2ȸ¿¡ ¿¬ÀçÇß´ø ÇÁ·Î±×·¥µéÀº ÄÄÇü È­ÀϷεµ º¯È¯µÉ¼ö Àִµ¥, ÁÖ¼®À» ¾È´Þ¾Æ ³õÀº°Í °°¾Æ¼­.... 1ȸ¿¡¼­ ¼³¸í ÇßµíÀÌ EXE2BIN SAMPLE2.EXE SAMPLE2.COM Çϸé PSP¿µ¿ªÀ» ¾ø¾Ø, COMÇü È­ÀÏÀÌ Åº»ý ÇÕ´Ï´Ù. ¾î·Æ°Å³ª ÁöÁöºÎÁøÇÏ´Ù½ÍÀ¸¸é, ¿¬¶ôÇÏ¿© ÁֽʽÿÀ. À̹ø¿¡µµ ¿¹Á¦ÇÁ·Î±×·¥°ú ±×¿¡ ´ëÇÑ ¼³¸íÀ» ÇÒ±î ÇÕ´Ï´Ù. ***** ÇÁ·Î±×·¥ ********** MAIN SEGMENT ASSUME CS:MAIN,DS:DATA MOV AX,DATA ;DS(µ¥ÀÌŸ ¼¼±×¸ÕÆ®)¸¦ MOV DS,AX ;¼¼ÆÃÇϱâ À§ÇÑ ÄÚµå MOV CX,DDD ;CX·¹Áö½ºÅÍ¿¡ DDD¹øÁöÀÇ °ªÀ» ÁÖ°í MOV BX,OFFSET TTT ;BX¿¡ TTT°¡ ÀÖ´Â ¹øÁö¸¦ ÁÖ°í DISP: MOV AH,02 MOV DL,[BX] ;BX¹øÁö¿¡ ÀÖ´Â °ªÀ» DL¿¡ ³Ñ°ÜÁÖ°í INT 21H ;±â´É¹øÈ£ 2¹øÀ¸·Î µµ½ºÆã¼ÇÄÝ INC BX ;¹øÁöÀÇ °ªÀ» Áõ°¡ÇÑÈÄ¿¡ LOOP DISP ;DISP·Î ºÐ±â MOV AH,4CH INT 21H ;µµ½º·Î.... MAIN ENDS ;MAIN ¼¼±×¸ÕÆ®ÀÇ ³¡ÀÓÀ» ¾Ë¸°´Ù. DATA SEGMENT ;DATA ¼¼±×¸ÕÆ®ÀÇ ½ÃÀÛÀÓÀ» ¾Ë¸°´Ù. TTT DB 'ÇÑ¶ó µ¿È£È¸' DDD DW 11 DATA ENDS ;DATA ¼¼±×¸ÕÆ®ÀÇ ³¡ÀÓÀ» ¾Ë¸°´Ù END ;ÇÁ·Î±×·¥ÀÇ ³¡ÀÓÀ» ¾Ë¸°´Ù. ==================================================================== ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ ÇÑÈÄ ½ÇÇàÇϸé(SAMPLE4.ASM) A>SAMPLE4 ÇÑ¶ó µ¿È£È¸ A> **** ÇÁ·Î±×·¥ ¼³¸í ÇÁ·Î±×·¡¹ÖÀ» Çϸ鼭 Àû°Ô ¿©·¯°³·Î ³ª´©¾î ¼³¸íÇÒ·Á°í Çߴµ¥ Â¥´Ùº¸´Ï ¾î° ¼³¸íÇÒ°Ô ¸¹¾Æ Áø°Í°°´Ù. 1) ASSUME ÀÇ»ç¸í·É¿¡ ÀÇÇÑ ¼¼±×¸ÕÆ®ÀÇ ÁöÁ¤ 1,2ȸ¿¡´Â ¼¼±×¸ÕÆ®ÀÇ ÁöÁ¤À» CODE,MAINÀ¸·Î CSÀÇ °ª¸¸À» Á¤ÇØÁÖ¾ú´Âµ¥, DSÀÇ °ª°ú ES,SSÀÇ ÁöÁ¤¹ý¿¡ ´ëÇØ ¼³¸í ÇÏ°Ú½À´Ï´Ù. Ãʱâ 8ºñÆ®½ÃÀýÀÇ ÄÄÀº ¸Þ¸ð¸®ÀÇ Å©±â°¡ 64KBYTE¿´½À´Ï´Ù. ±×·¡¼­ ¼¼±×¸ÕÆ® ÁöÁ¤ÀÌ ÇÊ¿äÄ¡ ¾Ê¾ÒÁö¿ä.. ¿Ö³ÄÇϸé 8ºñÆ®´ÜÀ§ÀÇ ·¹Áö½º ÅÍ 2°³·Î ¸Þ¸ð¸® ¹øÁö¸¦ ÁöÁ¤ÇÏ¿´´Âµ¥, ±×°ÍÀ¸·Î Ç¥ÇöÇÒ¼ö ÀÖ´Â ÃÖ´ëÀÇ ´Ü À§´Â 65536BYTE Áï 64KBYTE¿´±â ¶§¹®ÀÔ´Ï´Ù. ±×·¯³ª 16ºñÆ® ÄÄÇ»ÅÍ°¡ ÀϹÝÈ­ µÇ¸é¼­, 8ºñÆ® ½ÃÀýÀÇ ÀÛÀº ¸Þ¸ð¸®¿¡ ÇÑ°è ¸¦ ³Ñ¾î¼­°í, ¶Ç 16ºñÆ® ÄÄ¿¡¼­ 8ºñÆ® ÄÄÇ»ÅÍÀÇ ÇÁ·Î±×·¥À» ¾²±âÀ§ÇÑ ½Ãµµ·Î ¼¼±×¸ÕÆ®¶ó´Â °³³äÀ» ¸¸µé¾î ³»¾ú½À´Ï´Ù. <=( À¾´Ï´Ù.·Î ¹è¿ö¼­ ±×·±Áö ½À´Ï ´Ù´Â Àß ¾È³ª¿À³×.... ÇìÇì ¿ë¼­¸¦.. ±×¸®°í À̼³¸íÀº Á¦°¡ ¾Æ´Â Çѵµ¿¡¼­ 8ºñÆ®¿Í 16ºñÆ®ÀÇ Â÷ÀÌ¿Í ¼¼±×¸ÕÆ®ÀÇ °³³äÀ» ¾ê±âÇÑ°ÍÀ̹ǷΠƲ¸°Á¡ÀÌ ÀÖ°Å ³ª ÀÚ¼¼È÷ ¾Æ½Ã´Â ºÐÀº ¿¬¶ôÀ».. ÇìÇì ...±¹»ê Â÷ <<Ÿ´Â°Ô ¾Æ´Ï°í ¸¶½Ã´Â °ÍÀÓ>>¸¦ »çµå¸±²²¿ä ) XTÀÇ ¹øÁö ÁöÁ¤ ¹æ½ÄÀº Á» ƯÀÌÇÑÁ¡ÀÌ ¸¹´Ù. SEGMENT ¹øÁö + OFFSET ¹øÁö·Î ÁöÁ¤Çϴµ¥, ±× ¹æ¹ýÀº...... ¼¼±×¸ÕÆ® ¹øÁö 2424 H + ¿ÀÇÁ¼Â ¹øÁö 3121 H ------------------------------ ¹°¸®(Àý´ë)¹øÁö 27361 H ¼¼±×¸ÕÆ® ¹øÁö¸¦ ÇÑÀÚ¸®¾¿ ¿Ã¸®°í ¼¼±×¸ÕÆ®ÀÇ ¹øÁö¸¦ ´õÇؼ­ Àý´ë¹øÁö¸¦ »êÃâ Çس»´Âµ¥, ÀÌ·¸°Ô Çؼ­ Ç¥ÇöÇÒ¼ö ÀÖ´Â ¸Þ¸ð¸® ¹øÁö´Â 2ÀÇ 20½ÂÀÎ 1 ¸Þ°¡ ¹ÙÀÌÆ®ÀÇ ¸Þ¸ð¸®¸¦ °ü¸®ÇÒ¼ö ÀÖ´Ù. ¼¼±×¸ÕÆ® ÁöÁ¤À» ¾ê±âÇÒ·Á°í Çߴµ¥ ¾ê±â°¡ Àá½Ã ´Ù¸¥µ¥·Î È帥°Í°°´Ù. ASSUMEÀÇ»ç ¸í·É¿¡ ÀÇÇØ ÁöÁ¤ÇÒ¼ö ÀÖ´Â ¼¼±×¸ÕÆ®´Â ¾î¼Àºí·¯¿¡¼­´Â CS, DS,ES,SS ³×°³ÀÌ´Ù. (±×·ì ¸í·É¿¡ ÀÇÇÑ ¼¼±×¸ÕÆ®ÀÇ ÁöÁ¤¹ýÀº ³ªÁß¿¡) ÇÑ°³ÀÇ ¼¼±×¸ÕÆ®ÀÇ Å©±â´Â 64KBYTE¸¦ ³Ñ¾î ¼³¼ö ¾øÀ¸¸ç,ASSUME ÀÇ»ç¸í·É À¸·Î ¾î¼Àºí·¯¿¡ ¾Ë·ÁÁØÈÄ ´Ù½Ã ÁöÁ¤À» ÇØÁÖ¾î¾ßÇÑ´Ù. À§ ¿¹Á¦ ÇÁ·Î±×·¥À» º¸¸é MAIN SEGMENT ASSUME CS:MAIN,DS:DATA MOV AX,DATA MOV DS,AX ¶ó°í µÇ¾î ÀÖ´Ù. ÀÌ´Â ÄÄÆÄÀÏ·¯¿¡°Ô ¼¼±×¸ÕÆ®ÀÇ À̸§À» ¾Ë·ÁÁØÈÄ ´Ù½Ã ±× °ªÀ» ±×¼¼±×¸ÕÆ®¿¡ ¾Ë·ÁÁÖ¾î¾ßÇÑ´Ù. À§ÀÇ 3,4¹ø° ¹®ÀåÀÌ DS¸¦ ÃʱâÈ­ ÇÏ ´Â ¹®ÀåÀε¥, 3¹ø° ¹®ÀåÀº DATAÀÇ ¹øÁö °ªÀ» AXÀü¼ÛÇÏ°í, 4¹ø° ¹®Àå¿¡¼­ AX¿¡ ÀÖ´Â °ªÀ» DS¿¡ ¾Ë·Á ÁÖ°í ÀÖ´Ù. °¡·É ¾Æ·¡ÀÇ ¿¹Á¦¸¦ º¸¸é, MAIN SEGMENT ASSUME CS:MAIN,DS:DATA,ES:EXTR,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,EXTR MOV ES,AX ....... ...... MAIN ENDS DATA SEGMENT ................ ................ DATA ENDS EXTR SEGMENT ................ ................ EXTR ENDS STACK SEGMENT STACK ....................... STACK ENDS END START ASSUME ¿¡ °üÇÑ º¸±â ½¬¿î ¿¹Á¦ÀÌ´Ù. ¾î¼Àºí·¯ÀÇ EXEÇü È­ÀÏ µéÀº °ÅÀÇ ÀÌ·± Çü½ÄÀ¸·Î Â¥¿©Á® ÀÖ´Ù°í Çصµ °ú¾ð ÀÌ ¾Æ´Ñµ¥, ÀÚ¼¼È÷ º¸¸é CS¿Í SS´Â ±×¹øÁöÀÇ °ªÀ» ¼¼ÆýÃÅ°Áö ¾ÊÀ½À» º¼¼ö ÀÖ´Ù. CODE SEGMENT´Â ¸í·É¾î ÄÚµåÀ̱⶧¹®¿¡ ÇöÀçÀÇ ¼¼±×¸ÕÆ®¸¦ ¾²°í ÀÖ À½¿¡ ÁÖÀÇ ÇÏÀÚ ±×¸®°í ½ºÅÃÀº ±ÄÀÌ ÁöÁ¤ÇÒ ÇÊ¿ä ¾øÀÌ ÀÇ»ç¸í·ÉÀ¸·Î¸¸ ÇØ ÁÖ¸é ¾î¼Àºí·¯°¡ ¾Ë¾Æ¼­ ó¸®ÇÑ´Ù. ±×¸®°í ÄÄÆÄÀϽÿ¡´Â ±¦ÂúÀºµ¥, ¸µÅ©½Ã ' WARNING NO STACK SEGMENT '¶ó´Â ¸Þ½ÃÁö°¡ ¶ß´Âµ¥, À̵µ ¾î´ÀÁ¤µµ´Â µµ½º¿¡¼­ ½ºÅÃÀ» Àâ¾ÆÁÖ´Ï,Å« °ÆÁ¤Àº ¾ÈÇصµ µË´Ï´Ù. ±×·¯³ª º»°ÝÀûÀ¸·Î ½ºÅÃÀ» »ç¿ëÇÒ·Á°í ÇÑ´Ù¸é, ±×¿¡ ¾Ë¸Â Àº Å©±âÀÇ ½ºÅÃÀ» ÁöÁ¤ÇؾßÇÑ´Ù. ±×¸®°í À§¿¡ Á÷Á¢ÀûÀ¸·Î ' MOV DS,DATA'¸¦ ÇÏ¸é ¾ÈµÇ´Â°¡? ÇÏ´Â Àǹ®ÀÌ ÀÖÀ»ÅÙµ¥, ¼¼±×¸ÕÆ®´Â AX¿Í ½ºÅÃÀÇ °ª¸¸À» ¹ÞÀ»¼ö ÀÖÀ½. (ÀÌ°Ç Àúµµ ¾ÈÇØ ºÃ´Âµ¥ , ' PUSH DATA'ÇÑÈÄ 'POP DS'Çϸé, ÄÚµå ¿Í ¿¬»ê ¼Óµµ¸¦ ºü¸£°Ô ÇÒ¼ö ÀÖ´Ù°í ÇÕ´Ï´Ù.... ÈÞ~~~ Áö±Ý ±îÁö²¯µµ Èûµçµ¥...............) 2). ¹øÁöÀÇ ÁöÁ¤¹ý ´Ù¼¸¹ø°ÀÇ ¹®Àå 'MOV CX,DDD'´Â ÄÄÆÄÀÏ Çϸé, 'MOV CX,[0012]' ½ÄÀ¸·Î ÄÚµåÈ­ Çϴµ¥ ÀÌ´Â µ¥ÀÌŸ ¼¼±×¸ÕÆ® 0012 ¹øÁöÀÇ °ªÀ» CX¿¡ Àü¼Û Ç϶ó´Â ¸í·É¾îÀÌ´Ù. ¿©±â¿¡¼­ DDD´Â ¹øÁö ÁöÁ¤À» À§ÇÑ ·¹À̺íÀÓÀ» ¸í½ÉÇÏ ÀÚ, ¿©¼¸¹ø°ÀÇ ¹®Àå 'MOV BX,OFFSET TTT'´Â TTT¶ó´Â ·¹À̺íÀÌ ÀÖ´Â ÁÖ¼ÒÀÇ °ªÀ» BX¿¡ Àü¼ÛÇ϶ó´Â ¸í·ÉÀÌ´Ù. ¿Ö À§¿¡´Â 'MOV CX,DDD'¸¦ ÇÏ °í ¿©±â¿¡¼­´Â 'BX,OFFSET TTT'¸¦ Çß´À°¡ Çϸé, ¾ÆÈ©¹ø°¹®Àå 'MOV DL, [BX]' ¿Í ¿­Çѹø°¹®Àå 'INC BX'¶§¹®ÀÌ´Ù. ÀÌ ¹®Àå µéÀ» ÄÚµåÈ­ Çϸé 'MOV BX,0000','MOV DL,[0000]'½ÄÀ¸·Î µÇ ´Âµ¥, 'INC BX'¸¦ ¸¸³ª¸é, BXÀÇ °ªÀÌ 0000¿¡¼­ 0001·Î µÇ°í ´Ù½Ã 'MOV DL,[0001]'·Î µÈ´Ù. ¾Æ·¡ÀÇ °ÍÀº ÄÄÆÄÀÏ ÇÑÈÄ DEBUG·Î ¶ç¿î°ÍÀÌ´Ï, ÂüÁ¶ ¹Ù¶ø´Ï´Ù. a>debug -u 14D7:0000 B8D914 MOV AX,14D9 ;MOV AX,DATA¸¦ ÄÚµåÈ­ 14D7:0003 8ED8 MOV DS,AX 14D7:0005 8B0E1200 MOV CX,[0012] ;MOV CX,DDD¸¦ ÄÚµåÈ­ 14D7:0009 BB0000 MOV BX,0000 ;MOV BX,TTT¸¦ ÄÚµåÈ­ 14D7:000C B402 MOV AH,02 14D7:000E 8A17 MOV DL,[BX] 14D7:0010 CD21 INT 21 14D7:0012 43 INC BX 14D7:0013 E2F7 LOOP 000C ;LOOP DISP¸¦ ÄÚµåÈ­ 14D7:0015 B44C MOV AH,4C 14D7:0017 CD21 INT 21 14D7:0019 0000 ADD [BX+SI],AL ;ÀÌ ¹®Àå µéÀº 14D7:001B 0000 ADD [BX+SI],AL ;½ÇÇà, µ¥ÀÌŸ¿Í »ó°ü 14D7:001F 004348 ADD [BP+DI+48],AL ;ÀÌ ¾ø°í, µð¹ö±×ÀÇ ¸í·É¿¡ ;ÀÇÇØ »ý°Ü³µÀ½ -U14D9:0 µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ º¸ÀÚ´Â ¸í·ÉÀÓ 14D9:0000 43 INC BX ;ÀÌÈÄ 11¹ø±îÁö´Â µ¥ÀÌŸÀÓ 14D9:0001 48 DEC AX 14D9:0002 45 INC BP 14D9:0003 4A DEC DX 14D9:0004 55 PUSH BP 14D9:0005 44 INC SP 14D9:0006 4F DEC DI 14D9:0007 204255 AND [BP+SI+55],AL 14D9:000A 4B DEC BX 14D9:000B 4A DEC DX 14D9:000C 45 INC BP 14D9:000D 4A DEC DX 14D9:000E 55 PUSH BP 14D9:000F 47 INC DI 14D9:0010 55 PUSH BP 14D9:0011 4E DEC SI 14D9:0012 1100 ADC [BX+SI],AX ;1100À̶ó°í µÈ°Í¸¸ º¸ÀÚ 14D9:0014 46 INC SI À§¿¡ µð¹ö°Å·Î ¶Ù¿î°ÍÀ» º¸¸ç´Â ¹Ù²ï°ÍµéÀ» ¾Ë¼ö ÀÖÀ» °ÍÀÌ´Ù. MOV AX,DATA ÇÑ°ÍÀº MOV AX,14D9·Î MOV CX,DDD ÇÑ°ÍÀº MOV CX,[00 12]·Î MOV BX,OFFSET TTTÇÑ °ÍÀº MOV BX,0000À¸·Î, LOOP DISP ÇÑ °ÍÀº LOOP 000C·Î µîÀÌ´Ù. AX,14D9·Î ¹Ù²ï°ÍÀº ASSUME·Î ÁöÁ¤ÇÑ DATAÀÇ ¼¼±×¸ÕÆ®°¡ 14D9ÀÓÀ» ³ªÅ¸³½´Ù ±×´ÙÀ½Àº À§¿¡¼­ ¼³¸íÇß°í, ·¹ÀÌºí ¸í·ÉÀÎ DISP°¡ ¾ø¾îÁö°í LOOP 000C·Î µÇ¾î Àִ°ÍÀº ÄÚµå ¼¼±×¸ÕÆ® 000C¹øÁö·Î LOOP¸¦ µ¹¸®¶ó´Â ¸í·ÉÀÓÀ» ¾Ë¼ö ÀÖ´Ù. DEBUG¿¡ ÀÇÇÑ Çü½ÄÀ» º¸¸é, ¼¼±×¸ÕÆ®¹øÁö:¿ÀÇÁ¼Â¹øÁö ½ÇÇàÄÚµå ¿ª¾î¼Àºí·¯ ½ÄÀ¸·Î µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ»óÀ¸·Î DEBUG¿¡ °üÇÑ ¸í·ÉÀ̳ª ¼³¸íÀº ´ÙÀ½¿¡ Çϱâ·Î ÇÏ°í, 3). µ¥ÀÌŸ µÎ´Â ¹æ¹ý DATA SEGMENT ¿¡ º¸¸é TTT DB 'ÇѶóµ¿È£È¸',DDD DW 11À̶ó°í µÇ¾î ÀÖ´Ù. TTT³ª DDD´Â ¾î¶² Àå¼Ò¶ó°íµµ ÇÒ¼ö Àִµ¥, ¸»ÇÏÀÚ¸é,µ¥ÀÌŸ ¸¦ µÎ´Â Àå¼Ò¶ó°í ÇÒ¼ö ÀÖ°Ú´Ù. ÀÌ µ¥ÀÌÅ͸¦ µÎ´Â Àå¼Ò¿¡´Â µ¥ÀÌŸÀÇ Å©±â Çü½Ä µîÀ» ÁöÁ¤ ÇØÁÖ¾î¾ß ÇÏ´Â µ¥ DB,DW,DD,DQ,DTµîÀ¸·Î ÁöÁ¤ÇØÁÙ¼ö ÀÖ´Ù. DB ´Â ¹ÙÀÌÆ® ´ÜÀ§ÀÇ µ¥ÀÌŸ¸¦ Á¤ÀÇ ¿¹). SSS DB 1,2,3,4,5,56,0FFH (0~~256(0FFH)±îÁöÀÇ µ¥ÀÌŸ) SSS DB 'A','B','C','D' SSS DB '1234' (À̴ ij¸¯ÅÍ ´ÜÀ§·Î µé¾î°£°ÍÀ̹ǷÎ. ´Ù À½°ú °°´Ù. 31,32,33,34 DW ´Â ¿öµå(2¹ÙÀÌÆ®) ´ÜÀ§ÀÇ µ¥ÀÌŸ¸¦ Á¤ÀÇ ¿¹). SSS DW 'AS','AC','FL' (¿öµå ´ÜÀ§ÀÇ Á¤ÀÇ) SSS DW 12H,1245H,333H,1FFFH (°ªÀ» ¿öµå ´ÜÀ§·Î ¹Þ¾Æ µéÀÓ) DD ´Â ´õºí ¿öµå(4¹ÙÀÌÆ®) ´ÜÀ§ÀÇ µ¥ÀÌŸ¸¦ Á¤ÀÇ DQ ´Â Äõµå ¿öµå(8¹ÙÀÌÆ®) ´ÜÀ§ÀÇ µ¥ÀÌŸ¸¦ Á¤ÀÇ DT ´Â 10 ¹ÙÀÌÆ® ´ÜÀ§ÀÇ µ¥ÀÌŸ¸¦ Á¤ÀÇ DB¿Í DW¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö ´ÜÀ§´Â 16ºñÆ® À̻󿡼­ ¾µ¼ö ÀÖÀ¸¸ç, ±×°ÍÀÇ »ç¿ë¹ýÀº ¿öµå ´ÜÀ§¿Í ºñ½ÁÇÏ°Ô »ç¿ë µÇ¾îÁø´Ù.(8088¿¡¼­´Â ¸ø¾²´Â°É·Î¾Í) ¿öµå ´ÜÀ§ÀÇ µ¥ÀÌŸ¸¦ µÎ´Â ¹æ¹ý¿¡´Â DW '12345566667'½ÄÀ¸·Î´Â µÑ ¼ö ¾øÀ½. ======================================================================== ***** ¿¹Á¦ ÇÁ·Î±×·¥ MAIN SEGMENT ASSUME CS:MAIN,DS:DATA MOV AX,DATA MOV DS,AX MOV DX,OFFSET WWW MOV AH,09H INT 21H MOV AH,4CH INT 21H MAIN ENDS DATA SEGMENT WWW DB 'Ãß¾ïÀ¸·Î °¡´Â ´ç½Å','$' DATA ENDS END ------------------------------------------------------------------------ SAMPLE5.ASMÀ¸·Î ÀúÀåÇÑÈÄ ÄÄÆÄÀÏ,¸µÅ©ÈÄ A>SAMPLE5 Ãß¾ïÀ¸·Î °¡´Â ´ç½Å A> ****ÁÖ) È÷È÷ ..¼÷Á¦ÀÓ ****** ** ¾î¶² ·çƾÀÎÁö ¾Ë¾Æº¸±â ** WWWÀÇ µ¥ÀÌŸÁ¤ÀÇ¿Í DEBUG¿¡¼­ÀÇ ¹øÁö ¾Ë¾Æº¸±â ** µð¹ö°ÅÀÇ »ç¿ë¹ýÀ» ¾Ë¾Æº¸ÀÚ ##### ¸ÅÅ©·Î ¾î¼Àºí·¯ ÀÛÀº À̾߱â ..#3 ³¡ && ¸ÅÅ©·Î ¾î¼Àºí·¯ ÀÛÀº À̾߱â..# À» ³¡³»¸ç...... ÇìÇì À̹ø¿¡´Â ÇÑ 150¶óÀÎÁ¤µµ·Î ÁÙ¿© ¾µ±î Çߴµ¥..... ±×¸¸ ÇÏ´Ùº¸´Ï.. ±× ¿ÍÁß¿¡ SAMPLE6µµ Â¥º¼±î ÇÏ´Ù°¡, ¹®ÀåÀÌ ³Ê¹« ±ä°Í °°¾Æ ¼­ 5¹ø ¿¹Á¦´Â ½¬¿ì´Ï ¾Ë¾Æ ¸ÂÃ߽ðÚÁö ¹¹.... Ç×»ó ÀúÀÇ ID´Â ¿­·Á ÀÖÀ¾´Ï´Ù...... Çì~Çì~ #### ¸ÅÅ©·Î ¾î¼Àºí·¯ ÀÛÀº À̾߱â .. #4 *** ¸ÅÅ©·Î ¾î¼Àºí·¯ ÀÛÀº À̾߱⠳׹ø° ¸¶´çÀ» ½ÃÀÛ Çϸ鼭... Ȥ½Ã 3ȸ¶§ ¿¬ÀçÇÑ °ÍÀÌ ¾î·ÆÁö³ª ¾Ê¾Ò´ÂÁö,,,,,, ¿¬Àç¹°À» Á¤¸®ÇÑÈÄ, »ý°¢º¸´Ù´Â ³Ê¹« ¸¹ÀÌ Áøµµ¸¦ ³ª°¡Áö ¾Ê¾Ò´Â°¡,ÇÏ´Â »ý°¢ µµ ÇÏ°í ¾î´À Á¤µµ´Â ÀÌÇØÇϸ®¶ó°í, ¹Ï¾îµµ º¸¸ç.......................... ÄÄÀº ÇÏ´Ùº¸¸é, ´À²¸Áö´Â°Ô ÀÖÀ¸¹Ç·Î, Å°ÆÝÄ¡ ÇÏ´Ùº¸¸é, ¾Ë¼ö ÀÖÀ»°Å¶ó°í,¹Ï ½À´Ï´Ù.... ID GONNGO ±è´ë¼ö ³×¹ø° À̾߱â´Â DEBUGÀÇ »ç¿ë¿¡ °üÇÑ À̾߱⸦ ÇÒ±î ÇÕ´Ï´Ù. DEBUG´Â °£´ÜÇÑ ÄÄÇüÈ­ÀÏÀÇ ÆíÁý, ¼öÁ¤,±×¸®°í ¸» ±×´ë·Î ¹ú·¹ Àâ±â¿¡ ¾²ÀÌ´Â À¯Æ¿¸®Æ¼ÀÔ´Ï´Ù. EXEÇü È­ÀÏÀº ¼öÁ¤ÈÄ ÀúÀåÀÌ ºÒ°¡´ÉÇϸç,EXEÇü È­ÀÏÀÇ °æ¿ì ¿¡´Â ¹ö±×¸¦ ÃßÀûÇÏ¿©, ¿ø½ÃÈ­ÀÏÀ» ¼öÁ¤ÇؾßÇÏ´Â ºÒÆíÀÌ Àֱ⵵ ÇÕ´Ï´Ù. ½Éº¼¸¯ µð¹ö±×, Åͺ¸ µð¹ö±×µî ¿©·¯ µð¹ö±×°¡ ÀÖÀ¸³ª, ±×°ÍÀº ½áº»¹Ù°¡ ¾ø¾î ¼­ µµ½º¿¡¼­ Á¦°øÇÏ´Â DEBUG.COMÀ» »ç¿ëÇÑ ¸í·É¾î »ç¿ë¹ý, °£´ÜÇÑ ¿ª ¾î¼Àºí ¸µ, ÃßÀû ¹æ¹ýµîÀ» ¼Ò°³ ÇÒ±î ÇÕ´Ï´Ù. ±×¸®°í Ç÷¡±× ·¹Áö½ºÅ͸¦ Áö±Ý °°ÀÌ ¼³¸íÇؼ­ ÀÌÇظ¦ µµ¿ï±î ÇÕ´Ï´Ù. *********** Ç÷¡±× ·¹Áö½ºÅÍ ** Ç÷¡±× ·¹Áö½ºÅÍ´Â CPUÀÇ µ¿ÀÛ »óŸ¦ Á¦¾î,¿¬»êÀÇ °á°ú¿¡ µû¶ó º¯È­ Çϱ⠵µÇÔ. Æ®·¦ Ç÷¡±× X X X X O D I T S Z X A X P X C ij¸® »çÀÎ Á¦·Î º¸Á¶Ä³¸® Æи®Æ¼ ¿À¹öÇ÷οì Ç÷¡±× ÀÎÅÍ·¾Æ® ±â´É µð·º¼Ç Ç÷¹±× *Ç÷¹±× ·¹Áö½ºÅÍ ¸¦ Ç¥ÇöÇÑ ±×¸²ÀÌ°í, X´Â ¹Ì»ç¿ë ¿µ¿ªÀÓ 1). ¿À¹öÇ÷οì Ç÷¡±×(OVERFLOW FLAG) »ê¼ú¿¬»êÀÇ °á°úÀÇ ¿À¹öÇ÷οì(ÀÚ¸® ³Ñħ) »óŸ¦ Ç¥½Ã 0 <= ÀÚ¸® ³Ñħ ¾øÀ½ 1 <= ¿À¹öÇ÷ο찡 ¹ß»ý 2). µð·º¼Ç Ç÷¡±× (DIRECTION FLAG) ½ÇÇà ¹æÇâÀ» Á¦½Ã 0 <= ÇÏÀ§ ¹øÁö¿¡¼­ »óÀ§·Î 1 <= »óÀ§¹øÁö¿¡¼­ ÇÏÀ§·Î 3). ÀÎÅÍ·¾Æ® ±â´É Ç÷¡±×(INTERRUPT ENABLE FLAG) 1À϶§ ÀÎÅÍ·¾Æ®¸¦ ¹Þ¾ÆµéÀÌ°í, 0À϶§ ¹Þ¾Æ µéÀÌÁö ¾ÊÀ½ 4). Æ®·¦ Ç÷¡±× (TRAP FLAG) ÀÌÇ÷¡±×´Â Á÷Á¢ ¼¼Æ®°¡ ºÒ°¡´ÉÇÏ°í, ÇÁ·Î±×·¥ÀÇ ¸í·ÉÀ» Çϳª¾¿ ½ÇÇà ½Ã ÄÑ, ±× µ¿ÀÛÀ» È®ÀÎ ÇÒ¼ö ÀÖ´Ù. 5). »çÀÎ Ç÷¡±× (SIGN FLAG) ¿¬»ê°á°ú ÃÖ»óÀ§ ºñÆ®°¡ 1ÀÌ¸é ¼¼Æ®, 0ÀÌ¸é ¸®™VµÈ´Ù. 6). Á¦·Î Ç÷¡±× (ZERO FLAG) ¿¬»ê °á°ú°¡ 0À϶§ ¼¼Æ® 7). º¸Á¶ ij¸® Ç÷¡±×(AUXILIARY FLAG) 10Áø ¿¬»ê½Ã »ç¿ëµÇ´Â Ç÷¡±×·Î½á,¿¬»êÈÄ ÇÏÀ§ 4ºñÆ®¿¡ ÀÚ¸®¿Ã¸²,ÀÚ¸®ºô ¸²ÀÌ »ý°åÀ»¶§, ¼¼Æ® 8). Æи®Æ¼ Ç÷¡±× (PARITY FLAG) ¿¬»êÈÄ ÇÏÀ§ 8ºñÆ®Áß 1ÀÇ °¹¼ö°¡ ¦¼ö À϶§ ¼¼Æ® (=1),Ȧ¼ö À϶§ ¸®™V(=0) 9). ij¸® Ç÷¡±× (CARRY FLAG) ¿¬»êÈÄ ÀÚ¸® ºô¸²È¤Àº ¿Ã¸²ÀÌ »ý±æ¶§ ¼¼Æ® (=1),½ÃÇÁÆ® ¸í·É¿¡¼­ ´ë»ó ºñ Æ®¸¦ Ç¥½ÃÇϱ⵵ÇÔ ******** DEBUGÀÇ ¸í·Éµé.... A>DEBUG -r <= ·¹Áö½ºÅÍ »óŸ¦ º¸°Ú´Ù´Â ¸í·É¾î ÀÔ´Ï´Ù. AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=14AE ES=14AE SS=14AE CS=14AE IP=0100 NV UP EI PL NZ NA PO NC 14AE:0100 0000 ADD [BX+SI],AL DS:0000=CD *¿©±â¸¦ º¸¸é, ·¹Áö½ºÅÍÀÇ »óÅÂ¿Í Ç÷¡±× ·¹Áö½ºÅÍ, ´ÙÀ½ ½ÇÇà ¸í·ÉµîÀ» ¾Ë¼ö ÀÖ´Ù. AX,BX,CX,DX´Â ¹ü¿ë·¹Áö½ºÅÍ·Î ±×°ªµéÀÌ ÇöÀç 0À¸·Î µÇ¾î ÀÖ°í, BP,SI,DI´Â º£À̽º Æ÷ÀÎÅÍ¿Í À妽º ·¹Áö½ºÅÍ·Î ¶ÇÇÑ ±×°ªµéÀÌ 0À¸·Î µÇ¾î ÀÖ´Ù. DS,ES,SS,CS´Â ÇöÀç ¼¼±×¸ÕÆ®ÀÇ ¹øÁö¸¦ °®°í Àִµ¥, ÀÌ ¼¼±×¸ÕÆ® ¹øÁö¸¦ ¾Õ À¸·Î ÇÁ·Î±×·¡¹Ö°úÁ¤¿¡¼­ ÁöÄѺ¼ ÇÊ¿ä°¡ ÀÖ´Ù. SP´Â ½ºÅÃÆ÷ÀÎÅÍ·Î °ªÀÌ ÀÖ°í, IP´Â ÀνºÆ®¶ô¼Ç Æ÷ÀÎÅÍ·Î ´ÙÀ½¿¡ ½ÇÇàµÉ ¸í ·ÉÀÇ ¹øÁö¸¦ °¡¸£Å²´Ù. ¸í·É¾î ÄÚµåÀÇ ÁÖ¼Ò´Â CS:IPÀÌ´Ù À§ÀÇ R¸í·ÉÀ¸·Î º» ´ÙÀ½ÀÇ ¸í·ÉÀº CS:IPÀ̹ǷΠ14AE:0100ÀÌ´Ù. Á¦ÀÏ ¹Ø¿¡ÁÙ¿¡ 14AE:0100 0000 ADD [BX+SI],AL DS:0000=CD ·Î µÇ¾î ÀÖ´Â°Ô ÀÖ´Ù. ÀÌ´Â ´ÙÀ½¿¡ ½ÇÇàµÉ ¸í·ÉÀÓ¿¡ À¯ÀÇÇÏÀÚ. NV´Â NO OVERFLOW·Î½á ÇöÀç Ç÷¡±× ·¹Áö½ºÅÍ¿¡¼­ ¿À¹öÇ÷ΰ¡ ¾ø´Ù´Â ¶æÀÓ UP´Â DIRECTION FLAG·Î UP Áï »ó½ÂÀ¸·Î ¸í·ÉÀ» ¼öÇà ÇÑ´Ù´Â ¾ê±âÀÌ´Ù. EI´Â ÀÎÅÍ·¾Æ® Ç÷¡±×·Î ÇöÀç ENABLE INTERUPPT Áï ÀÎÅÍ·¾Æ®°¡ °¡´É PLÀº Æ®·¦Ç÷¡±×·Î 0À϶§¿¡´Â CPU´Â º¸Åë´ë·Î ¸í·ÉÀ» ½ÇÇàÇϳª, 1À϶§¿¡´Â C PU°¡ ÇѸí·ÉÀ» ½ÇÇà ÇÒ¶§¸¶´Ù ³»ºÎÀÎÅÍ·¾Æ®(INT1)¸¦ ¹ß»ý ½ÃÅ°°í ÀÎÅÍ·¾Æ® ó¸® ·çƾÀ¸·Î µé¾î°¨. NZ´Â Á¦·Î Ç÷¡±×°¡ ÇöÀç OFF NA´Â º¸Á¶ ij¸®°¡ ÇöÀç OFF PO´Â Æи®Æ¼ Ç÷¡±×·Î ÇöÀç ¦¼ö NC´Â ij¸® Ç÷¡±×°¡ ÇöÀç OFF -d??? ´ýÇÁ ¸í·ÉÀ¸·Î½á Çö ¸Þ¸ð¸®¸¦ ´ýÇÁ ÇÑ´Ù. 14AE:0100 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 14AE:0110 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 14AE:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 14AE:0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 14AE:0140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 14AE:0150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 14AE:0160 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 14AE:0170 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ -d0,10??? ´ýÇÁ ¸í·ÉÀ¸·Î½á 0¹øºÎÅÍ 10¹ø±îÁö ´ýÇÁÇ϶ó´Â ¸í·ÉÀÓ 14AE:0000 CD 20 00 A0 00 9A EE FE-1D F0 F4 02 FF 10 2F 03 . ............/. 14AE:0010 FF . -u ¿ª ¾î¼Àºí ¸í·ÉÀÌ´Ù... 14AE:0100 0000 ADD [BX+SI],AL 14AE:0102 0000 ADD [BX+SI],AL 14AE:0104 0000 ADD [BX+SI],AL 14AE:0106 0000 ADD [BX+SI],AL 14AE:0108 0000 ADD [BX+SI],AL 14AE:010A 0000 ADD [BX+SI],AL 14AE:010C 0000 ADD [BX+SI],AL 14AE:010E 0000 ADD [BX+SI],AL 14AE:0110 0000 ADD [BX+SI],AL 14AE:0112 0000 ADD [BX+SI],AL 14AE:0114 0000 ADD [BX+SI],AL 14AE:0116 0000 ADD [BX+SI],AL 14AE:0118 0000 ADD [BX+SI],AL 14AE:011A 0000 ADD [BX+SI],AL 14AE:011C 0000 ADD [BX+SI],AL 14AE:011E 0000 ADD [BX+SI],AL -u0,12 ¿ª ¾î¼Àºí ¸í·ÉÀ¸·Î 0¹øºÎÅÍ 12¹ø±îÁö ¿ª¾î¼Àºí Ç϶ó´Â ¶æÀÓ 14AE:0000 CD20 INT 20 14AE:0002 00A0009A ADD [BX+SI+9A00],AH 14AE:0006 EE OUT DX,AL 14AE:0007 FE1D CALL FAR [DI] 14AE:0009 F0 LOCK 14AE:000A F4 HLT 14AE:000B 02FF ADD BH,BH 14AE:000D 102F ADC [BX],CH 14AE:000F 03FF ADD DI,DI 14AE:0011 10BC02FF ADC [SI+FF02],BH -a100 ¾î¼Àºí ÇÏ°Ú´Ù´Â ¸í·ÉÀ¸·Î CS:0100¹øÁö¿¡ Á÷Á¢ ¸í·É¾î¸¦ ÃÄ ³ÖÀ»¼ö ÀÖ´Ù. 14AE:0100 mov ah,02 14AE:0102 mov dl,41 14AE:0104 int 21h 14AE:0106 mov ah,4c 14AE:0108 int 21h 14AE:010A -na2.com NÀº À̸§À» ÁöÁ¤ÇÏ´Â ¸í·ÉÀ¸·Î A2.COM À̸§À¸·Î, ÁöÁ¤ÇÏ °Ú´Ù´Â ¶æÀÓ. -rcx RÀÌÈÄ ·¹Áö½ºÅÍ ¸íÀ» ¾²¸é, ±× ·¹Áö ½ºÅÍÀÇ °ªÀ», º¼¼ö CX 0000 ÀÖ°í, ±× °ªÀ» º¯°æ ½Ãų¼öµµ ÀÖ´Ù. :A A¸¦ Ä¡°í, -rcx ´Ù½Ã CX·¹Áö½ºÅ͸¦ º¸¸é, CX 000A 000A·Î º¯°æ µÇ¾î ÀÖ´Ù. : ±×³É ¿£ÅÍÅ°¸¦ Ä¡¸é º¯°æÃë¼Ò ÀÌ´Ù. -w ¾²¶ó´Â ¸í·ÉÀε¥, BX:CXÀÇ Å©±â·Î È­ÀÏÀÇ À̸§Àº À§¿¡ NÀÌÈÄ ½áÀÖ´Â È­ÀÏ À̸§À¸·Î ÀúÀåÇÔ Writing 000A bytes ¾²±â ¿Ï·á Çß´Ù´Â ¸Þ½ÃÁö -q µµ½º·Î ºüÁ®³ª°¡±â À§ÇÑ Q¸í·É A>A2 µµ½º»ó¿¡¼­ NÀÌÈÄ ÀúÀåÇÑ À̸§À¸·Î ½ÇÇà ½ÃÄѺ»´Ù. A A¸¦ Ãâ·Â ½ÃŲ´Ù. A> ----------------------------------------------------------------- *** ¼³¸í *** A100¸í·ÉÀ¸·Î Á÷Á¢ÀûÀÎ ¸í·É¾îÀÇ ÀÔ·ÂÀ» ½ÃÀÛÇß´Ù. ±×³É A¶ó°í¸¸ Ä¡´õ¶óµµ CS:0100¹øÁöºÎÅÍ ÀÔ·ÂÀ» ±â´Ù¸°´Ù. 14AE:0100 MOV AH,02 ·Î Á÷Á¢ÀûÀÎ ¾î¼Àºí ÇÁ·Î±×·¥À» ½ÃÀÛÇÔ DEBUG¿¡¼­´Â COMÇü È­ÀÏÀ̳ª DATAÈ­ÀÏ ¸¸À» ¸¸µé¼ö ÀÖ°í, EXEÇü È­ÀÏ Àº ÆíÁýÀÌ ºÒ°¡´ÉÇÏ´Ù. ±×·¯¹Ç·Î NA2.COMÀ̶õ ¸í·ÉÀ¸·Î À̸§À» COMÈ­ÀÏ·Î Áö Á¤Çß°í, ±×È­ÀÏÀÇ Å©±â´Â BX:CXÀÇ °ªÀ¸·Î ÀúÀåµÇ¹Ç·Î...À§¿¡´Â ¾øÁö¸¸.. -RBX BX·¹Áö½ºÅÍÀÇ °ªÀ»º¸°í, BX 0000 ±× °ªÀÌ 0À̶ó¸é : ±×´ë·Î µÎ°í, ±×·¸Áö ¾Ê°í, ´Ù¸¥ ¼öÄ¡°¡ ÀԷµǾî ÀÖÀ¸ ¸é ¼öÁ¤À» ÇØÁÖ¾î¾ßÇÑ´Ù. ¸¸¾à BX·¹Áö½ºÅÍ¿¡ °ªÀÌ ÀÖ´Âä·Î W¸í·ÉÀ» ³»¸®¸é, È­ÀÏ Å©±â°¡ ¾öû³ª°Ô Ä¿Áö´ÂÁ¡¿¡ À¯ÀÇ ÇϽñ⠹ٶ÷. ´ÙÀ½Àº ·¹Áö½ºÅÍÀÇ °ªµéÀÌ º¯ÇØ°¡´Â °úÁ¤À» º¸±â À§ÇÑ°ÍÀ̹ǷΠ½ÇÇàÇÒ¼ö ÀÖ´Â ¸í·ÉÀº ¾Æ´ÏÀÌ´Ù. A>debug -a ¾î¼Àºí¸í·É 14AE:0100 mov ax,100 AX·¹Áö½ºÅÍ¿¡ 100À» ³Ö°í, 14AE:0103 mov bx,30 BX·¹Áö½ºÅÍ¿¡ 30À» ³Ö°í 14AE:0106 mov cx,50 CX·¹Áö½ºÅÍ¿¡ 50À» ³Ö°í 14AE:0109 mov dx,1234 DX·¹Áö½ºÅÍ¿¡´Â 1234¸¦ ³Ö¾ú´Ù. 14AE:010C mov ah,01 ´Ù½Ã AH·¹Áö½ºÅÍ¿¡ 1À» ³Ö°í 14AE:0112 int 21h ÀÎÅÍ·¾Æ®¸¦ °Ë 14AE:0114 -rbx BX·¹Áö½ºÅ͸¦ º¸°í BX 0000 0À̹ǷΠ: ¼öÁ¤À» ¾Ê´Â´Ù. -rcx CX·¹Áö½ºÅ͸¦ º¸°í CX 0000 0À̹ǷΠ:14 14¸¦ ³Ö´Â´Ù. ÀÌ 14¶õ ¼öÄ¡´Â ¾î¼Àºí ¸í·ÉÀ» ÀüºÎ ÀÔ ·ÂÇÑÈÄ Á¦ÀÏ ¹Ø¿¡ 14AE:0114¿¡¼­ 0114Áß 100Àº PSP¿µ¿ª À̹ǷΠ14¹øÁö ±îÁö ¾²¿©Áø°ÍÀ¸·Î ¾Ë¼ö ÀÖÀ½ -na3.com À̸§À» A3.COMÀ¸·ÎÇÏ°í -w ¾²¶ó´Â ¸í·É Writing 0014 bytes -q µµ½º·Î..... A> ------------------------------------------------------------------- ´ÙÀ½Àº ·¹Áö½ºÅÍÀÇ °ªÀÌ º¯È­ÇÏ´Â ¸ð¾çÀ» º¸°Ú´Ù. À§¿¡¼­ A3.COMÀ» ÀúÀå ÇßÀ¸¸é, A>debug a3.COM -r R¸í·ÉÀ¸·Î ·¹Áö½ºÅÍÀÇ »óŸ¦ º»´Ù. AX=0000 BX=0000 CX=0030 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=14C7 ES=14C7 SS=14C7 CS=14C7 IP=0100 NV UP EI PL NZ NA PO NC 14C7:0100 B80001 MOV AX,0100 -t T¸í·ÉÀº Æ®·¹À̽º Áï ÃßÀûÀ¸·Î 1¶óÀξ¿ ¸í·ÉÀ» ½ÇÇà Çö CS:IP¹øÁö°¡ °¡¸£Å°´Â ¸í·ÉÀ» ¼öÇàÇÔ 14C7:0100 B80001 MOV AX,0100 À» ¼öÇà AX=0100 BX=0000 CX=0030 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=14C7 ES=14C7 SS=14C7 CS=14C7 IP=0103 NV UP EI PL NZ NA PO NC 14C7:0103 BB3000 MOV BX,0030 AX·¹Áö½ºÅÍÀÇ °ªÀÌ º¯ÇÑ°Ô º¸ÀδÙ. -t ´Ù½Ã T¸í·ÉÀ¸·Î MOV BX,0030À» ¼öÇà AX=0100 BX=0030 CX=0030 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=14C7 ES=14C7 SS=14C7 CS=14C7 IP=0106 NV UP EI PL NZ NA PO NC 14C7:0106 B95000 MOV CX,0050 BXÀÇ ·¹Áö½ºÅÍ °ªµµ º¯È­ Çß´Ù. -t AX=0100 BX=0030 CX=0050 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=14C7 ES=14C7 SS=14C7 CS=14C7 IP=0109 NV UP EI PL NZ NA PO NC 14C7:0109 BA3412 MOV DX,1234 CX·¹Áö½ºÅÍÀÇ °ªµµ 0050À¸·Î º¯ÇÔ -t AX=0100 BX=0030 CX=0050 DX=1234 SP=FFFE BP=0000 SI=0000 DI=0000 DS=14C7 ES=14C7 SS=14C7 CS=14C7 IP=010C NV UP EI PL NZ NA PO NC 14C7:010C B401 MOV AH,01 AH·¹Áö½ºÅÍ¿¡ ´Ù½Ã 01¸¦ ³Ö´Âµ¥.... -t AX=0100 BX=0030 CX=0050 DX=1234 SP=FFFE BP=0000 SI=0000 DI=0000 DS=14C7 ES=14C7 SS=14C7 CS=14C7 IP=010E NV UP EI PL NZ NA PO NC 14C7:010E CD21 INT 21 AX·¹Áö½ºÅÍÀÇ °ªÀÌ º¯ÇÏÁö ¾ÊÀº°ÍÀº AH·¹Áö½ºÅÍ°¡ AX·¹Áö½ºÅÍÀÇ »óÀ§ 8ºñÆ® ·¹Áö½ºÅÍÀ̱⠶§¹®ÀÌ´Ù. -t AX=0100 BX=0030 CX=0050 DX=1234 SP=FFF8 BP=0000 SI=0000 DI=0000 DS=14C7 ES=14C7 SS=14C7 CS=0234 IP=1460 NV UP DI PL NZ NA PO NC 0234:1460 2E CS: 0234:1461 3A26FF0D CMP AH,[0DFF] CS:0DFF=68 Æã¼ÇÄÝ 21¸¦ ºÎ¸¥´ÙÀ½ °è¼Ó T¸í·ÉÀ» »ç¿ëÇϸé, ÀÎÅÍ·¾Æ® º¤ÅÍÅ×À̺í·Î Á¡ÇÁ ÇÑ´ÙÀ½ ±× ¼¼Æà µÇ¾î Àִ°ª´ë·Î ¼öÇàÇϹǷÎ, ±×´ÙÀ½¿¡ ³ª¿À´Â ¸í·ÉµéÀÌ ¹Ì¸® Á¤ÀǵǾîÁø ·çƾ´ë·Î ¼öÇàÇÔÀ» ¸í½ÉÇÏ°í, T¸í·ÉÀ¸·Î´Â INT .. ´ÙÀ½ÀÇ ¸í·ÉÀ» ÃßÀûÇϱ⿣ ¿À·£½Ã°£ÀÌ °É¸°´Ù. º¸ÅëÀº T¸í·ÉÀ¸·Î ÃßÀûÇÏ´Ù°¡, ÀÎÅÍ·¾Æ®¸¦ ¸¸³ª¸é, ±×¶§±îÁö G¸í·ÉÀ» ¼öÇà½Ã Å°°í³ª¼­ ´Ù½Ã T·Î ÃßÀûÇÏ´Â°Ô ÁÁÀ» °ÍÀÌ´Ù. ´ÙÀ½Àº G¸í·ÉÀÇ »ç¿ë¹ý¿¡´ëÇØ ¾Ë¾Æº¸ÀÚ -g100 G´Â Çö ¶óÀÎ ºÎÅÍ ¸í·ÉÀ» ¼öÇàÇ϶ó´Â °ÍÀε¥, À§¿¡ ÇÁ·Î±×·¡¹ÖÀÌ µÈµ¥·Î Å°ÀÇ ÀÔ·ÂÀ» ±â´Ù¸°´Ù q ÇÑ ´Ü¾î¸¦ Ä¡¸é, Program terminated normally À̸޽ÃÁö¸¦ ¶ç¿ï°ÍÀÓ -q µµ½º·Î..... A> ====================================================================== ´ÙÀ½Àº DEBUG »ç¿ë ¸í·É¾îÀÇ À϶÷ÀÌ´Ù.. DEBUG¸¦ »ç¿ëÇϴµ¥ ¸¹Àº µµ¿òÀÌ µÇ ¾úÀ¸¸é ÁÁ°Ú½À´Ï´Ù... ======================================================================= ¸í·É »ç¿ë¿¹ ¼öÇà ³»¿ë ¶Ç´ÂÇؼ³ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ A A100 CS:100¹øÁöºÎÅÍ ¸í·É¾î¸¦ ÀÔ·Â ----------------------------------------------------------------------- C C100 109 400 ºñ±³¸í·ÉÀ¸·Î,DS:100ºÎÅÍ 109±îÁöÀÇ 10¹ÙÀÌÆ®¸¦ DS:400ºÎÅÍ 409±îÁö 10 ¹ÙÀÌÆ®¿Í ºñ±³ C400L 10 500 DS:400ºÎÅÍ 10¹ÙÀÌÆ®¿Í DS:500ºÎÅÍ 10¹ÙÀÌÆ®¸¦ ºñ±³ ----------------------------------------------------------------------- D DCS:100 200 CS:100¹øÁöºÎÅÍ 200¹øÁö ±îÁö¸¦ DUMP DES:200 ES:200¹øÁöºÎÅÍ 128¹ÙÀÌÆ®¸¦ DUMP D¸¸À» ¾²¸é Çö ¶óÀκÎÅÍ 128¹ÙÀÌÆ®¸¦ DUMP ------------------------------------------------------------------------ E ECS:100 10 18 CS:100¹øÁöºÎÅÍ 10H,18H µÎ ¹ÙÀÌÆ® ³ÖÀ½ ECS:100 CS:100ºÎÅÍ ³Ö±â ½ÃÀÛ ------------------------------------------------------------------------ F F100L10 19 DS:100¹øÁöºÎÅÍ 10¹ÙÀÌÆ®¸¦ 19H·Î ä¿ò F100 200 99 DS:100ºÎÅÍ 200±îÁö 99H·Î ä¿ò ------------------------------------------------------------------------ G G200 Çö À§Ä¡ºÎÅÍ ¸í·ÉÀ» ¼öÇàÇÏ´Ù, CS:200 ¹øÁö¿¡¼­ ¸ØÃã G0,20 CS:0ºÎÅÍ CS:20¹ø±îÁö ¼öÇà ------------------------------------------------------------------------ I I60 Æ÷Æ® 60H¿¡¼­ ÇѹÙÀÌÆ® Àоî¿È ------------------------------------------------------------------------ L L FCB°¡ CS:5C¹øÁö¿¡ ÀÖ´Â È­ÀÏÀ» ·Îµå LDS:0 0 7 2 DS:0¹øÁö¿¡ Aµå¶óÀ̺ê 7¹ø°¼½ÅͺÎÅÍ 2¼½ÅͺÐÀ» ·Îµå ----------------------------------------------------------------------- M M100 200 500 DS:100¿¡¼­ºÎÅÍ 200±îÁö¸¦ 500¹øÁö·Î ¿Å±è M100L100 500 À§¿Í °°À½ ----------------------------------------------------------------------- N NÈ­ÀÏÀ̸§ È­ÀÏÀ̸§À»ÁÜ (LOAD,WRITE Àü¿¡ ¼öÇà) ------------------------------------------------------------------------ O O43 10 Æ÷Æ® 43H¿¡ 10H¸¦ ³»º¸³¿ ------------------------------------------------------------------------ Q Q DOS·Î º¹±Í ------------------------------------------------------------------------ R R ¸ðµç ·¹Áö½ºÅÍÀÇ ³»¿ëÀ» º¸¿©ÁÜ RBX BX·¹Áö½ºÅÍÀÇ ³»¿ëÀ» º¸¿©ÁÖ°í, º¯ °æµµ °¡´É ----------------------------------------------------------------------- S S 100 FFFF 'P' DS:100ºÎÅÍ FFFFH¹øÁö±îÁö¿¡¼­ P¸¦Ã£À½ S 100LFFFF 'P' À§¿Í °°À½ ------------------------------------------------------------------------ T T CS:IPÀÇ ¸í·ÉÀ» 1¶óÀÎ ¼öÇà T9 ¸í·ÉÀ» 9¶óÀÎ ¼öÇà ----------------------------------------------------------------------- U U 32¹ÙÀÌÆ®¸¦ ¿ª¾î¼Àºí U200 300 CS:0200ºÎÅÍ CS:0300±îÁö ¿ª¾î¼Àºí U200L100 À§¿Í °°À½ ----------------------------------------------------------------------- W W ±â°è¾î ÇÁ·Î±×·¥À» BX:CX¹ÙÀÌÆ®¸¸Å­ È­ÀÏ·Î½á ½á³ÖÀ½ WDS:100 0 7 4 DS:100¹øÁöºÎÅÍ 4¼½ÅͺÐÀ» Aµå¶óÀ̺ê 7¹ø°¼½ÅͺÎÅÍ 4¼½ÅͺÐÀ» ½á³Ö´Â´Ù. ======================================================================== *** DEBUG¸í·ÉÀ» ¾î´ÀÁ¤µµ ³¡¸¶Ä£°Í °°´Ù. ÈÞ¿ì ¹ú½á 310¶óÀÎ~~... ³¡¸¶Ä¡°í ½ÍÀºµ¥.... ¾ÆÁ÷ Á¶±Ý ³²Àº°Í °°´Ù....... DEBUGÀÇ »ç¿ë¿¡ ´ëÇÑ ¼÷·ÃÀ» À§ÇØ..... ------------------------------------------------------------------------ ´ÙÀ½°ú °°Àº ¸í·ÉÀ» µð¹ö°Å¿¡¼­ Çغ¸ÀÚ.... ???´Â ¿£ÅÍÅ°ÀÓ ¶óÀμö¸¦ °¨¼Ò ½ÃÅ°±âÀ§ÇØ...... ±×¸®°í Aµå¶óÀ̺꿡 ½ÇÇè¿ë µð½ºÅ©·Î ¾Æ¹« È­ÀÏÀ̳ª º£²¸¼­... A>DEBUG -LDS:0 0 0 1 Aµå¶óÀ̺ê 0¹ø ¼½ÅͺÎÅÍ 1¼½ÅͺÐÀ» DS:0000¹øÁö¿¡ ·Îµå -D ¾î¶² È­¸éÀÌ ¶ß´Â°¡´Â »ý·« ÇÏ°ÚÀ¾´Ï´Ù....Á÷Á¢ ¿©·¯ºÐÀÌ -D -U -LDS:0 0 7 5 -D -D -Q A> -------- #### ¸ÅÅ©·Î ¾î¼Àºí·¯ ÀÛÀº À̾߱â 4¹ø°¸¦ ³¡ ** ¸ÅÅ©·Î ¾î¼Àºí·¯ ³×¹ø° À̾߱⸦ ¸¶Ä¡¸ç..... À̹ø¿¡´Â Á¶±Ý ¸¹ÀÌ ¾´°Í°°´Ù. ¸¶Ä¥·Á°í Çϸé ÀÌÀ̾߱â ÀúÀ̾߱⠸· »ý°¢³ª°í ´ÙÀ½À¸·Î ¹Ì·ê·Á°í Çصµ ±×·¸°í ÇìÇì.. À̹ø¿¡´Â Á¶±Ý µüµü ÇÏÁö³ª ¾Ê¾Ò´ÂÁö. »©¸ÔÀº °Íµµ ¸¹±¸.. À̹ø¿¡´Â µð¹ö°Å ¾È¿¡¼­ÀÇ ÇÁ·Î±×·¡¹Ö ¹Û¿¡ ¾ø¾ú´Âµ¥, ´Ù À½¿¡ ±â´ë Çϱâ·Î ÇÏ°í, MIN91 ¹Î¼ºÁ¦´ÔÀÇ ¸Þ¸ð¸® À̾߱⸦ ¿¬ÀçÇÏ°í °è½Ã´Â µ¥, ¾î¼Àºí·¯¿¡¼­µµ ¸Þ¸ð¸®ÀÇ Á÷Á¢ÀûÀÎ ¾×¼¼½º, ¾²±âµîÀ» ÇؾßÇϴ¹Ù, ¸Þ¸ð¸® ¿¡ °üÇÑ À̾߱⸦ ½á¾ßÇÕ´Ï´Ù... ÀÌ·¸°Ô Àú·¸°Ô ¾²´Ùº¸¸é °­Á ³»¿ëÀÌ Ä¿Áú²¨ °í, Çѹø [¸Þ¸ð¸® À̾߱â]¸¦ Àо½Ã¸é, ¸¹Àº µµ¿òÀÌ µÇ¸®¶ó ¹Ï½À´Ï´Ù. ÁÁÀº ³»¿ëµµ ¸¹±¸¿ä.. ÇìÇì ¾Ë¾Æ µÎ¸é ¼ÕÇØ´Â ¾øÀ¸´Ï....... ................................ µð¹ö°Å¿¡ ´ëÇؼ­´Â ±×·¸°Ô ¾ê±â Çߴµ¥µµ ÀÚ²Ù¸¸ ´úÇØÁø°Í °°±âµµÇÏ°í, ¾ÕÀ¸ ·Î ¿¬»ê¸í·ÉÀ¸·Î µé¾î°¡¸é µð¹ö°ÅÀÇ »ç¿ë°ú ¿¬»êÈÄ ³»¿ëÈ®Àο¡´Â ÇÊ¿äÇÕ´Ï´Ù. ºÎÁ·ÇÑ ³»¿ëÀº Â÷Â÷Çϱâ·ÎÇÏ°í.......... ### ¸ÅÅ©·Î ¾î¼Àºí·¯ ÀÛÀºÀ̾߱â...´Ù¼¸Â° ????????? ¸ÅÅ©·Î ¾î¼Àºí·¯ ´Ù¼¸¹ø°¸¦ ½ÃÀÛÇϸç.......... ù¹ø°´Â »ç¿ë¹ý°ú ÇÁ·Î±×·¥, µÎ¹ø°´Â ºÐ±â, ¼¼¹ø°´Â ¼¼±×¸ÕÆ®ÀÇ À̸§,³× ¹ø°´Â µð¹ö°ÅÀÇ »ç¿ë¹ýÀ» ¼³¸í Çß´Ù. À̹ø ´Ù¼¸Â°´Â ¹«¾ùÀ» ÇÒ±îÇÏ´Ù°¡.... ¿¬»ê¸í·ÉÀ» ¼³¸íÇÒ±î ÇÕ´Ï´Ù... ***** ÇÁ·Î±×·¥ ****** CODE SEGMENT ASSUME CS:CODE, MOV BX,1012H ;BX·¹Áö½ºÅÍ¿¡ 1012H¸¦ ³Ö°í, ADD BX,3332H ;BX·¹Áö½ºÅÍ¿¡ 3331H¸¦ ´õÇÑ´Ù. MOV DL,BH ;BHÀÇ °ªÀ» DL¿¡ Àü¼Û MOV AH,02 INT 21H ;DL¿¡ ÀÖ´Â °ªÀ» Ãâ·Â MOV AH,02 MOV DL,BL ;´Ù½ÃDL¿¡ BX·¹Áö½ºÅÍÇÏÀ§ 8ºñÆ® Àü¼Û INT 21H ;DLÀ» È­¸é¿¡ Ãâ·Â MOV AH,4CH INT 21H CODE ENDS END ------------------------------------------------------------------------ SAMPLE6.ASMÀ¸·Î ÀúÀåÇÑÈÄ A>SAMPLE6 CD ;BX°¡ 4344H·Î µÇ¾î ÀÖÀ¸¹Ç·Î BH´Â 43,BLÀº 44 A> ;¾Æ½ºÅ° ÄÚµå 43H´Â CÀÌ°í 44H´Â DÀ̹ǷΠCD¸¦ Ãâ·Â ------------------------------------------------------------------------ ** ÇÁ·Î±×·¥ ¼³¸í *** À§ÀÇ ÇÁ·Î±×·¥¿¡¼­ÀÇ ´ëºÎºÐÀº ÀÌ¹Ì Àü¿¡ ¼³¸íÇÑ °ÍµéÀ̹ǷΠ¿¬»ê ¸í·ÉÁß µ¡ ¼À¿¡°üÇÑ ¸í·ÉÀ» ¼³¸íÇÕ´Ï´Ù. ADD ¸í·ÉÀº ADD OP1,OP2 Çϸç´Â OP2ÀÇ °ªÀ» OP1¿¡ ´õÇÕ´Ï´Ù. OP1°ú OP2ÀÇ Å©±â´Â °°¾Æ¾ßÇϸç( ÀÌ´Â OP1°ú OP2°¡ 8ºñÆ®À̸é 8ºñÆ® 16ºñÆ®À̸é 16ºñÆ® 32ºñÆ®À̸é 32ºñÆ®½Ä À¸·Î µÇ¾î¾ßÇÑ´Ù´Â ¾ê±âÀÓ) ·¹Áö½ºÅÍ¿Í ·¹Áö½ºÅͳ¢¸®, ·¹Áö½ºÅÍ¿Í ¸Þ¸ð¸®, ¸Þ¸ð¸®¿Í ¸Þ¸ð¸®,³¢¸® ´õÇÒ¼ö ÀÖ´Ù. ¸¸ÀÏ ¸Þ¸ð¸®°¡ ¹ÙÀÌÆ®´ÜÀ§·Î ¼³Á¤µÇ¾î ÀÖ°í, ¿öµå´ÜÀ§ÀÇ µ¡¼ÀÀ̶ó¸é, °­Á¦ÀûÀ¸·Î ±×ÇüÀ» ¹Ù²Ù´Â ÀÇ»ç¸í·ÉÀ» »ç¿ëÇؾßÇÔ (À̸í·ÉÀº ´ÙÀ½¿¡ ÇսôÙ.) ´õÇÏ´Â ¸í·É¿¡´Â ´Ù½Ã ADC¸í·ÉÀÌ Àִµ¥, À̴ ij¸®¸¦ Æ÷ÇÔÇÑ µ¡¼ÀÀÓ ´ÙÀ½Àº ADC¸í·ÉÀ» ÀÌ¿ëÇÑ ÇÁ·Î±×·¥ÀÌ´Ù. ------------------------------------------------------------------------ CODE SEGMENT ASSUME CS:CODE MOV AX,9999H ;AX·¹Áö½ºÅÍ¿¡ 9999H¸¦ ³ÖÀºÈÄ ADD AX,7777H ;7777H¸¦ ´õÇؼ­ ij¸®¸¦ ¹ß»ý ½ÃŲ´Ù. MOV BX,1201H ;BX·¹Áö½ºÅÍ¿¡ 1201H¸¦ ÁÖ°í ADC BX,1000H ;ij¸®¸¦ Æ÷ÇÔÇÑ µ¡¼ÀÀ» ÇÑ´Ù. MOV AH,4CH INT 21H ;Á¾·á ·çƾ CODE ENDS END ------------------------------------------------------------------------ À§ÀÇ ¹®ÀåÀ» ÄÄÆÄÀÏ ÇÑÈÄ ½ÇÇàÇϸé, A>SAMPLE7 A> ¾Æ¹«·± ¸Þ½ÃÁöµµ ¶ç¿ìÁö ¾Ê´Â´Ù. ÀÌ´Â ADC¸í·ÉÀ» ÀÌÇØÇϱâ À§ÇÑÇÁ·Î±×·¥À̹ǷÎ, µð¹ö°Å¸¦ »ç¿ëÇؼ­, ±×»óŸ¦ ¾Ë¾Æ º¸ÀÚ A>DEBUG SAMPLE7.EXE -U 14D8:0000 B89999 MOV AX,9999 À̺κÐÀÌ ÇÁ·Î±×·¡¹ÖÀ» 14D8:0003 057777 ADD AX,7777 ÇÑ ºÎºÐÀÌ°í, ¹Ø¿¡´Â ´Ü 14D8:0006 BB0112 MOV BX,1201 Áö ±× ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» 14D8:0009 81D30010 ADC BX,1000 DUMP ½ÃÄ×À» »ÓÀÌ´Ù. 14D8:000D B44C MOV AH,4C 14D8:000F CD21 INT 21 14D8:0011 B104 MOV CL,04----------------------------------- 14D8:0013 D1FA SAR DX,1 14D8:0015 D1D8 RCR AX,1 14D8:0017 FEC9 DEC CL 14D8:0019 75F8 JNZ 0013 14D8:001B 8900 MOV [BX+SI],AX 14D8:001D 5E POP SI 14D8:001E 8BE5 MOV SP,BP -R ±×·³ ·¹Áö½ºÅÍÀÇ »óÅ º¸°í AX=0000 BX=0000 CX=0011 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=14C8 ES=14C8 SS=14D8 CS=14D8 IP=0000 NV UP EI PL NZ NA PO NC 14D8:0000 B89999 MOV AX,9999 -T Æ®·¹À̽º ¸í·ÉÀ¸·Î ÃßÀûÇغ¸ÀÚ AX=9999 BX=0000 CX=0011 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=14C8 ES=14C8 SS=14D8 CS=14D8 IP=0003 NV UP EI PL NZ NA PO NC 14D8:0003 057777 ADD AX,7777 AX·¹Áö½ºÅÍÀÇ °ªÀÌ º¯°æ µÇ¾ú´Ù. -T AX=1110 BX=0000 CX=0011 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=14C8 ES=14C8 SS=14D8 CS=14D8 IP=0006 NV UP EI PL NZ AC PO CY 14D8:0006 BB0112 MOV BX,1201 ADD AX,7777À» ÇØÁÖ¾ú´Âµ¥, ±×¹üÀ§°¡ FFFFH¸¦ ³Ñ¾î ¼¹´Ù Ç÷¡±× ·¹Áö½ºÅÍÀÇ »óŸ¦ º¸¸é º¸Á¶Ä³¸® Ç÷¡±×ÀÇ °ªÀÌ NA¿¡¼­ AC·Î ij¸® Ç÷¡±×ÀÇ °ªµµ NC¿¡¼­ CY·Î ij¸®¸¦ ¹ß»ý ½ÃÄ×À½À» ¾Ë¼ö ÀÖ´Ù. -T AX=1110 BX=1201 CX=0011 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=14C8 ES=14C8 SS=14D8 CS=14D8 IP=0009 NV UP EI PL NZ AC PO CY 14D8:0009 81D30010 ADC BX,1000 -T ADC¸í·ÉÀ¸·Î ij¸®¸¦ Æ÷ÇÔÇÑ µ¡¼ÀÀ» ¼öÇà AX=1110 BX=2202 CX=0011 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=14C8 ES=14C8 SS=14D8 CS=14D8 IP=000D NV UP EI PL NZ NA PO NC 14D8:000D B44C MOV AH,4C -T ·¹Áö½ºÅÍÀÇ »óŸ¦ º¸¸é BX·¹Áö½ºÅÍ¿¡ óÀ½ 1201H¸¦ ÁÖ°í, 1000H ¸¦ ij¸®¸¦ Æ÷ÇÔÇÑ µ¡¼ÀÀ̹ǷΠ2202H°¡ µÇ¾ú´Ù.(BX·¹Áö½ºÅ͸¦ º¸½Ã¾Ð 1201H + 1000H = 2201H°¡ µÇ´Âµ¥, ij¸®¸¦ Æ÷ÇÔÇؼ­, 2202H°¡ µÇ¾ú ´Ù. ADC¸í·ÉÀ¸·Î ÀÎÇØ Ç÷¡±× ·¹Áö½ºÅÍ µéµµ ¿ø·¡ÀÇ °ªÀ¸·Î ¼¼Æà µÇ°í ÀÖ´Â Á¡¿¡ À¯ÀÇ ÇϽʽÿÀ. CY => NC , AC => NA·Î AX=4C10 BX=2202 CX=0011 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=14C8 ES=14C8 SS=14D8 CS=14D8 IP=000F NV UP EI PL NZ NA PO NC 14D8:000F CD21 INT 21 -Q Á¾·á ¸í·É¾î A> ------------------------------------------------------------------------ µ¡¼À ¸í·ÉÀÌ ³¡³µ´Ù???? ±Û½ê ³¡³µ´ÂÁö ¸ð¸£°ÚÁö¸¸, ÇìÇì.. ¾ÆÁ÷µµ °¥±æÀº ¸Ö°íµµ ±â³ª±ä ±æÀÌ´Ù. ======================================================================== ´õÇÏ´Â ¸í·ÉÀº Àº ÀÌÂë Çϱâ·Î ÇÏ°í, »çÄ¢¿¬»êÀÇ ¸í·ÉµéÀ» ¼Ò°³ ÇÒ±î ÇÕ´Ï´Ù. SUB : »¬¼À ¸í·ÉÀ¸·Î½á ·¹Áö½ºÅͳ¢¸®, ¸Þ¸ð¸®¿Í ·¹Áö½ºÅÍ,·¹Áö½ºÅÍ¿Í ÁïÄ¡, ¸Þ¸ð¸®¿Í ÁïÄ¡ÀÇ »¬¼ÀÀ» ÇÑ´Ù. SBB : ij¸® Ç÷¡±×¸¦ Æ÷ÇÔÇÑ »¬¼ÀÀÌ´Ù. ·¹Áö½ºÅͳ¢¸®, ¸Þ¸ð¸®¿Í ·¹Áö½ºÅÍ, ·¹Áö½ºÅÍ¿Í ¸Þ¸ð¸®, ·¹Áö½ºÅÍ¿Í ÁïÄ¡,¸Þ¸ð¸®¿Í ÁïÄ¡ÀÇ Ä³¸®¸¦ Æ÷ÇÔÇÑ »¬¼ÀÀ»ÇÑ´Ù. MUL : °ö¼À ¸í·ÉÀ¸·Î ¹ü¿ë·¹Áö½ºÅÍ È¤Àº ¸Þ¸ð¸®¸¦ »ç¿ëÇÑ´Ù. IMUL : ºÎÈ£¸¦ Æ÷ÇÔÇÑ °ö¼ÀÀÌ´Ù. »ç¿ë¹ýÀº MUL°ú °°À½. DIV : ³ª´°¼À ¸í·ÉÀÌ´Ù, ¹ü¿ë·¹Áö½ºÅÍ È¤Àº ¸Þ¸ð¸® »ç¿ë. IDIV : ºÎÈ£¸¦ Æ÷ÇÔÇÑ ³ª´È¼À ¸í·ÉÀÌ´Ù. »ç¿ë¹ýÀº DIV¿Í °°´Ù. ======================================================================== ´ÙÀ½Àº »çÄ¢¿¬»êÀÇ ÀϺθ¦ ÀÌ¿ëÇÑ ÇÁ·Î±×·¥µéÀÌ´Ù... CODE SEGMENT ASSUME CS:CODE MOV BX,5555H ;BX·¹Áö½ºÅÍ¿¡ 3333H¸¦ ÁÖ°í, MOV AX,1111H ;AX·¹Áö½ºÅÍ¿¡ 1111H¸¦ ÁØÈÄ, SUB BX,AX ;BX·¹Áö½ºÅÍ¿¡¼­ AX·¹Áö½ºÅ͸¦ »«´Ù. MOV AH,02 MOV DL,BH ;»óÀ§ 8ºñÆ®¸¦ ÁÖ°í INT 21H ;Ãâ·Â MOV DL,BL ;ÇÏÀ§ 8ºñÆ®¸¦ ÁÖ°í INT 21H ;Ãâ·Â ;---------------------------------------------------------- ; ¿©±â¿¡¼­´Â ´ë¹®ÀÚ DD¸¦ Ãâ·Â MOV BX,1111H ;BX·¹Áö½ºÅÍ¿¡ ´Ù½Ã 1111H¸¦ ÁÖ°í SUB BX,2222H ;1111H - 2222H = -1111H MOV AH,02 MOV DL,BH INT 21H ; BHÀÇ °ªÀº 1111H - 2222H = EEEFH MOV DL,BL INT 21H ; ASCII CODE°ªÀ» Ãâ·Â ;-------- ;ij¸® Ç÷¡±×°¡ ¼¼Æà µÇ¾î ÀÖ´Ù... MOV AX,24H MOV BL,8 ;BL¿¡ ¼ýÀÚ¸¦ ÁÖ°í ³ª´©¼ÀÀ»½ÃÅ°¸é, DIV BL ;AL·¹Áö½ºÅÍ¿¡´Â ¸ò, AH¿¡´Â ³ª¸ÓÁö°¡./.. MOV BX,AX ;AX / BX = AL * BX + AH MOV AH,02 ;³ª¸ÓÁö¸¦ µð½ºÇ÷¹ÀÌ MOV DL,BH INT 21H MOV DL,BL ;¸òÀ» µð½ºÇ÷¹ÀÌ INT 21H MOV AH,4CH INT 21H ;------------------------- CODE ENDS END ======================================================================== ¿À´ÃÀº °ö¼À±îÁö¸¸ÇÏ°í, ³ª´È¼À°ú »çÄ¢¿¬»ê¿¡ °úÇÑ ³»¿ëÀº ´ÙÀ½¿¡ ´Ù¸£±â·Î ÇÏÀÚ, Áö±Ý ±îÁö ¾î¼Àºí·¯¸¦ °øºÎ Çϸ鼭µµ Àǹ®ÀÌ ¸¹À¸ ½ÇÅÙµ¥, Âü°í ¼­Àû µéÀ» °¡¸£ÄÑ µå¸±±î ÇÕ´Ï´Ù.... * ±³Çлç ÆíÀú 'MS-DOS ¸ÞÅ©·Î ¾î¼Àºí·¯' * Áý¹®´ç¿¡¼­ Æì³½ ' IBM XT/AT ±â¼ú»çÀü' * ±³Çлç ÆíÀú 'MS-DOS ¸ÅÅ©·Î ¾î¼Àºí·¯ È°¿ë 1' ÀÌ»óÀÇ Ã¥µéÀ» ÀÐÀ¸½Ã¸é ¸¹Àº µµ¿òÀÌ µÇ½Ã¸®¶ó ¹ÏÀ¸¸ç, ¾î¼Àºí·¯·Î ÇÁ·Î±×·¡ ¹Ö, ȤÀº C ·Î ÇÁ·Î±×·¡¹ÖÇÏ°í ½ÍÀº ºÐµéÀº ÇÊÈ÷ 'Áý¹®´ç¿¡¼­ Æì³½, "IBM XT/ AT ±â¼ú »çÀü"Àº ÀÐ¾î º½Á÷ ÇÕ´Ï´Ù.' #### ¸ÅÅ©·Î ¾î¼Àºí·¯ ÀÛÀº À̾߱â ..#5.. ³¡ ¸ÅÅ©·Î ¾î¼Àºí·¯ ÀÛÀº À̾߱⠴ټ¸¹ø°¸¦ ³¡³»¸ç, ¾î¼Àºí·¯¶ó´Â°Ô º¸Åë ¾î ·Á¿î°ÍÀº ¾Æ´ÏÀ̳ª, ±×·¸´Ù°í Çؼ­ ¹«Åδë°í ¾î·Á¿î°Íµµ ¾Æ´ÏÀÌ´Ù. ¿­¸íÁß¿¡ ¾ÆÈ©ÀÌ Áßµµ ÇÏÂ÷Çϴ°ÍÀÌ ¾î¼Àºí·¯ÀÌ´Ù. ÀÌ°÷ ±îÁö ¿ÍÁֽŠ¿©·¯ºÐ¿¡°Ô °¨»çµå¸®¸ç, ÇÏÁö¸¸ ¾ÆÁ÷µµ ¸Ó³­¸Õ±æÀÌ ³²¾Ò ´Âµ¥, ¾î¼³ª ÇÏ´Â »ý°¢ÀÌ µé±âµµ ÇÏ°í, ³»°¡ Áö±Ý ÁغñÇÏ°í ÀÖ´Â ½ÃÇèÀ» Æ÷±âÇÏ°í , ÀÌ°­ÀÇ¿¡ ´ëÇÑ Áغñ¸¦ °è¼ÓÇÑ´Ù°í Çصµ ±âÃʸ¸ ¾ÆÁ÷µµ, ÇÑ´Þ ÀÌ»óÀÔ´Ï´Ù. ±âÃÊ, Áß±Þ, ÇÁ·Î±×·¥ Çؼ® ±îÁöÇؼ­ Áö±Ý»óÅ·Π¼®´Þ³»Áö ´Ù¼¸ ´Þ Á¤µµ¸¦ Àâ¾Ò´Ù¸é, ¿©·¯ºÐÀº ¾î¶»°Ô »ý°¢ÇϽǷ±Áö........ ±× ÀÌÈÄ¿¡´Â °°ÀÌ ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇؼ­ ÀdzíÇÏ°í ½Í¾ú´Âµ¥................. Áö±Ý±îÁö 5ȸ¸¦ ¿¬ÀçÇÒµ¿¾È ¹«¾ù¿¡ ´ëÇØ ¹è¿ü³Ä°í ÇÑ´Ù¸é, º£ÀÌÁ÷¿¡¼­ ? ? "A" Á¤µµ.......................... »çÄ¢ ¿¬»êÀº ¾ÆÁ÷µµ ¸Ö¾ú´Âµ¥.... ¾îÈÞ............................ À§¿¡ ¿­°ÅÇÑ Âü°í ¼­ÀûµéÀº ÀÐ¾î º¼¸¸ ÇÏ´Ï Çѹø¾¿................... ±×¸®°í Á˼ÛÇÑ ¸»¾¸ÀÌ¿À³ª... ´ÙÀ½ ¿¬Àç¹°Àº ¾à 3ÀÏÁ¤µµ °É¸±°Í °°½À´Ï´Ù.... ### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â .. #6 & ½ÃÀÛÇϱâÀü¿¡... Àü ¿¬Àç¹°¿¡ ³ª´°¼ÀÀ» ¸ÕÀú Çߴµ¥, °ö¼ÀÀ» ¸ÕÀú ÇÑ°Í °°ÀÌ À̾߱Ⱑ µÇ¾ú ´Ù . Á˼ÛÀÇ ¸»¾¸À» µå¸®°í À̹ø¿¡´Â °ö¼À°ú ³ª´È¼À¿¡ °üÇÑ À̾߱⸦ ÇÏ°Ú ½À´Ï´Ù. ** ÇÁ·Î±×·¥ **** CODE SEGMENT ASSUME CS:CODE MOV AL,8 ;AL·¹Áö½ºÅÍ¿¡ 8À» ÁÖ°í MOV AH,0 ;AH·¹Áö½ºÅÍ¿¡ 0À» ÁÜÀ¸·Î½á ÃʱâÈ­ MOV BL,0EEH ;8*222H¸¦ ÇϱâÀ§ÇØ BLÀÇ °ªÀ» ¼³Á¤ MUL BL ;AL*BL = AX MOV BX,AX ;BX¿¡ AXÀÇ °ªÀ» Àü¼Û MOV AH,02 MOV DL,BH INT 21H ;°ö¼À °á°ú¸¦ Ãâ·Â MOV DL,BL INT 21H MOV AH,4CH INT 21H CODE ENDS END ==================================================================== SAMPLE9.ASMÀ¸·Î ÀúÀåÈÄ ÄÄÆÄÀÏÇÏ°í Ãâ·ÂÇÏ¸é ´ÙÀ½°ú °°´Ù. A>SAMPLE9 p ;»à¼Ò¸®°¡ ¸ÕÀú µé¸°ÈÄ p¸¦ Ãâ·Â A> ------------------------------------------------------------------ ***ÇÁ·Î±×·¥ ¼³¸í..... °ö¼À ¸í·ÉÀº AL °ú 8ºñÆ®ÀÇ ·¹Áö½ºÅͳª ¸Þ¸ð¸®¿Í ÇÑ°ÍÀº AX·¹Áö½ºÅÍ¿¡ ÀúÀå µÇ´Âµ¥, À§ÀÇ ÇÁ·Î±×·¥¿¡¼­ AL¿¡ 8À» ÁÖ°í ´Ù½Ã BL·¹Áö½ºÅÍ¿¡ 0EEH¸¦ ÁÖ¾ú´Ù. AL¿¡ Àִ°ªÀ» BL·Î °öÇ߱⠶§¹®¿¡ 8 * 0EEH = 0770H ,Áï AX·¹Áö½ºÅÍ¿¡ 0770H °¡ µé¾î °¡°Ô µÈ´Ù. À̸¦ Ãâ·Â ½Ãų¶§, AXÀÇ °ªÀ» BX¿¡ Àü¼ÛÇÑÈÄ AH¸¦ È­¸é ¿¡ Ãâ·Â ½ÃÅ°±â À§ÇÑ °ªÀ¸·Î ¹Ù²ÛÈÄ BH¸¦ ¸ÕÀú Ãâ·Â BLÀ» ³ªÁß¿¡ Ãâ·ÂÇÏ°í ÀÖ ´Ù. BH¿¡ µé¾î ÀÖ´Â °ªÀº 07HÀ̹ǷΠ7¹ø ¾Æ½ºÅ°ÀÇ °ªÀÎ »à¼Ò¸®¸¦ Ãâ·ÂÇÏ°í, B L¿¡ µé¾î ÀÖ´Â p¸¦ Ãâ·ÂÇÑ´Ù. Áö±Ý ±îÁö´Â 8ºñÆ®ÀÇ °ö¼ÀÀ» Çߴµ¥, ±×°á°ú°¡ 16ºñÆ®·Î AX·¹Áö½ºÅÍ¿¡ ÀúÀå µÈ´Ù´Â°ÍÀ» ¾Ë¾ÒÀ» °ÍÀÔ´Ï´Ù. 16ºñÆ®ÀÇ °ö¼ÀÀº AX·¹Áö½ºÅÍ¿¡ 16ºñÆ® ·¹Áö½ºÅÍ È¤Àº 16ºñÆ® ¸Þ¸ð¸®¸¦ °öÇÏ¸ç ±×°á°ú´Â DX:AX ÀÇ ·¹Áö½ºÅÍ¿¡ ÀúÀå µË´Ï´Ù. Áï 16ºñÆ® * 16ºñÆ® = 32ºñÆ® Çü½ÄÀ¸·Î DX·¹Áö½ºÅÍ¿Í AX·¹Áö½ºÅÍ¿¡ ±×°á°ú¸¦ ÀúÀå ÇÏ´Â °ÍÀÔ´Ï´Ù. ´ÙÀ½Àº 16ºñÆ® °ö¼ÀÀÇ ÇÁ·Î±×·¥ÀÔ´Ï´Ù. **** ÇÁ·Î±×·¥ ******* CODE SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX ;µ¥ÀÌŸ ¼¼±×¸ÕÆ® ¹øÁö¸¦ ÁöÁ¤ MOV AX,DATA1 ;AX¿¡ DATA1ÀÇ °ª 0AAAAH¸¦ Àü¼Û MUL DATA2 ;DATA2ÀÇ °ªÀ¸·Î °ö¼ÀÀ» ½ÇÇà MOV DATA3,DX ;DX:AX·Î °á°ú°¡ ÀúÀå µÇ±â ¶§¹®¿¡ MOV DATA4,AX ;DXÀÇ °ªÀº DATA3¿¡ AXÀÇ °ªÀº DATA4¿¡ MOV BX,DATA3 ;DATA3¿¡ µé¾î Àִ°ªÀ» BX¿¡ Àü¼Û MOV AH,02 MOV DL,BH ;±× °ªµéÀ» µð½ºÇ÷¹ÀÌ ÇϱâÀ§ÇØ INT 21H ;DL¿¡ Àü¼ÛÈÄ µð½ºÇ÷¹ÀÌ MOV DL,BL INT 21H MOV BX,DATA4 ;DATA4¿¡ °ªÀ» ´Ù½Ã BX¿¡ Àü¼Û MOV DL,BH ;ÇÑÈÄ µð½ºÇ÷¹ÀÌÇÑ´Ù INT 21H MOV DL,BL INT 21H MOV AH,4CH INT 21H CODE ENDS ;ÄÚµå ¼¼±×¸ÕÆ®¸¦ ³¡³»°í DATA SEGMENT ;µ¥ÀÌŸ ¼¼±×¸ÕÆ®ÀÌ´Ù DATA1 DW 0AAAAH ;¿öµå´ÜÀ§ÀÇ µ¥ÀÌŸÇüÀ» ÁöÁ¤ DATA2 DW 0CCCCH ;ÀÌ °ªÀ¸·Î °öÇϱ⸦ ÇØÁØ´Ù DATA3 DW ? ; ?´Â °ªÀ» ¹Þ¾ÆµéÀ̱â À§ÇÑ °ÍÀÌ´Ù DATA4 DW ? DATA ENDS ;µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ ³¡³»°í END ;ÇÁ·Î±×·¥ÀÇ Á¾·áÀÌ´Ù --------------------------------------------------------------------- ÇÁ·Î±×·¥ ½ÇÇà A>SAMPLE10 ; À̾߱⿡¼­´Â ÀÌ ¾Æ½ºÅ° Äڵ尪À» µð½ºÇ÷¹ÀÌ ÇÏÁö¸øÇϴµ¥ ;HEXÄڵ尪À¸·Î 88,87,77,78ÀÇ °ªÀ» µð½ºÇ÷¹ÀÌÇÔ A> -------------------------------------------------------------------- ?????? ÇÁ·Î±×·¥ÀÇ ¼³¸í AX·¹Áö½ºÅÍ¿¡ 0AAAAH¸¦ Àü¼Û ½ÃŲÈÄ 16ºñÆ® ¸Þ¸ð¸®·Î °ö¼ÀÀ» ÇÏ°í ÀÖ´Ù. 0AAAAH * 0CCCCH = 88877778H ÀÇ °ªÀ» °®´Âµ¥, DX¿¡´Â 8887H, AX¿¡´Â 7778HÀÇ °ªÀ» Áö´Ï°í ÀÖ´Ù. ÀÌ¿¡ DX¿Í AX´Â µð½ºÇ÷¹ÀÌ °úÁ¤¿¡¼­ »ç¿ëÇÒ ·¹Áö½ºÅÍÀ̱⠶§¹®¿¡ ¸Þ¸ð¸®·Î ÀÏ´Ü Àü¼Û ½ÃŲÈÄ ´Ù½Ã ºÒ·¯´Ù ±× °ªµéÀ» µð½ºÇ÷¹ÀÌ ÇÏ°í ÀÖ´Ù. ====================================================================== #### »çÄ¢ ¿¬»êÀÇ Á¤¸® µ¡¼À 8ºñÆ® + 8ºñÆ® = 8ºñÆ®¿¡ ÀúÀå (ÀÚ¸®¿Ã¸² ¹ß»ý½Ã ij¸®¸¦ ¹ß»ý) 16ºñÆ® + 16ºñÆ® = 16ºñÆ® (ÀÚ¸®¿Ã¸² ¹ß»ý½Ã ij¸®¸¦ ¹ß»ý) »¬¼À 8ºñÆ® - 8ºñÆ® = 8ºñÆ® (ÀÚ¸®ºô¸² ¹ß»ý½Ã ij¸®¸¦ ¹ß»ý) 16ºñÆ® - 16ºñÆ® = 16ºñÆ® (ÀÚ¸®ºô¸² ¹ß»ý½Ã ij¸®¸¦ ¹ß»ý) °ö¼À AL * 8ºñÆ® ·¹Áö½ºÅÍ È¤Àº ¸Þ¸ð¸® = AX ·¹Áö½ºÅÍ AX * 16ºñÆ® ·¹Áö½ºÅÍ È¤Àº ¸Þ¸ð¸® = DX:AX·¹Áö½ºÅÍ ³ª´È¼À AX / 8ºñÆ® ·¹Áö½ºÅÍ È¤Àº ¸Þ¸ð¸® = AL¿¡ ¸ò AH¿¡ ³ª¸ÓÁö DX:AX / 16ºñÆ® ·¹Áö½ºÅÍ È¤Àº ¸Þ¸ð¸® = AX¿¡ ¸ò DX¿¡ ³ª¸ÓÁö ** ÁÖÀÇ ** ¸¸ÀÏ AX·¹Áö½ºÅÍ¿¡ 0FFFFH°¡ µé¾î ÀÖ°í À̸¦ 8ºñÆ®ÀÇ ¸Þ¸ð¸®³ª ·¹Áö½ºÅÍ¿¡ µé¾î ÀÖ´Â ¼ýÀÚ·Î ³ª´©´Âµ¥, ¸·¾à 1Á¤µµÀÇ ¼ýÀÚ¶ó¸é 0FFFFH / 1 = 0FFFFH °¡ µÈ´Ù. Áï ¸òÀÌ 0FFFFH°¡ µÇ°í ³ª¸ÓÁö´Â 0ÀÌ µÇ´Âµ¥, ÀÌ 0FFFFH´Â AL·¹Áö½ºÅÍ¿¡ µé¾î °¥¼ö ¾ø´Â °ªÀÌ´Ù. ÀÌ°æ¿ì¿¡´Â ¿À¹öÇ÷ο츦 ¹ß»ý½ÃÅ°°í, INT 0 Áï 0¹ø ÀÎÅÍ·¾Æ®¸¦ ¹ß»ý½ÃÄÑ ½ÇÇàÀ» ÁßÁöÇÏ´Ï, ¿°µÎ¿¡ µÎ°í¼­ ÇÁ·Î±×·¡¹ÖÇؾßÇÑ´Ù. ====================================================================== ´ÙÀ½Àº ´ë¹®ÀÚ¸¦ ÀÔ·ÂÇؼ­ ´ë¹®ÀÚ¿Í ¼Ò¹®ÀÚ¸¦ Ãâ·ÂÇÏ°í, ¼Ò¹®ÀÚ¸¦ ÀÔ·ÂÇÏ¸é ¼Ò¹®ÀÚ¿Í ´ë¹®ÀÚ¸¦ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. CODE SEGMENT ASSUME C:CODE INPUT: MOV AH,01 INT 21H ;Å°¸¦ ¹Þ¾ÆµéÀδÙ. CMP AL,'Q' ;'Q'À̸é ÇÁ·Î±×·¥ÀÌ Á¾·á JE EXIT CMP AL,'A' ;´ë¹®ÀÚ Aº¸´Ù ÀÛÀ¸¸é ±×³É µð½ºÇ÷¹ÀÌ JB DISP CMP AL,'Z' ;Zº¸´Ù Å©¸é ¼Ò¹«ÀÚÀÎÁö È®ÀÎÇÏ´Â ·çƾÀ¸·Î JA NOT_CAP ADD AL,'a'-'A' ;'a' - 'A'ÀÇ °ªÀº 20HÀÌ´Ù. JMP DISP ;´õÇÑ °ªÀ» µð½ºÇ÷¹ÀÌ NOT_CAP: ;¼Ò¹®ÀÚ¸¦ ´ë¹®ÀÚ·Î ¹Ù²Ù±â À§ÇÑ ·çƾÀÌ´Ù. CMP AL,'a' ;aº¸´Ù ÀÛÀ¸¸é ±×³É µð½ºÇ÷¹ÀÌ JB DISP CMP AL,'z' ;zº¸´Ù Å©¸é ±×³É µð½ºÇ÷¹ÀÌ JA DISP SUB AL,'a'-'A' ; DISP: ;¾ËÆĺªÀÌ¸é ¼¼ÆõǾî Àִ°ªÀ» µð½ºÇ÷¹ÀÌ MOV AH,02 MOV DL,AL INT 21H JMP INPUT EXIT: MOV AH,4CH INT 21H CODE ENDS END ============================================================ SAMPLE11.ASMÀ¸·Î ÀúÀåÈÄ ½ÇÇàÈ­ÀÏÀ» ¸¸µé¾î ½ÇÇàÇغ¸¸é, A>SAMPLE11 AaSs112255Pp==--00oOpPlLjJhHHhqQqQQ (´­·¯Áø Å°´Â AS125P=-0opljhHqqQÀÓ) A> ------------------------------------------------------------------------ *** ÇÁ·Î±×·¥ ¼³¸í ***** ÀÌ ÇÁ·Î±×·¥Àº ¾ËÆĺªÀ» Á¦¿ÜÇÑ ¹®ÀÚ´Â ±×´ë·Î Ãâ·ÂÇÏ°í ´ë¹®ÀÚ·Î ÀÔ·ÂÇÏ¸é ´ë¹®ÀÚ¿Í ¼Ò¹®ÀÚ¸¦ ¼Ò¹®ÀÚ¸¦ ÀÔ·ÂÇÏ¸é ¼Ò¹®ÀÚ¿Í ´ë¹®ÀÚ¸¦ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ ÀÌ´Ù. ¼Ò¹®ÀÚ¿Í ´ë¹®ÀÚ¸¦ ±¸ºÐÇÏ´Â ¹æ¹ýÀº ¾Æ½ºÅ° Äڵ尪À¸·Î À۰ųª Å©¸é ºÐ±âÇÏ´Â ·çƾ¿¡ ´ëÇØ Àß »ìÆ캸ÀÚ. ºÐ±â ¸í·ÉÀº ¾Õ¿¡¼­ ¼³¸íÇÑ´ë·ÎÀÌ°í, ADD¿Í SUB¸í·ÉÀÇ µÚ¿¡ 'a'-'A'¿¡ °üÇØ ¼³¸íÇÏ°íÀÚÇÑ´Ù. ¼Ò¹®ÀÚ aÀÇ ¾Æ½ºÅ°ÄÚµå °ªÀº 61HÀÌ°í ´ë¹®ÀÚ AÀÇ °ªÀº 41HÀÌ´Ù. b´Â 62H, B´Â 42H,c´Â 63H C´Â 43H........................ °è¼Ó 20H¾¿ Â÷ÀÌ°¡ ³ª´Âµ¥, 'a'-'A'= 20H°¡ µÈ´Ù. ÀÌ·çƾ¿¡¼­ ±×³É 20H¸¦ Á־ »ó°üÀÌ ¾ø´Ù. ------------------------------------------------------------------------ *** ÇÁ·Î±×·¥ ***** CODE SEGMENT ASSUME CS:CODE INPUT: MOV AH,01 INT 21H ;Å°°ªÀ» ¹Þ´Â´Ù. CMP AL,'Q' ;QÀ̸é Á¾·á JE EXIT MOV BL,AL ;ALÀ» ´ëÇÇÇÑÈÄ MOV AH,02 MOV DL,09H ;TABÃâ·Â INT 21H MOV AL,BL ;AL¿¡ ´Ù½Ã ¿ø·¡ Å°°ªÀ» Àü¼Û MOV AH,0 ;AH¿¡ 0À» Á־ AX¸¦ ¼³Á¤ MOV BH,10H ;BH¿¡ 10H¸¦ ÁÖ¾î MUL BH ;AX / BH Áï AX¸¦ 10H·Î ³ª´«´Ù. MOV BL,AL ;´Ù½Ã ALÀ» ´ëÇÇ MOV DL,AH ;AH°ªÀ» DL¿¡ ÁØÈÄ CMP DL,9 ;±× °ªÀÌ 9º¸´Ù Å«°¡? JBE HE ;9ÀÌÇϸé HE·Î ADD DL,7 ;9º¸´Ù Å©¸é 37H¸¦ °¡»ê HE: ADD DL,30H ;9ÀÌÇϸé 30H¸¦ °¡»ê MOV AH,02 INT 21H ;±× °ªÀ» Ãâ·Â MOV AL,BL ;´ëÇÇÇÑ °ªÀ» ´Ù½Ã ¹Þ´Â´Ù MOV AH,0 ;AH¿¡ 0À» ÁÜÀ¸·Î½á AX¸¦ ¼³Á¤ DIV BH ;AX / BH Áï 10H·Î ³ª´«´Ù MOV DL,AL ;¸òÀ» DL¿¡ ÁÖ°í CMP DL,9 ;9¿Í ºñ±³Çؼ­ JBE HA ;ÀÌÇϸé HA·Î ADD DL,7 ;º¸´ÙÅ©¸é 37H¸¦ °¡»ê HA: ADD DL,30H ;ÀÌÇÏÀ̸é 30H¸¦ °¡»ê MOV AH,02 INT 21H ;±× °ªÀ» Ãâ·Â MOV DL,0DH ;ij¸®Áö ¸®ÅÏÀ» DL¿¡ÁÖ°í INT 21H ;Ãâ·Â MOV DL,0AH ;¶óÀÎÇǵ带 ÁÖ°í INT 21H ;Ãâ·Â JMP INPUT ;´Ù½Ã Å°°ªÀ» ¹Þ¾ÆµéÀδÙ. EXIT: ;Á¾·á ·çƾÀÌ´Ù MOV AH,4CH INT 21H CODE ENDS END ================================================================ SAMPLE12.ASMÀ¸·Î ÀúÀåÇÑÈÄ ½ÇÇà È­ÀÏÀ» ¸¸µé¸é, A>SAMPLE12 A 41 (A¸¦ ´©¸§) B 42 (B¸¦ ´©¸§) G 47 (G¸¦ ´©¸§) Q (Q¸¦ ´©¸§ ... Á¾·á) A> ------------------------------------------------------------------- ** ÇÁ·Î±×·¥ ¼³¸í **** Å°º¸µå¿¡¼­ ¾Æ¹«Å°³ª ´©¸£¸é ±×¿¡ ÇØ´çÇÏ´Â ¾Æ½ºÅ° Äڵ尪À» 16ÁøÀ¸·Î Ç¥½ÃÇÏ ´Â ÇÁ·Î±×·¥ÀÌ´Ù. AL¿¡ ´­·¯Áø Å°ÀÇ ¾Æ½ºÅ° ÄÚµå °ªÀÌ ÀÔ·Â µÇ´Âµ¥, BH¿¡ 10H ¸¦ Á־ °öÇÏ°í ÀÖ´Ù. °öÇÑ°ªÀº AX·¹Áö½ºÅÍ¿¡ ÀúÀå µÇ´Âµ¥, ¸¸¾à A¸¦ ´­·¶ ´Ù´Â °¡Á¤ÇÏ¿¡ ÀÌÇÁ·Î±×·¥À» ¼³¸íÇÏ°Ú½À´Ï´Ù. Ãʱâ AL·¹Áö½ºÅÍ¿¡ µé¾î ÀÖ´Â °ªÀº A´Ï±î 41HÀÌ´Ù. ÀÌ AL·¹Áö½ºÅ͸¦ 10H¹è Çϸé, AH·¹Áö½ºÅÍ¿¡´Â 04H,AL¿¡´Â 10HÁï AX ·¹Áö½ºÅÍ ¿¡ 0410H °¡ µé¾î ÀÖ°Ô µÈ´Ù. AH¸¦ DL¿¡ ³Ñ°ÜÁØÈÄ 9¿Í ºñ±³Çؼ­ ÀÌÇÏÀ̸é 30H¸¦ ´õÇÏ°í º¸´ÙÅ©¸é 37H¸¦ ´õ ÇØÁִµ¥, 0~~9±îÁöÀÇ ¾Æ½ºÅ°ÄÚµå °ªÀº 30~~39H ÀÌ°í A~~F±îÁöÀÇ ¾Æ½ºÅ° ÄÚµå ÀÇ °ªÀº 41H~~46HÀ̹ǷΠ9ÀÌ»óÀÇ °ªÀ̸é A¿¡¼­ F»çÀÌÀÇ °ªÀ» Ãâ·ÂÇÑ´Ù. ¸¸¾à¿¡ NÀ» ´­·¶´Ù¸é, NÀÇ ¾Æ½ºÅ°ÄÚµå °ªÀº 4EHÀ̹ǷÎ, 4´Â 9º¸´Ù ÀÛÀ¸¹Ç·Î 30H¸¦ ´õÇؼ­ 34H Áï 4¸¦ Ãâ·ÂÇÑ´Ù. ±×¸®°í ³­ÈÄ 0EH´Â 9º¸´Ù Å©¹Ç·Î óÀ½ 7À» ´õÇØÁ༭ ALÀÇ °ªÀº 15H°¡ µÈ´Ù. ¿©±â¿¡ ´Ù½Ã 30H¸¦ ´õÇØÁֹǷΠ45H°¡ µÈ´Ù. 45HÀÇ ¾Æ½ºÅ° ÄÚµå´Â EÀ̹ǷΠE¸¦ Ãâ·ÂÇÑ´Ù . ±×·¡¼­ 4E¸¦ Ãâ·ÂÇÏ°Ô µÈ´Ù. ¶óÀÎÇǵå¿Í ij¸®Áö¸®ÅÏÀº Å°º¸µå¿¡¼­ ¿£ÅÍ¿Í °°Àºµ¥, ¾î¼Àºí·¯¿¡¼­ ÀÌ¿Í °°Àº È¿°ú¸¦ ´©¸±·Á°íÇÏ¸é µÎ¾Æ½ºÅ°ÀÇ °ª 0AH¿Í 0DH¸¦ Ãâ·ÂÇÏ¿© ÁÖ¾î¾ßÇÑ´Ù. ======================================================================== #### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â ..#6 ³¡ && ¿©¼¸¹ø° À̾߱⸦ ¸¶Ä¡¸é¼­ ¹ú½á 200ÁÙÀÌ ³Ñ¾î ¼±°Í °°´Ù.... Àß ¼³¸íÇÒ¼ö ÀÖ¾úÀ¸¸é ÁÁ¾ÒÀ¸·Ã¸¸, ÀÌÇØ´Â ¾î¶»°Ô µÇ¼Ì´ÂÁöµµ ±Ã±Ý... ¸ð¸£´Â Á¡À̳ª.... ±Ã±ÝÇÑÁ¡ÀÌ ÀÖÀ¸¸é ¿¬ ¶ô Áֽÿɰí, ¾ÕÀ¸·Î´Â ÇÁ·Î±×·¥À» ½Æ°í ±×¿¡ ´ëÇÑ Çؼ®À¸·Î °è¼Ó À̾߱⸦ ÇÒ±îÇÕ´Ï´Ù..... ÁÁÀº ½Ã°£ÀÌ µÇ½Ã±æ............ ### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#7 && À̾߱⸦ ½ÃÀÛÇϸç... ¿Í ¹ú½á ·°Å° ¼¼ºìÀÌ´Ù... 7ȸ ±îÁö ¿¬ÀçÇϸ鼭... µµ½ºÀÇ ¹øÁö ÁöÁ¤ ¹æ½ÄÀ» Á¶±Ý Çã¼úÇÏ°Ô ¾ê±â Çß´ø°Í °°´Ù... 3ȸ ¿¬À綧 ¼¼±×¸ÕÆ® ¹øÁö¸¦ ÇÑÀÚ¸® ¿Ã¸®°í ¼¼±×¸ÕÆ®ÀÇ ¹øÁö¸¦ ´õÇؼ­ Àý´ë ¹øÁö¸¦ »êÃâÇس½´Ù°í Çߴµ¥,.... Áö³ª°íº¸´Ï ³»°¡ Àб⿡µµ ÀÌ»óÇÏ´Ù. ÀÌ·¸°Ô Á¤Á¤ÇÕ´Ï´Ù.... "¼¼±×¸ÕÆ®¹øÁö¸¦ 4ºñÆ® ³í¸®ÀûÀ¸·Î ½ÃÇÁÆ® ½ÃŲÈÄ ¿ÀÇÁ¼Â¹øÁö¸¦ ´õÇØÁ־ Àý´ë¹øÁö¸¦ »êÃâÇس½´Ù." À̹ø ¿¬Àç´Â ¼­ºê·çƾÀÇ È£Ãâ¿¡ ´ëÇØ ¼³¸íÇÏ°Ú½À´Ï´Ù. *** ÇÁ·Î±×·¥ *** CODE SEGMENT ASSUME CS:CODE,DS:CODE ORG 100H ;ÇÁ·Î±×·¥ÀÇ ½ÃÀÛÀ» 100H¹øÁöºÎÅÍ ÇÏ°Ú´Ù´Â ; ÀÇ»ç Ç¥ÇöÀÓ START: MOV BX,0 INPUT: MOV AH,06 ;DLÀÇ ³»¿ë¿¡ µû¶ó Ç¥ÁØ ÀÔÃâ·Â ÀåÄ¡·ÎºÎÅÍ MOV DL,0FFH ;¹®ÀÚ¸¦ ÀÔÃâ·Â INT 21H JNZ PRINT ;¹®ÀÚ°¡ ÀԷµǸé, PRINT¶õ ·¹À̺í·Î Á¡ÇÁ INC BX ;BX¸¦ Áõ°¡ ½ÃŲ´Ù CMP BX,10 ;BX°¡ 10º¸´Ù Å©¸é JGE START ;BX¸¦ ¼¼ÆýÃÅ°±âÀ§ÇØ START·Î Á¡ÇÁ JMP INPUT ;±×·¸Áö ¾ÊÀ¸¸é, INPUT·Î PRINT: ;À§ÀÇ ·çƾ¿¡¼­ Å°°¡ ÀԷµǸé À̸®·Î ¿Â´Ù. CALL STRING ;STRING¶ó´Â ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÏ°í ÀÖ´Ù. MOV AH,4CH INT 21H ;ÇÁ·Î±×·¥ÀÇ Á¾·á STRING PROC ;STRING ÇÁ·Î½ÃÁ®ÀÌ´Ù. SHL BX,1 ;BX·¹Áö½ºÅ͸¦ 2¹èÇØÁØÈÄ MOV DX,STR[BX] ;DX¿¡ BX°ª¿¡µû¶ó ¿ÀÇÁ¼Â ¹øÁö¸¦ ÁÖ°í ÀÖ´Ù. MOV AH,09H INT 21H ;½ºÆ®¸µÀ» È£Ãâ.. STRING ENDP ; MOON DB '´Þ',0DH,0AH,'$' SUN DB 'ÇØ',0DH,0AH,'$' STAR DB 'º°',0DH,0AH,'$' EARTH DB 'Áö±¸',0DH,0AH,'$' TREE DB '³ª¹«',0DH,0AH,'$' STONE DB 'µ¹',0DH,0AH,'$' WATER DB '¹°',0DH,0AH,'$' SEA DB '¹Ù´Ù',0DH,0AH,'$' MOUNT DB '»ê',0DH,0AH,'$' FLOW DB '²É',0DH,0AH,'$' ; STR DW OFFSET MOON, OFFSET SUN, OFFSET STAR, OFFSET EARTH DW OFFSET TREE, OFFSET STONE, OFFSET WATER, OFFSET SEA DW OFFSET MOUNT, OFFSET FLOW CODE ENDS END START ===================================================================== À§ÀÇ ÇÁ·Î±×·¥À» CHOICER.ASMÀ¸·Î ÀúÀåÇÑÈÄ A>MASM CHOICER; A>LINK CHOICER; A>EXE2BIN CHOICER.EXE CHOICER.COM??? ÇÑÈÄ A>CHOICER º° (¾Æ¹«Å°³ª ´­·¶À»¶§ À̱ÛÀÚ°¡ ¶á´Ù) A> A>CHOICER ÇØ (¸¶Âù°¡Áö·Î ¾Æ¹« Å°³ª ´­·¶´Ù.) A> ======================================================================== ***** ÇÁ·Î±×·¥ÀÇ ¼³¸í À§ÀÇ ÇÁ·Î±×·¥Àº ±ÄÀÌ ÇÁ·Î½ÃÁ®¸¦ È£ÃâÇÒÇÊ¿ä´Â ¾øÀ¸³ª, CALL¸í·É°ú ÇÁ·Î½ÃÀú ÀÇ ¼³¸íÀ» À§ÇØ ÇÁ·Î±×·¡¹Ö ÇÏ¿© º¸¾Ò´Ù. Ãʱâ BX·¹Áö½ºÅ͸¦ 0À¸·Î ¼¼Æà ½ÃÅ°°í ³­ÈÄ MOV AH,06 MOV DL,0FFH INT 21H JNZ PRINT ... ... ¶ó°í ÇÁ·Î±×·¥ÀÌ µÇ¾î ÀÖ´Ù. µµ½º Æã¼ÇÄÝ¿¡¼­ ±â´É¹øÈ£ 6¹øÀº DL¿¡ ¼¼Æà µÇ¾î ÀÖ´Â °ª¿¡ µû¶ó º¯Çϴµ¥, DL = 0FFHÀΰæ¿ì Ç¥ÁØ ÀÔ·Â ÀåÄ¡·ÎºÎÅÍ ¹®ÀÚ°¡ ÀÔ·Â µÇ¸é, ¹®ÀÚ Äڵ带 AL¿¡ ³Ö°í Á¦·Î Ç÷¡±×¸¦ 0À¸·Î ¼¼Æ®. ¹®ÀÚÀÇ ÀÔ·ÂÀÌ ¾øÀ¸¸é, Á¦·ÎÇ÷¡±×¸¦ 1·ÎÇÔ. DL = 0FFH °¡ ¾Æ´ÏÀÏ°æ¿ì DL¿¡ ÀÖ´Â ¹®ÀÚÄڵ带 Ç¥ÁØ Ãâ·Â ÀåÄ¡·Î º¸³»¸ç,CON TROL - C¸¦ °Ë»çÇÏÁö ¾Ê´Â´Ù. ±â´É¹øÈ£ 6¹øÀº ±â´É¹øÈ£ 1¹ø°ú °°ÀÌ ¹«Á¶°Ç ÀÔ·ÂÀ» ±â´Ù¸®Áö ¾ÊÀ¸¸ç, ÀÔ·ÂÀÌ ÀÖµç ¾øµç ´ÙÀ½ÀÇ ¸í·ÉÀ» ½ÇÇà ÇÑ´Ù. ±×·¯¹Ç·Î INC BX ¿¡¼­ ÀÏÁ¤ÇÏ°Ô BXÀÇ °ª ÀÌ ³ªÅ¸³ª´Â°Ô ¾Æ´Ï¶ó, °è¼Ó Áõ°¨ÀÌ ÀÌ·ç¾îÁö°í ÀÖ´Â »çÀÌ¿¡ Å°¸¦ ´©¸£°Ô µÇ ¾î ÀÖ´Ù., ¸¸ÀÏ ¾Æ¹«·± Å°À̵çÁö ´­·¯Áö¸é, ±×Å°°¡ ´­·¯Á³À»¶§ÀÇ BXÀÇ °ªÀ» °®°í, PRINT ¶õ ·¹À̺í·Î °¡°Ô µÇ¾î ÀÖ´Ù. PRINT¶õ ·¹ÀÌºí¿¡¼­´Â CALL STRING ¶õ ¸í·ÉÀ¸·Î STRING¶õ ÇÁ·Î½ÃÁ®¸¦ È£Ãâ Çϴµ¥, ºÐ±â ¸í·ÉÀº ÄÚµåÀÇ °ª¿¡ µû¶ó Á¡ÇÁ¸¦ ÇØÁÖ°í ¶Ç SHORTÁ¡ÇÁ¹Û¿¡ ½ÇÇà ÀÌ ºÒ°¡´ÉÇÏ´Ù. SHORT JUMP´Â -127BYTE ~~~~ +128BYTE¹üÀ§ ³»¿¡¼­ Á¡ÇÁ¸¦ ÇÏ ¸ç ¸¸¾à ±× ÀÌ»óÀÇ ÄÚµå·Î Á¡ÇÁ¸¦ ÇÒ·Á°í ÇÑ´Ù¸é, ÄÄÆÄÀÏ °úÁ¤¿¡¼­ ¿¡·¯¸¦ ¶ç ¿ì´Ï À¯ÀÇ Çؼ­ ÇÁ·Î±×·¡¹ÖÀ» ÇÏÀÚ. ÀÌ·± °æ¿ì Áß°£ ¿¬°á Á¡ÇÁ¸¦ »ðÀÔÇÏ´Â ÇÁ·Î±×·¥ÀÇ °æ¿ì°¡ ¸¹Àºµ¥, Äڵ尡 º¹ÀâÇØÁö°í Çؼ®ÀÌ ºÒÆíÇÑ °æ¿ì°¡ ¸¹´Ù. ÇÁ·Î½ÃÀú´Â PROCNAME PROC ... ..... .... RET PROCNAME ENDP ÇüÀ¸·Î ÁöÁ¤ ÇØÁÖ¾î¾ßÇϸç, ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Îµµ »ç¿ëÇÒ¼ö ÀÖ´Ù PROCNAME: ........ ........ RET PROCNAME ENDP Áï ÇÁ·Î½ÃÀúÀÇ ½ÃÀÛÀ» ¾Ë·ÁÁÖÁö ¾Ê°í ·¹À̺íÀ» CALLÇÒ¼öµµ ÀÖÀ¸³ª ¹Ýµå½Ã CAL L¼­ºê·çƾÀÇ ³¡Àº ¸®ÅÏ ÄÚµå¿Í ÇÁ·Î½ÃÀúÀÇ ³¡ÀÓÀ» ¾Ë·ÁÁÖ¾î¾ßÇÑ´Ù. ¸¸ÀÏ RET¶õ ¸®ÅÏ ¸í·ÉÀ» ¸¸³ª¸é, ±×È£Ãâ Çß´ø ÇÁ·Î±×·¥ ÄÚµåÀÇ ¹Ù·Î ´ÙÀ½À¸·Î °¡¼­ ¸í·ÉÀ» ½ÃÀÛÇÑ´Ù. .... ... CALL SSS MOV AH,09 INT 21H ... ... SSS PROC ... ... RET SSS ENDP ... .... .. CALL SSS MOV AH,4CH INT 21H .. ¶õ Çü½ÄÀÇ ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù¸é óÀ½ CALL SSS¿¡¼­ ¼­ºê·çƾ SSS¸¦ ½ÇÇàÇÑÈÄ MOV AH,09 INT 21H¸¦ ½ÃÇàÇÑ´Ù. ±×´ÙÀ½ ¹®ÀåÀ» ½ÇÇàÇÏ´Ù°¡. ¹Ø¿¡¼­ ´Ù½Ã SSSÇÁ·Î½ÃÀú¸¦ È£ÃâÇϴµ¥, SSS¸¦ ½ÇÇàÇÑÈÄ MOV AH,4CH INT 21 H¸¦ ½ÇÇàÇÑ´Ù... ¼­ºê·çƾ¿¡´Â ´Ù½Ã ÀÇ»ç ¸í·ÉÀÌ Àִµ¥, ÀÌ¿¡ ´ëÇؼ­´Â ÄÄÆÄÀÏ °úÁ¤¿¡¼­ ÇÊ¿ä ÇÑ°ÍÀε¥ FARÇü°ú NEARÇüµîÀÌ Àִµ¥ ´ÙÀ½¿¡ ¼³¸íÇϱâ·Î ÇÏÀÚ. ======================================================================= ´ÙÀ½Àº ¼­ºê·çƾÀÇ ÇÁ·Î±×·¥ÀÇ ¿¹ÀÌ´Ù. *** ÇÁ·Î±×·¥ *** CODE SEGMENT ASSUME CS:CODE,DS:CODE ORG 100H ;100H¹øÁö ºÎÅÍÀÇ ½ÇÇà START: MOV CX,26 ;26À» ÁÖ¸é, CX°¡ 0À϶§ ±îÁö ½ÇÇàÇϹǷΠ27¹ø MOV DL,41H CHL1: CALL DISP ;óÀ½ DISP¶õ ¼­ºê·çƾÀ» È£Ãâ INC DL ;DLÀÇ °ªÀ» Áõ°¡ LOOP CHL1 ;CHL1 À¸·Î MOV CX,26 MOV DL,61H ;´Ù½Ã DLÀÇ °ªÀ» ¼Ò¹®ÀÚ·Î Ãâ·ÂÇϱâÀ§ÇØ.. CHL2: CALL DISP ;´Ù½Ã DISP·çƾÀ» È£ÃâÇÏ°í ÀÖ´Ù. INC DL LOOP CHL2 MOV AH,4CH INT 21H DISP PROC ;ÀÌ·çƾÀÌ ¼­ºê·çƾÀÌ´Ù. MOV AH,02 ;DL¿¡ ¼¼ÆÃµÈ °ªÀ» Ãâ·ÂÇÑ´Ù. INT 21H RET DISP ENDP CODE ENDS END START ------------------------------------------------------------------------ ÄÄÆÄÀÏ ÇÑÈÄ ½ÇÇàÇÏ¸é ´ÙÀ½°ú °°´Ù...(COMÈ­ÀÏ·Î º¯È¯Çϼ¼¿ä) A>ALPH ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz A> ======================================================================== **** ÇÁ·Î±×·¥ ¼³¸í CX¿¡ °ªÀ» ÁÖ°í CX·¹Áö½ºÅÍ°¡ 0ÀÌ µÉ¶§ ±îÁö ·çÇÁ¸¦ µ¹¸®¸é¼­, DLÀÇ °ªÀ» Áõ °¡½ÃÄѼ­ ¾Æ½ºÅ° ÄÚµå °ªÀ» Áõ°¡ ½ÃÅ°°í ÀÖ´Ù. óÀ½ DL¿¡ 41H¸¦ÁÖ¾î DISP¸¦ È£ÃâÇÏ¿© A¸¦ Ãâ·ÂÇÏ°í, RET¸¦ ¸¸³ª È£ÃâÇß´ø ´Ù À½ ¸í·ÉÀÎ INC DLÀ» ½ÇÇàÇϹǷΠDLÀÇ °ªÀÌ 42H°¡ µÇ°í ´Ù½Ã DISP¸¦ È£ÃâÇؼ­ µð½ºÇ÷¹ÀÌÇÏ°í ´Ù½Ã DLÀ» Áõ°¡½ÃÄÑ, DL = 43H°¡µÇ°í DISP¸¦ È£ÃâÇÏ°í ........ ÀÌ·¸°Ô ´ë¹®ÀÚ¸¦ Ãâ·Â ½ÃŲÈÄ ¼Ò¹®ÀÚ¸¦ ´Ù½Ã Ãâ·Â ÇÏ°í ÀÖ´Ù. ¼Ò¹®ÀÚ Ãâ·Â ·çƾµµ À§¿Í °°´Ù. ------------------------------------------------------------------------ ÇÁ·Î½ÃÀú È£ÃâÀº Àڲ٠ȣÃâ Çϱ⠶§¹®¿¡ ¼Ó·ÂÀÌ Á¶±ÝÀº ´À¸°°¨ÀÌ ÀÖ´Ù. ÇÏÁö¸¸, Äڵ带 ÀÛ°Ô ¸¸µå´Âµ¥´Â ÁÁÀ¸¸ç, ÇÁ·Î±×·¥ÀÇ È帧°ú Àб⿡ ÁÁÀº Á¡ ÀÌ Àֱ⵵ ÇÏ´Ù. ¼­ºê·çƾÀÇ È£Ãâ½Ã µµ½º¿¡¼­´Â CS¿Í IP¸¦ PUSH½ÃÄѼ­, RET¸¦ ¸¸³ª¸é POP½ÃÄÑ Àü¿¡ ½ÇÇà Çß´ø ¸í·É¾î Äڵ带 ã¾Æ¿Â´Ù. Á¶±Ý ÇÁ·Î±×·¥ÀÌ º¹ÀâÇØÁö°í ¾î·Á¿öÁ® °¡¸é, ½ºÅÃÀ» ÀÌ¿ëÇÏ´Â °æ¿ì°¡ ¸¹Àºµ¥ À̶§ PUSH¿Í POP¸¦ À߸ø »ç¿ëÇϰųª ÇÏ¿´À»¶§¿¡´Â CS¿Í IPÀÇ °ªÀÌ À߸ø ¼¼Æà µÇ¾î ¾û¶×ÇÑ °÷À¸·Î °¡°Å³ª ¹«ÇÑ ·çÇÁ·Î ¿¡ÀÇ Á¡ÇÁµîÀÌ ÀÏ¾î ³¯¼öµµ ÀÖÀ¸´Ï ÁÖÀÇ Çؼ­ ÇÁ·Î±×·¡¹Ö ÇؾßÇÑ´Ù. #### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â ..#7 ³¡ &&& ÀÏ°ö¹ø°ÀÇ À̾߱⸦ ¸¶Ä¡¸ç... ¾ÆÁ÷µµ ¸¹Àº ¾ê±â°¡ ³²Àº°Í °°Àºµ¥... ½º½Â´ÔÀ» ¸¸³ª·¯ °¬´õ´Ï... ÀÚÃÊÇؼ­ °í»ýÇÑ´Ù°í.... ±×·¸Áö¸¸ ¸¹ÀÌ ¹è¿ì°Ôµµ µÉ°ÍÀ̶ó³ª.... Àü¿¡ ºÎÅÍ ¿¡µðÅÍ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ°í Àִµ¥, 2500¶óÀÎÀ» ³Ñ¾î ¼­°í Àִµ¥ µµ ¿å½ÉÀÌ ¸¹¾Æ ÀÌ°Í Àú°Í Áý¾î ³Ö´Ù º¸´Ï.. ±î¸¶µæÇÏ°í ÁöÄ¡°í ... 2õ ¿©¶óÀÎ Àε¥µµ È­ÀÏ Å©±â°¡ °Ü¿ì 4¸¸ ¹ÙÀÌÆ®ÀÇ ½ÇÇàÄڵ带 ¸¸µé¾î ³½°ÍÀº ¸¶À½¿¡ µå´Âµ¥, Ä¿¼­ÀÇ °ªÀ» ÁöÁ¤Çϴµ¥. ¾î·Á¿òÀÌ ¸¹¾Æ Àá½Ã ¼Ò°­ »óÅ´Ù. ¾ðÁ¨°¡´Â ÇØ¾ß ÇÒ°ÍÀε¥... #### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#8 &&&¿©´ü¹ø° À̾߱⸦ ½ÃÀÛ Çϸ鼭...... ¾î·ÆÁö ¾ÊÀ¸¼¼¿ä??? »¡¸®»¡¸® Áøµµ¸¦ ³ª°¡´Â°Í °°±âµµ ÇÏ°í... µå¹®µå¹® ¼³¸íÀ» ¾ÈÇÑ°Í °°±âµµ ÇÏ°í ¿©·¯ºÐÀÇ ÀÇ°ßÀ» ¼ö·ÅÇÕ´Ï´Ù... ID´Â GONNGOÀ̱¸¿ä À̸§Àº ±è´ë¼ö... ¸ÞÀÏÀ̳ª °ø°³ ÆíÁö·Î... °ø°³ ÆíÁö´Â ´Ù¸¥µ¥ Á¦°¡ À߾Ȱ¡°É¶û¿ä... ÇѶó°ñ¿¡........ ºÎŹÇØ¿ë..... À̹ø¿¡ À̾߱⵵ ±æ¾îÁú°Í °°¾Ö¿ä.. ÀڷḦ »Ì¾Æ ³õÀº°Í¸¸ 150¶óÀÎÀ̶ó... ### À̹ø¿¡´Â ¸ÅÅ©·Î È®Àå¸í·É°ú. ¸®½ºÆ®È­Àϵ ´ëÇØ »ìÆì º¸°Ú½À ´Ï´Ù.... *** ÇÁ·Î±×·¥ **** ================================================================ dis macro char ;¹®ÀÚ¸¦ Ãâ·ÂÇÏ´Â ¸ÅÅ©·ÎÀÌ´Ù. mov dl,char mov ah,02 int 21h endm ;´ÙÀ½Àº Å°¸¦ ¹Þ¾ÆµéÀÌ´Â ¸ÅÅ©·ÎÀÓ inkey macro mov ah,01 int 21h endm ;´ÙÀ½Àº Æã¼ÇÄÝ 9¹øÀ» ÀÌ¿ëÇÑ ¹®ÀÚ¿­ Ãâ·Â ÇÁ·Î±×·¥ÀÓ disstr macro off mov dx,offset off mov ah,09 int 21h endm ;---------------------------- code segment assume cs:code,ds:data mov ax,data mov ds,ax ;µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ ¼¼Æà inkey ;Å°¸¦ ÀԷ¹޴ ¸ÅÅ©·Î¸¦ È£Ãâ dis al ;¹®ÀÚ¸¦ Ãâ·ÂÇÏ´Â ¸ÅÅ©·Î¸¦ È£Ãâ disstr tr ;¹®ÀÚ¿­À» Ãâ·ÂÇÏ´Â ¸ÅÅ©·Î¸¦ È£Ãâ mov ah,4ch int 21h code ends ;ÄÚµå ¼¼±×¸ÕÆ®ÀÇ ³¡ÀÓ data segment ;µ¥ÀÌŸ ¼¼±×¸ÕÆ®ÀÇ ½ÃÀÛ tr db 'good morning everyboby','$' ;¹®ÀÚ¿­ data ends end ;ÇÁ·Î±×·¥ÀÇ ³¡ÀÓÀ» ¾Ë¸°´Ù ======================================================================== ÇÁ·Î±×·¥À» ¼Ò¹®ÀڷΠ®´Âµ¥... ¾î¼Àºí¸®¿¡¼­´Â ´ë¼Ò¹®ÀÚÀÇ ±¸º°ÀÌ ¾ø½À´Ï´Ù. ½±°Ô R.ASMÀ¸·Î ÀúÀåÀ»ÇÏ°í... ´ÙÀ½°ú °°ÀÌ Çغ¸½Ã¸é, ¸ÅÅ©·ÎÀÇ È®Àå°ú ¸®½ºÆ® È­ÀÏÀ» »ý¼º ÇϽǼö ÀÖ½À´Ï´Ù. A>MASM R Microsoft (R) Macro Assembler Version 5.00 Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved. Object filename [r.OBJ]: Source listing [NUL.LST]:R Cross-reference [NUL.CRF]:R 50656 + 403616 Bytes symbol space free 0 Warning Errors 0 Severe Errors A> À§¿Í °°Àº Çü½ÄÀ¸·Î ÇÏ¸é ¸ñÀûÈ­ÀÏ°ú ¸®½ºÆ®È­ÀÏ ±×¸®°í Å©·Î½º ·¹ÆÛ·±½º È­ÀÏÀ» ¾òÀ»¼ö ÀÖ½À´Ï´Ù. ¸®½ºÆ®È­ÀÏÀº ¹ö±×ÀÇ ÃßÀûÀ̳ª ¿¡·¯¸Þ½ÃÁö¸¦ ¹ß°ß Çس»´Âµ¥ »ç¿ëÇϸé ÇÁ·Î±×·¡¹Ö°úÁ¤¿¡¼­ ¾îµð¼­ À߸ø µÇ¾ú´ÂÁö ¾Ë¼ö ÀÖ½À´Ï´Ù. À§ÀÇ °úÁ¤À» ´ÙÀ½°ú °°ÀÌ Çصµ µË´Ï´Ù. A>MASM R R R R ÇÏ½Ã¸é °°Àº °á°ú°¡ ³ª¿À´Ï Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù. ´ÙÀ½Àº ÄÄÆÄÀÏÈÄ ¸ñÀûÈ­ÀÏÀÌ ¸¸µé¾î Áø°ÍÀ» ½ÇÇà È­ÀÏ°ú MAPÈ­ÀÏÀ» ¸¸µé¾î º¸°Ú½À´Ï´Ù. A>LINK R Microsoft (R) Overlay Linker Version 3.60 Copyright (C) Microsoft Corp 1983-1987. All rights reserved. Run File [R.EXE]: List File [NUL.MAP]:R Libraries [.LIB]: LINK : warning L4021: no stack segment A> À§¿Í °°ÀÌ ÇÏ½Ã¸é ½ÇÇàÈ­ÀÏÀÎ R.EXE¿Í R.MAPÈ­ÀÏÀ» ¾òÀ»¼ö ÀÖ½À´Ï´Ù. NO STCACK SEGMENT¶ó´Â ¿ö´× ¿¡·¯¸¦ ¹ß»ý½ÃÅ°Áö¸¸... ÀÌ´Â Àú¹ø¿¡ ¼³¸íÇßµí µµ½º »ó¿¡¼­ ¾î´ÀÁ¤µµ ±îÁö´Â ½ºÅÃÀ» Àâ¾Æ ÁÖ´Ï °ÆÁ¤ ÇÏ½Ç ÇÊ¿ä°¡ ¾ø°í, ½ºÅà À» È®½ÇÈ÷ »ç¿ëÇϰųª ÇϽ÷Á¸é ÇÁ·Î±×·¡¹Ö °úÁ¤¿¡¼­ ¾Ë¸Â°Ô Á¤ÇØ ÁÖ¾î¾ß ÇÕ ´Ï´Ù. ´ÙÀ½Àº ¸®½ºÆ® È­ÀÏ º¸´Â¹æ¹ý°ú ¸ÅÅ©·ÎÀÇ È®Àå¿¡ ´ëÇØ ¼³¸í ÇÏ°Ú½À´Ï´Ù. ÄÄÆÄÀÏ °úÁ¤¿¡¼­ R.LSTÈ­ÀÏÀÌ ¸¸µé¾î Á³À» °ÍÀÔ´Ï´Ù. °®°í °è½Å ¿¡µðÅ͸¦ »ç¿ëÇÏ¿© º¸½Ã°Å³ª µµ½º»ó¿¡¼­ A>TYPE R.LST ÇÏ½Ã¸é ´ÙÀ½°ú °°ÀÌ Ãâ·Â ÇÒ°ÍÀÔ´Ï´Ù. ======================================================================== Microsoft (R) Macro Assembler Version 5.00 3/5/92 16:26:23 Page 1-1 1 dis macro char 2 mov dl,char 3 mov ah,02 4 int 21h 5 endm 6 inkey macro 7 mov ah,01 8 int 21h 9 endm 10 disstr macro off 11 mov dx,offset off 12 mov ah,09 13 int 21h 14 endm 15 ;---------------------------- 16 0000 code segment 17 assume cs:code,ds:data 18 0000 B8 ---- R mov ax,data 19 0003 8E D8 mov ds,ax 20 inkey 21 0005 B4 01 1 mov ah,01 22 0007 CD 21 1 int 21h 23 dis al 24 0009 8A D0 1 mov dl,al 25 000B B4 02 1 mov ah,02 26 000D CD 21 1 int 21h 27 disstr tr 28 000F BA 0000 R 1 mov dx,offset tr 29 0012 B4 09 1 mov ah,09 30 0014 CD 21 1 int 21h 31 0016 B4 4C mov ah,4ch 32 0018 CD 21 int 21h 33 001A code ends 34 0000 data segment 35 0000 67 6F 6F 64 20 6D 6F tr db 'good morning everyboby ','$' 36 72 6E 69 6E 67 20 65 37 76 65 72 79 62 6F 62 38 79 24 39 0017 data ends 40 end Microsoft (R) Macro Assembler Version 5.00 3/5/92 16:18:44 Symbols-1 Macros: <= ¸ÅÅ©·Î¸¦ »ç¿ëÇÑ °¹¼ö¿Í ¸ÅÅ©·ÎÀÇ Å©±â¸¦ ¾Ë¼ö ÀÖ´Ù. N a m e Lines DIS . . . . . . . . . . . . . . 3 DISSTR . . . . . . . . . . . . . 3 INKEY . . . . . . . . . . . . . 2 Segments and Groups: <= ¼¼±×¸ÕÆ®ÀÇ À̸§°ú Å©±âµîÀ» ¾Ë¼ö ÀÖ´Ù. N a m e Length Align Combine Class CODE . . . . . . . . . . . . . . 001A PARA NONE DATA . . . . . . . . . . . . . . 0017 PARA NONE Symbols: N a m e Type Value Attr TR . . . . . . . . . . . . . . . L BYTE 0000 DATA @FILENAME . . . . . . . . . . . TEXT r 29 Source Lines 37 Total Lines 8 Symbols 50658 + 403534 Bytes symbol space free 0 Warning Errors 0 Severe Errors ===================================================================== 1¹øºÎÅÍ 15¹ø ±îÁö´Â ¸ÅÅ©·Î ·Î½á ¸®½ºÆ® È­ÀÏ¿¡´Â ÀÖÀ¸³ª, ÄÄÆÄÀÏ °úÁ¤¿¡¼­ ÄÄÆÄÀÏ ÇÏÁö ¾Ê½À´Ï´Ù. 16¹ø 17¹øµµ ÀÇ»ç ¸í·ÉÀ¸·Î½á ÄÄÆÄÀÏ ÇÏÁö´Â ¾ÊÀ¸³ª MASMÀÇ ÀÇ»ç¸í·ÉÀ̹ǷΠÀÌ°÷À¸·ÎºÎÅÍ ÇÁ·Î±×·¥ÀÇ ½ÃÀÛÀÌ´Ù. ÇÏ´Â ÀÇ»çÀÔ´Ï´Ù. 18¹ø 19¹øÀº µ¥ÀÌŸ ¼¼±×¸ÕÆ® ¹øÁö¸¦ ¾Ë·ÁÁÖ´Â ÄÚµåÀÌ°í, 20¹øÀº ¸ÅÅ©·ÎÈ®Àå À̹ǷΠINKEY ¶õ ¸ÅÅ©·Î¸¦ °¡Á® ¿Í¼­ È®ÀåÀ» ÇÕ´Ï´Ù.21¹øºÎÅÍ´Â ±×¾Õ¿¡ º¸ ¸ç´Â 1À̶õ ¼ýÀÚ°¡ ÀÖÁö¿ä ÀÌ°ÍÀÌ È®ÀåµÈ ¸ÅÅ©·Î¶õ Ç¥½ÃÀÔ´Ï´Ù. 21 0005 B4 01 1 MOV AH,01 21Àº Çà¹øÈ£... 0005´Â ÄÚµå ¼¼±×¸ÕÆ® 0005¹øÁö¸¦ ÀǹÌÇÏ°í B4 01Àº ±â°è¾î·Î ½á 0005¹øÁö¿¡ B4 01À» ½Æ°Ô µË´Ï´Ù. 1Àº È®ÀåµÈ ¸ÅÅ©·Î¶õ ¶æÀÌ°í, MOV AH,01 Àº ¿ª¾î¼Àºí·Î¼­ ÀÌ°ÍÀÇ ±â°è¾î Äڵ尡 ¹Ù·Î B4 01ÀÔ´Ï´Ù. 33¹øÀ» º¸¸é 001A·Î µÇ¾î Àִµ¥ ÀÌ°ÍÀº ÄÚµå ¼¼±×¸ÕÆ®ÀÇ Å©±â°¡ 1A¹ÙÀÌÆ®ÀÌ ´Ù.. ¶ó°í º¼¼ö ÀÖ½À´Ï´Ù. 34¹øÀº ´Ù½Ã 0000À¸·Î µÇ¾î Àִµ¥ ÀÌ´Â µ¥ÀÌŸ ¼¼±×¸ÕÆ® ¿¡ ¿ÀÇÁ¼Â¹øÁö°¡ 0 ¹øÁö ºÎÅÍ ½ÃÀÛÀÓÀ» ¾Ë¼ö ÀÖÀ¾´Ï´Ù. 35,36,37,38¹øÀ» º¸¸é ±×¹øÁö¿¡ µ¥ÀÌŸ°¡ µé¾î ÀÖÀ½À» ¾Ë¼ö ÀÖ½À´Ï´Ù. 40¹ø¿¡¼­ ÇÁ·Î±×·¥ÀÇ ³¡ÀÓÀ» ¾Ë¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½Àº MAPÈ­ÀÏÀÔ´Ï´Ù. »ç¿ë¼¼±×¸ÕÆ® Å©±âµîÀ» º¼¼ö ÀÖÀ¾´Ï´Ù. A>TYPE R.MAP LINK : warning L4021: no stack segment Start Stop Length Name Class 00000H 00019H 0001AH CODE 00020H 00036H 00017H DATA ------------------------------------------------------------------------ ##### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#8 &&& ¿©´ü¹ø° À̾߱⸦ ¸¶Ä¡¸ç..... ´õ¿í ¹Ì±ÃÀ¸·Î³ª ¹Ð¾î ³ÖÁö ¾Ê¾Ò´ÂÁö.... ¾Æ¹«·¡µµ Á÷Á¢ ¾ê±âÇϴ°ͺ¸´Ù´Â ¸ðÀÚ¶õ Á¡ÀÌ ¸¹À¸´Ï.... ´ÙÀ½¿¡µµ °è¼Ó ¸ÅÅ©·Î¿¡ °üÇÑ À̾߱⸦ ÇÒ±îÇÕ´Ï´Ù... ±×¸®°í ±×ÇÇÄ¿ Æ÷Æ®ÀÇ Á¦¾îµµ... ÁÁÀº ½Ã°£ÀÌ µÇ½Ê½Ã¿À.... #### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#9 && ¾ÆÈ©¹ø° À̾߱⸦ ½ÃÀÛ Çϸç.... À̹ø¿¡´Â ¿¹°í´ë·Î ½ºÇÇÄ¿ Æ÷Æ®ÀÇ Á¦¾î¿¡ ´ëÇØ À̾߱âÇÏ°Ú½À´Ï´Ù... ÇÑ °¡Áö °ÆÁ¤ÀÌ µÇ´Â°ÍÀÌ ÀÖ´Ù¸é... ½ºÇÇÄ¿ Æ÷Æ®´Â 61H¸¦ »ç¿ëÇϴµ¥ 286ÀÌ»óÀÇ »óÀ§ ±âÁ¾¿¡¼­µµ 61HÆ÷Æ®°¡ ½ºÇÇÄ¿Æ÷Æ®ÀÎÁö È®½ÇÇÏÁö ¾Ê´Ù´Â°ÍÀÌ´Ù... ¾î¼Àºí·¯´Â À̽ļº °¡Àå Å« ¹®Á¦·Î ³²´Âµ¥....... Ȥ 286 ÀÌ»óÀÇ »ç¿ëÀÚ ²²¼­ À̹ø ÇÁ·Î±×·¥ÀÌ ½ÇÇàÀÌ ¾ÈµÇ°Å³ª.... ÀÌ»óÀÌ ÀÖÀ¸¸é.. ¸ÞÀÏÀ» Áֽñ⠹ٶø´Ï´Ù. Æ÷Æ®ÀÇ Á¦¾î¿¡´Â IN,OUT¸¦ »ç¿ëÇÕ´Ï´Ù. ±×¸®°í Æ÷Æ®ÀÇ Á¦¾î´Â ±â°è¿¡ Á÷Á¢ÀûÀÎ ¸í·ÉÀ» Áֱ⠶§¹®¿¡... Á¦¾î½Ã »ó´çÇÑ ÁÖÀǸ¦ ±â¿ïÀÌÁö ¾ÊÀ¸¸é,..... ½Ã½ºÅÛÀÇ ¿úºÎÆÃÀº ¿¹»ñÀÏ·Î ÇؾßÇÏ¸ç ½ÉÇÑ °æ¿ì¿¡´Â È­ÀÏÀÇ Æı«µîÀ» °¡Á® ¿Ã¼öµµ ÀÖÀ¸´Ï... »ç¿ë½Ã ÁÖÀÇ ¹Ù¶ø´Ï´Ù (º»ÀÎ Àº ½ºÇÇÄ¿ Æ÷Æ®¸¦ Á¦¾îÇÏ´Ù.. µð¹ö°Å³ª.. µµ±úºñµîÀ» ´Ù½Ã Ä«ÇÇÇؾ߸¸ Çß´ø Àûµµ ÀÖ½À´Ï´Ù..) ±×·³ ¼­·ÐÀ» ±×¸¸ÇÏ°í... ÇÁ·Î±×·¥À¸·Î... *** ÇÁ·Î±×·¥ *** ;ÀÌ ÇÁ·Î±×·¥Àº 61HÆ÷Æ®ÀÇ 1¹ø° ºñÆ®¸¦ Åä±Û½ÃÄÑ À½ÇâÀ» ¹ß»ý ½ÃÅ°´Â ;ÇÁ·Î±×·¥ÀÓ code segment assume cs:code start: in al,61h ;61HÆ÷Æ®¸¦ Àоî¿È mov cx,09ffh ;CX¿¡ ·çÇÁ¸¦ µ¹¸±°ªÀ» ÁØ´Ù. sound: xor al,2 ;¹Ø¿¡ ¼³¸í out 61h,al push cx ;CX¸¦ ´ëÇÇ ½ÃŲ´Ù add cx,0ff1h ;CX¿¡ ´õÇØÁÜÀ¸·Î¼­ . Áö¿¬½ÃÅ°´Â ½Ã°£À» º¯È­ wat: loop wat ;Áö¿¬ pop cx ;´ëÇǽÃŲ CX¸¦ ȸº¹ loop sound and al,11111100b ;½ºÇÇÄ¿¸¦ off½ÃŲ´Ù out 61h,al mov ah,4ch ;ÇÁ·Î±×·¥À» Á¾·á int 21h code ends ;Äڵ弼±×¸ÕÆ®ÀÇ ³¡ end ;ÇÁ·Î±×·¥ÀÇ ³¡ ------------------------------------------------------------------------ À§ÀÇ ÇÁ·Î±×·¥À» ÄÄÆÄÀÏ ÇÑÈÄ ½ÇÇàÇϸé... A>SOUND1 (¿ÀÅä¹ÙÀÌ ¼Ò¸® ºñ¼ýÇÏ°Ô µé¸²) A> ------------------------------------------------------------------------ ** ÇÁ·Î±×·¥ÀÇ ¼³¸í Æ÷Æ®´Â 8ºñÆ® ¶Ç´Â 16ºñÆ®·¹Áö½ºÅ͸¦ »ç¿ëÇؼ­ Á¦¾î¸¦ Çϴµ¥,, 61H´Â 8ºñÆ® Æ÷Æ®ÀÌ´Ù.. ±×¸®°í Æ÷Æ®ÀÇ ·¹Áö½ºÅ͸¦ ÀÐ¾î ¿Ã¶§¿¡´Â AL,AX·¹Áö ½ºÅ͸¦ »ç¿ëÇϸç, Æ÷Æ®¿¡ µ¥ÀÌŸ¸¦ ³Ñ°ÜÁÙ¶§µµ AL,AX·¹Áö½ºÅ͸¦»ç¿ëÇÑ´Ù. 61HÆ÷Æ®ÀÇ 2~~7ºñÆ®´Â Å×ÀÌÇÁÀÇ °¨±âµî¿¡ »ç¿ëµÇ¹Ç·Î.. À̸¦ ¼¼Æà ½ÃÄÑÁ־ ´Â ½Ã½ºÅÛµîÀÌ Á¤ÁöµÉ °¡´É¼ºÀÌ ¸¹´Ù. 0¹ø ºñÆ®´Â ³»ºÎ ŸÀ̸Ӹ¦ »ç¿ëÇØ À½ÀÇ ³ô³·À̸¦ °áÁ¤ÇÒ¶§ ¾²À̴µ¥,, ¾Æ·¡¿¡ ¿¹Á¦ ÇÁ·Î±×·¥¿¡¼­ ¼³¸í ÇÏ°Ú½À´Ï´Ù. 1¹ø ºñÆ®´Â ½ºÇÇÄ¿¸¦ Åä±Û ½ÃŲ´Ù°í..(Áï ON½ÃÅ°°Å³ª OFF½Ãų¼ö ÀÖÀ½) ÇÒ¼ö ÀÖ½À´Ï´Ù. À§ÀÇ ÇÁ·Î±×·¥Àº 1¹ø ºñÆ®¸¦ ON¶Ç´Â OFF½ÃÄѼ­ ¼Ò¸®¸¦ ³»´Â°ÍÀ¸·Î¼­.. À½Ç⠹߻ý ¸ÞÄ«´ÏÁò¿¡¼­ °¡Àå ±âº»ÀûÀ̱⵵ÇÏÁö¸¸.. ¶ÇÇÑ ¸¹Àº ¼Ò¸®¸¦ ¸¸µé¾î ³¾¼ö µµ ÀÖ½À´Ï´Ù. XOR¸í·É¿¡ °üÇØ ¼³¸íÇÏ°Ú½À´Ï´Ù... º£Å¸Àû ³í¸®ÇÕÀ̶ó°í ÇÏ´Â ÀÌ ¸í·ÉÀº µÎ°³ÀÇ µ¥ÀÌŸ Áï OP1°ú OP2¸¦ º£Å¸Àû ³í¸®ÇÕÀ¸·Î °è»êÇÏ¿© ±× °ªÀ» OP1À¸·Î ³Ñ°Ü ÁÝ´Ï´Ù..... XORÀÇ ³í¸®ÇÕ °è»êÀº ´ÙÀ½°ú °©½À´Ï´Ù. ------------------------------------------------ 0 XOR 0 = 0 1 XOR 0 = 1 0 XOR 1 = 1 1 XOR 1 = 0 ------------------------------------------------ ±×·³ À§ÀÇ ÇÁ·Î±×·¥¿¡¼­ AL·¹Áö½ºÅÍ¿¡ 61HÆ÷Æ®ÀÇ µ¥ÀÌŸ¸¦ °¡Á®¿Í ¼Ò¸®¸¦ ³» ·Á¸é 1¹ø ºñÆ®¸¦ ±ôºý(°è¼ÓÀûÀ¸·Î ON,OFF)ÀÌ°Ô ÇؾßÇϴµ¥, ´Ù¸¥ ºñÆ®¸¦ °Ç µå¸®Áö ¾Ê°í¼­ 1¹ø ºñÆ®¸¸À» Åä±Û ½ÃÅ°´Â ¹æ¹ýÀº XOR¸í·É¹Û¿¡ ¾ø´Ù. Áï ¿ø·¡ÀÇ µ¥ÀÌŸ¿¡ 0À» ÁÖ¸é... ±×µ¥ÀÌŸ¸¦ À¯ÁöÇÏ°í 1À»ÁÖ¸é...0À̸é 1·Î.. 1À̸é 0À¸·Î º¯Çϱ⠶§¹®¿¡... ¸¸¾à¿¡ IN AL,61H·Î AL·¹Áö½ºÅÍ¿¡ 61HÆ÷ Æ®ÀÇ µ¥ÀÌŸ¸¦ ÀÐ¾î ¿Ô´Âµ¥... ±× Àоî¿Â °ªÀÌ ´ÙÀ½°ú °°´Ù´Â °¡Á¤ÇÏ¿¡ ´ÙÀ½ À» ¼³¸í ÇÏ°Ú´Ù... AL¿¡ µé¾î ÀÖ´Â °ªÀ» 10110110 ÀÌ¶ó °¡Á¤ ÇÏ°í........ XOR AL,2 ¶ó´Â ¸í·ÉÀ» Áشٸé... 10110110 XOR 00000010 = 10110100 À̵ǰí ÀÌ °ªÀ» °®°í. ´Ù½Ã ¿¬»ê À» ÇϹǷÎ.... 10110100 XOR 00000010 = 10110110 10110110 XOR 00000010 = 10110100 ÀÌ·±½ÄÀ¸·Î 1¹ø ºñÆ®¸¸À» °è¼Ó ÀûÀ¸·Î Åä±Û ½Ãų¼ö ÀÖ´Ù... ´ÙÀ½Àº PUSH¸í·ÉÀε¥ PUSH¸í·ÉÀº ½ºÅÿ¡ ±× °ªÀ» ÀúÀåÇÑ´Ù. ²¨³»¿À´Â ¸í·ÉÀº POPÀÌ´Ù. 16ºñÆ® ´ÜÀ§·Î ½ºÅÿ¡ ÀúÀå ½ÃÅ°¸ç, FILO(FISRT IN LAST OUT)ȤÀº LIFO(LAST IN FIRST OUT)±¸Á¶¶ó°í ÇÑ´Ù... Á¦ÀÏ ¸ÕÀú µé¾î°£ µ¥ÀÌŸ´Â Á¦ÀÏ ³ªÁß¿¡ ²¨³» ¿Ã¼ö ÀÖÀ¸¸ç.. Á¦ÀÏ ³ªÁß¿¡ µé¾î°£ µ¥ÀÌŸ´Â Á¦ÀÏ ¸ÕÀú ²¨³»¿Ã¼ö ÀÖ´Ù. ´ÙÀ½ÀÇ ¿¹¸¦ º¸ÀÚ.... MOV AX,1234H AX·¹Áö½ºÅÍ¿¡ 1234H¸¦ ÁØÈÄ PUSH AX ½ºÅÿ¡ ÀúÀåÇÏ°í MOV AX,2222H ´Ù½Ã AX·¹Áö½ºÅÍ¿¡ 2222H¸¦ ÁÖ°í PUSH AX ´Ù½Ã ½ºÅÿ¡ ÀúÀå ½ÃÅ°°í MOV CX,3333H CX·¹Áö½ºÅÍ¿¡ 3333H¸¦ ÁØÈÄ PUSH CX ½ºÅÿ¡ ÀúÀåÇÏ°í ..... ´Ù¸¥ ¸í·ÉµéÀ» ½ÇÇàÇÏ´Ù ..... MOV CX,3312H CX·¹Áö½ºÅÍÀÇ °ªÀ» ¹Ù²Ù°í MOV AX,9999H AX·¹Áö½ºÅÍÀÇ °ªµµ ¹Ù²Ù°í ..... ..... ´Ù½Ã ´Ù¸¥ ¸í·ÉÀ» ½ÇÇàÇÏ´Ù POP CX CX·¹Áö½ºÅÍ¿¡ Á¦ÀÏ ³ªÁß¿¡ µé¾î°£µ¥ÀÌŸ¸¦ ÁÖ¾úÀ¸ ¹Ç·Î ÇöÀç CXÀÇ °ªÀº 3312H°¡ µÇ´Â°Ô ¾Æ´Ï¶ó. 3333HÀÌ´Ù. POP BX ¿©±â¿¡¼­ BX´Â À§ÀÇ ³×¹ø°¿¡¼­ PUSH AX½ÃŲ 2222H¸¦ °®´Â´Ù. POP CX ¿©±â¿¡¼­ CX´Â µÎ¹ø°ÁÙ¿¡¼­ PUSH½ÃŲ 1234H¸¦ °® ´Â´Ù. ½ºÅÿ¡ °üÇÑ°ÍÀ» ¸¹Àº ºÐµéÀÌ ¾Ë°í ÀÖ°ÚÁö¸¸ Ȥ½Ã ¸ð¸£½Ã´Â ºÐµéÀ» À§ÇØ Àû¾î º¸¾Ò½À´Ï´Ù. ±×·¯´Ï±î AX·¹Áö½ºÅÍ¿¡ °ªÀ» ÁÖ¾î ´ëÇÇ Çß´Ù°í Çؼ­ ²À AX·¹ Áö½ºÅÍ·Î ¹Þ´Â°Ô ¾Æ´Ï¶ó ´Ù¸¥ ·¹Áö½ºÅͳª ¸Þ¸ð¸®·Îµµ ¹Þ¾ÆµéÀδٴ °ÍÀÔ´Ï´Ù. ´Ü ½ºÅÃÀº 16ºñÆ® ´ÜÀ§·Î ¿òÁ÷Àδٴ °Í¿¡ ¸í½ÉÇϽðí........ À§ÀÇ ÇÁ·Î±×·¥À» °è¼ÓÇؼ­ ¼³¸í ÇÏ°Ú½À´Ï´Ù. óÀ½ CX¿¡ ·çÇÁ¸¦ µ¹¸± Ƚ¼ö¸¸Å­ ÀÇ °ªÀ» ÁØÈÄ Áß°£¿¡ ±× CX·¹Áö½ºÅÍÀÇ °ªÀ» ´ëÇǽÃÅ°°í ´Ù½Ã CX¿¡ °ªÀ» ÁÖ°í ·çÇÁ¸¦ µ¹¸®°í ·çÇÁ°¡ ³¡³ª¸é ´ëÇÇ µÇ¾ú´ø °ªÀ» °¡Á®¿Í¼­ À§ÀÇ ·çÇÁÀÇ ¿¬¼ÓÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù... º£ÀÌÁ÷ ·çƾ¿¡¼­ FOR I=100 TO 0 STEP -1 ... FOR J=50 TO 0 STEP -1 .... NEXT J NEXT I ¿Í °°´Ù°í »ý°¢ ÇÏ½Ã¸é µÉ°ÍÀÔ´Ï´Ù. Áß°£¿¡ Áö¿¬ ·çÇÁ¸¦ µ¹¸®´Â ÀÌÀ¯´Â ±× ÁÖÆļö°¡ ³Ê¹« »¡¶ó(³ô´Ù°í ÇؾßÇϳª?? ??) »ç¶÷ÀÇ ±Í¿¡ µé¸®Áö ¾Ê±â ¶§¹®¿¡ ÁÖÆļö¿¡ º¯È­¸¦ Áشٰí (»ç¶÷ÀÇ ±Í¿¡ µé¸±Á¤µµÀÇ ...)»ý°¢ÇÏ¸é µÉ°Í °°½À´Ï´Ù. ±×¸®°í CX·¹Áö½ºÅÍÀÇ °ªÀ» º¯È¯ ½ÃÄѼ­ µé¾îµµ º¸½Ã°í... 286ÀÌ»óÀÇ »ç¿ëÀÚ ²²¼­ ¸¸¾à¿¡ 61HÆ÷Æ®°¡ ½ºÇÇÄ¿ Æ÷Æ®°¡ ¸Â´Ù¸é... Áö¿¬½Ã°£ À» ¿¬Àå½ÃÅ°´Â ·çƾÀÌ ´õÇÊ¿ä ÇÒ°ÍÀÔ´Ï´Ù. ±×·² °æ¿ì¿¡´Â WAT: LOOP WAT ¶ó´Â Áö¿¬ ÇÁ·Î±×·¥ ¹Ø¿¡... MOV CX,0FFFFH SSS: LOOP SSS Çü½ÄÀ¸·Î ·çÇÁ¸¦ ´õ µ¹¸®¼Å¾ß Çϸç... ½Ã½ºÅÛÀÇ ¼Óµµ¸¦ ÃÖ´ëÇÑ ³·Ãß¾î¾ß ÇÒ°Í ÀÔ´Ï´Ù. ´ÙÀ½ AND AL,11111100B OUT 61H,AL ÇÑ °ÍÀº ½ºÇÇÄ¿¸¦ ²ô±â À§ÇÑ °ÍÀÔ´Ï´Ù.. XOR,AND,OR,NOTµîÀº ³í¸® ¿¬»ê ¸í·ÉÀ¸·Î½á... ºñÆ®ÀÇ Á¶ÀÛµîÀ» ÇϽǼö ÀÖ½À´Ï ´Ù. XORÀº À§¿¡¼­ Çß°í...AND´Â ³í¸®°öÀ¸·Î¼­ OP1°ú OP2°¡ 1À϶§¸¸ 1À» ³ª¸ÓÁö´Â 0À¸·Î ¿¬»êÇÕ´Ï´Ù. ------------------------------------ 0 AND 0 = 0 1 AND 0 = 0 0 AND 1 = 0 1 AND 1 = 1 ------------------------------------ OR ´Â ³í¸®ÇÕÀ¸·Î¼­ OP1À̳ª OP2Áß 1°³¸¸ 1À̾ 1·Î ¿¬»ê ÇÕ´Ï´Ù, ------------------------------------- 0 OR 0 = 0 1 OR 0 = 1 0 OR 1 = 1 1 OR 1 = 1 ------------------------------------- NOT´Â ±ÛÀÚ ±×´ë·Î ºÎÁ¤ÀÔ´Ï´Ù. OP1Çϳª¸¸À¸·Î ¿¬»êÀ» Çϸç... ------------------------------------ NOT 1 = 0 NOT 0 = 1 ------------------------------------ ÀÌ»óÀ¸·Î ½ºÇÇÄ¿ Æ÷Æ®ÀÇ Á¦¾î¿Í ³í¸®¿¬»ê ¸í·Éµî¿¡ ´ëÇØ ¾Ë¾Æ º¸¾Ò½À´Ï´Ù. ´ÙÀ½Àº ³»ºÎ ŸÀ̸Ӹ¦ ÀÌ¿ëÇÑ À½ÀÇ ³ô³·À̸¦ Á¦¾îÇÏ´Â ¸í·ÉÀÔ´Ï´Ù. *** ÇÁ·Î±×·¥ **** code segment assume cs:code,ds:code start: mov ax,code mov ds,ax mov al,10110110b ;43HÆ÷Æ®ÀÇ ¸ÅÁ÷ ³Ñ¹ö out 43h,al ;ALÀÇ °ªÀ» 43H·Î ³Ñ°ÜÁÜ begin: mov si,offset md1 ;SI¿¡ md1À̶õÁÖ¼Ò¸¦ ÁÖ°í mov cx,7 ;8ȸ ·çÇÁ¸¦ µ¹¸² muloop: mov ax,0 ;AX¿¡ 0À» ÁÖ°í mov dx,12h ;DX¿¡ 12H¸¦ ÁֹǷΠÇؼ­ DX:AX´Â 120000H mov bx,[si] ;bx¿¡ SIÁÖ¼Ò¿¡ ÀÖ´Â °ªÀ» ·Îµå div bx ;dx:ax Áï 120000H /bx out 42h,al ;¸òÀ» °¡Áö°í À½ÀÇ ³ôÀ̸¦ ÁöÁ¤ÇÑ´Ù. mov al,ah ;AH¸¦ ´Ù½Ã AL¿¡ÁÖ°í out 42h,al ;42H¿¡ AL¸¦ ³Ñ°ÜÁÜ in al,61h ;61H°¡ ½ºÇÇÄ¿ Æ÷Æ®ÀÓ or al,3 ;AL¿¡ 3À» ³í¸®ÇÕÀ¸·Î °è»ê out 61h,al ;½ºÇÁÄ¿¸¦ ÄÑ°í push cx ;CX¸¦ ´ëÇÇ mov cx,speed ;½ºÇǵ带 Àоî¿È mmm: loop mmm ;½Ã°£ Áö¿¬ ( mov cx,0ffffh ;cx¿¡ ´Ù½Ã Áö¿¬ ½Ã°£À» ÁÖ¾î and al,11111100b ;½ºÇÇÄ¿¸¦ off½ÃÅ°°í out 61h,al nnn: loop nnn ) ;Áö¿¬ ½ÃŲ´Ù pop cx ;´ëÇÇÇÑ °ªÀ» °¡Á®¿È inc si ;¹øÁö¸¦ ¿Ã·ÁÁØ´Ù. inc si ;¿öµå´ÜÀ§À̹ǷΠµÎ¹ø ¿Ã·ÁÁÜ loop muloop ;MULOOP·Î ·çÇÁ °è¼Ó sub speed,1500h ;½ºÇǵ带 ´õ¿í ºü¸£°Ô ÇÑ´Ù. add mu2,1 ;Ƚ¼ö¸¦ °è»êÇϱâ À§ÇØ °ªÀ» ÁØ´Ù mov ah,mu2 ;¸îȸÀÎÁö¸¦ °Ë»çÇϱâÀ§ÇØ ±×°ªÀ»ÁÖ°í cmp ah,20 ;20ȸ ÀÌ»óÀ̸é ja exit ;EXIT·Î °¡¼­ ÇÁ·Î±×·¥À» ³¡³»°í jmp begin ;±×¤¸·¸Áö ¾ÊÀ¸¸é BEGINÀ¸·Î Á¡ÇÁ exit: in al,61h and al,11111100b ;½ºÇÇÄ¿ Æ÷Æ®¸¦ ´Ý°í out 61h,al mov ah,4ch ;ÇÁ·Î ±×·¥À» ³¡³½´Ù int 21h md1 dw 262d,294d,330d,347d,392d,440d,494d,524d ;À½°è mu2 db 0 ;µÇÇ®ÀÌ È½¼ö ¸¦ Á¥ÀåÇÏ´Â °÷ speed dw 0ffffh ;½ºÇǵå code ends ;ÄÚµåÀÇ ³¡ÀÓ end start ;ÇÁ·Î±×·¥ÀÇ ³¡ --------------------------------------------------------------------- À§ ÇÁ·Î±×·¥À» ½ÇÇà °¡´É È­ÀÏ·Î ¸¸µé¾î ½ÇÇà Çϸé A>SOUND2 (¹«½¼ ¼Ò¸®°¡ ³¯°É¿ä~~~~) A> ****** ÇÁ·Î±×·¥ ¼³¸í *** À§ÀÇ ÇÁ·Î±×·¥Àº µµ·¹¹ÌÆļֶó½Ãµµ¸¦ ¿©·¯¹ø Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. °¥¼ö·Ï ¼Ò¸®°¡ »¡¶óÁ® °¥ °ÍÀÔ´Ï´Ù.. ¼öÄ¡´Â ¿©·¯ºÐµéÀÌ Á¶ÀÛ ÇØ°¡¸ç... ¼Ò¸®¸¦ °¨»óÇϽðí... À§ÀÇ ÇÁ·Î±×·¡¹ÖÁß ()¸¦ »ç¿ëÇÑ ºÎºÐÀº Çѹø »èÁ¦Çؼ­ ÇÁ·Î±×·¥À» ½ÇÇà Çغ¸±âµµ ÇϽʽÿÀ... ÀÌÀ½Àº ¹Ø¿¡ MD1¹øÁö¿¡ ÀÖ´Â µ¥ÀÌŸ¸¦ ÀÌ¿ëÇؼ­ À½°è¸¦ ¹ß»ý½ÃÅ°´Âµ¥..... 43H,42H´Â ³»ºÎ ŸÀ̸ÓÀÌ°í ÀÌ°Í¿¡ °ªÀ» ÁÖ¾î 61HÆ÷Æ® 0¹ø ºñÆ®¸¦ 1·Î ÇÏ°í 1¹ø ºñÆ®¸¦ 1·Î Çϸé ŸÀ̸ӿ¡ ÁÖ¾îÁø °ª´ë·Î À½ÀÇ ³ô³·À̸¦ °áÁ¤ÇÕ´Ï´Ù. º¸Åë DX:AX ¿¡ 120000H¸¦ Á־ ÁÖÆļö Å×ÀÌºí °ªÀ¸·Î ³ª´©¾î À½ÀÇ ³ôÀ̸¦ °áÁ¤Çϴµ¥.. 42HÆ÷Æ®´Â 16ºñÆ®À̹ǷΠµÎ¹ø µ¥ÀÌŸ¸¦ ³Ö°í ÀÖÀ½À» ¾Ë¼ö ÀÖ½À ´Ï´Ù. ù¹ø° ÇÁ·Î±×·¥¿¡¼­´Â 61HÆ÷Æ®ÀÇ Ã¹¹ø° ºñÆ®¸¸À» XOR·Î ON,OFF½ÃÄÑÁÖ°í ÀÖ À¸³ª ¿©±â¿¡¼­´Â OR AL,3À¸·Î 0¹ø°ú 1¹ø ºñÆ®¸¦ °°ÀÌ ON,OFF½ÃÅ°°í ÀÖÀ½À» ¾Ë¼ö ÀÖÀ»°Ì´Ï´Ù. 42HŸÀ̸ӿ¡ ¼¼ÆÃµÈ °ªÀ» 61H 0¹ø ºñÆ®¸¦ ON½ÃÅ´À¸·Î¼­ ³»ºÎ ŸÀ̸ӿ¡ ÀÇÇÑ ³ô³·À̸¦ Á¶ÀýÇÏ°Ú´Ù´Â ¶æÀ¸·Î ¾Æ½Ã¸é µÉ°ÍÀÔ´Ï´Ù. À½°èÅ×À̺íÀº ¿©·¯ºÐÀÌ »ç¿ëÇϽô µµ½º³ª... º£ÀÌÁ÷ ÇÁ·Î±×·¡¹Ö Ã¥¿¡ ÀÖÀ¸´Ï ÂüÁ¶ ÇϽðí... ½ºÇÇÄ¿ Æ÷Æ®ÀÇ Á¦¾î´Â ÀÌ°ÍÀ¸·Î ¸¶Ä¨´Ï´Ù. #### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#9 ³¡ &&& ¾ÆÈ©¹ø° À̾߱⸦ ¸¶Ä¡¸ç.... ¿ÀÀü¿¡´Â ÁÁ¾Ò¾ú´Âµ¥... ¾î° ¿ÀÈÄ ÄÁµð¼ÇÀÌ º°·Î´Ù.... »óÄèÇÑ ±âºÐÀ¸·Î °­Á¸¦ ÇؾßÇϴµ¥... À¸À̱¸... À§ÀÇ À̾߱âµéÀÌ ºñ·Ï Á¶±Ý Ʋ¸®´õ¶óµµ ÀÌÇØÇϽñæ ... ±×¸®°í Àǹ®³ª´Â »çÇ×À̳ª Á» ÀÌ»óŸ½ÍÀ¸¸é ¸ÞÀÏ À̳ª °ø°³ ÆíÁö¸¦ ÁÖ¼¼¿ä.... (ÀÌ ¾ß±×´Â ¸ÅÀÏ °°ÀÌ Çϴµ¥...½±´Ù ¾î·Æ´Ù.. ¸»ÀÌ ¾ø¾î¼­ Áøµµ¸¦ ³ªÀÇ ¶æ´ë·Î ³ª°¡´Ï ÁÁ±â´Â Çѵ¥...... ±×·¡µµ..ÀÇ°ßÀ» ¹Þ°í ½Í½À´Ï´Ù...) ±×¸®°í À̹øȸ¿£ 286ÀÌ»óÀÇ »ç¿ëÀÚ¿¡°Õ Á˼ÛÇÑ °¨ÀÌ ¾øÁö¾Ê½À´Ï´Ù... ÇÏÁö¸¸ Á¦¾î ·çƾÀ̳ª ¹æ¹ýµîÀ» º¸¾ÆµÎ½Ã¸é µµ¿òÀÌ µÇ¸®¶ó ¹Ï½À´Ï´Ù... ¾îÈÞ.. ÀÌÁ¦ XTºÎÇ°µµ ±¸Çϱâ Èûµçµ¥... ÀÌ ±âȸ¿¡ ½ø... ±×³É?????? ÇìÇì....~~~~~ ´ÙÀ½¿¡´Â Àú¹ø¿¡ Çß´ø ¸ÅÅ©·Î È®Àå¿¡ °üÇÑ±Û °è¼ÓÇÏ°Ú½À´Ù.... ¿©·¯ºÐ ´ÙÀ½¿¡.... #### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#10 &&& ¿­¹ø° À̾߱⸦ ½ÃÀÛ Çϸç... °³ÀÎÀûÀÎ »çÁ¤À¸·Î °­Á°¡ ´Ê¾îÁø°Í¿¡ ´ëÇØ ÁË¼Û ÇÕ´Ï´Ù... À̹ø¿¡´Â ¸ÅÅ©·ÎÀÇ È®ÀåÀ» ÇÁ·Î±×·¥°ú ... ¸®½ºÆ® È­ÀÏÀ» º¸¸é¼­... ¾Ë¾Æº¸°Ú½À´Ï´Ù... *** ÇÁ·Î±×·¥ **** DISPCHR MACRO CHAR,NUM ;¸ÅÅ©·Î È£Ãâ½Ã Àμö¸¦ °®À½ LOCAL L2 ;LOCALÀº ¾î¼Àºí·¯¿¡ °üÇÑ ÀÇ»ç ¸í·ÉÀ¸·Î ;¸ÅÅ©·Î³»¿¡ ·çÇÁ°¡ ÀÖ°í.. ¶Ç ¸ÅÅ©·Î¸¦ ;¿©·¯¹ø È£Ãâ½Ã »ç¿ë MOV CX,NUM ;CX¿¡ ¹Ýº¹ ȸ¼ö¸¦ ÁÖ°í MOV DL,CHAR ;DL¿¡ ¹®ÀÚ¸¦ ÁØ´Ù MOV AH,02 ;È­¸é¿¡ Ãâ·Â Æã¼ÇÄÝ L2: ;LOCAL·Î ¼±¾ðµÈ... ·¹À̺í.. INT 21H LOOP L2 ENDM ;¸ÅÅ©·ÎÀÇ ³¡ÀÓÀ» ¾Ë¸°´Ù. ; DISP MACRO CHAR ;ÀÌ ¸ÅÅ©·Î´Â Àμö¸¦ °®°í¼­ ¹®ÀÚ¸¦ Ãâ·Â MOV DL,CHAR ;ÇÏ´Â ¸ÅÅ©·ÎÀÓ MOV AH,02 INT 21H ENDM ; DISP2 MACRO CHAR ;¸ÅÅ©·Î ¿¬»êÀÚ¸¦ »ç¿ë MOV DL,'&CHAR&' ;&À» »ç¿ëÇÏ°í ÀÖ´Ù. MOV AH,02 INT 21H ENDM ; CODE SEGMENT ASSUME CS:CODE START: ;ÇÁ·Î±×·¥ÀÇ ½ÃÀÛ DISPCHR 'A',5 ;A¸¦ 5ȸ ¹Ýº¹Ç϶ó´Â °ÍÀÓ DISPCHR 'p',10 ;P¸¦ 10ȸ ¹Ýº¹ ; IRP DUMMY,<'A','B','C','D','E'> ;IRP ÀÇ»ç¸í·ÉÀ» ¾²°í ÀÖ´Ù. DISP DUMMY ENDM ;IRPÀÇ»ç¸í·ÉÀÇ ³¡¿¡µµ..ENDMÀ».. ; IRPC DUMMY, ;IRPCÀÇ»ç¸í·ÉÀ» »ç¿ë DISP2 DUMMY ENDM ; MOV AH,4CH ;ÇÁ·Î±×·¥ÀÇ Á¾·á INT 21H CODE ENDS ;¼¼±×¸ÕÆ®ÀÇ ³¡À» ¾Ë¸² END ;ÇÁ·Î±×·¥ÀÇ ³¡À» ¾Ë¸² ------------------------------------------------------------------------ À§ÀÇ ÇÁ·Î±×·¥À» ½ÇÇàÈ­ÀÏ·Î ¸¸µé¾î.... Ãâ·ÂÇϸé... A>REPL1 AAAAAppppppppppABCDEABCDEFGHI ;ÀÌ°ÍÀ» Ãâ·Â A> ** ÇÁ·Î±×·¥ÀÇ ¼³¸í... ¸ÅÅ©·Î¸í·ÉÀ» »ç¿ëÇϸé... °°Àº ·çƾÀÌ°í.. ·çÇÁ¸¦ µ¹¸±°Å¶ó¸é... LOCALÀ» ¼±¾ðÇØÁÖ°í... ·¹À̺íÀ» »ç¿ëÇϸé... MASM³»¿¡¼­ ¸ÅÅ©·Î¸¦ È®Àå ½ÃÅ° ´Âµ¥.... ¾Æ·¡ÀÇ ¸®½ºÆ® È­ÀÏÀ» º¸¸é... '??0000:' ½ÄÀ¸·Î...·¹À̺íÀÌ È®Àå µÇ¾úÀ½À» ¾Ë¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.... ¸ÅÅ©·Î »ç¿ë½Ã ÀμöÀÇ ±³È¯ÀÌ °¡´ÉÇϸç.... Àμö´Â 8ºñÆ®·Î Á¤ÀÇ µÇ¾úÀ¸¸é.. 8ºñÆ®·Î ³Ñ°Ü ÁÖ¾î¾ßÇϸç...16ºñÆ® ÀμöÀÏ°æ¿ì 16ºñÆ®·Î ³Ñ°Ü ÁÖ¾î¾ßÇÑ´Ù.... ¼öÄ¡.. ¹®ÀÚ... ·¹Áö½ºÅÍ.. ¸Þ¸ð¸®µîÀ» ³Ñ°Ü ÁÙ¼ö ÀÖ´Ù.... ´Ü °°Àº ·¹Áö½ºÅ͸¦ Á¤ÀÇ ÇØÁÙ¼ö ¾ø´Ù.... °¡·É DISP MACRO CHAR MOV DL,CHAR MOV AH,02 INT 21H ENDM ÀÌ·¸°Ô Á¤ÀÇ ÇÏ°í È£Ãâ½Ã.... MOV AL,'A' DISP AL .,,..... ÀÌ·± Çü½ÄÀº °¡´É ÇÏÁö¸¸.... MOV DL,AL DISP DL ...... ÀÌ·± Çü½ÄÀº ¿¡·¯°¡ ¹ß»ýÇÑ´Ù.... ´ÙÀ½Àº ¸®ÇÇÆ® ÀÇ»ç ¸í·ÉÀε¥... REPT(REPEAT) : ÁöÁ¤È½¼ö¸¸Å­ ¹Ýº¹ Àü°³... IRP(INDENFINITE REPEAT) : ÁÖ¾îÁø ÀμöÀÇ °³¼ö¸¸Å­.. ¹Ýº¹ÇÏ¿© Àü°³ IRPC(IDENFINITE REPEAT) : ÁÖ¾îÁø ¹®ÀÚ¿­ÀÇ ¹®ÀÚȸ¼ö¸¸Å­ ¹Ýº¹ÇÏ¿© Àü°³. REPT 3 MOV AH,02 MOV DL,'A' INT 21H ENDM ..... ÀÌ·± Çü½ÄÀÇ ÇÁ·Î±×·¥À» ÇÑ´Ù¸é... ¿©±â¼­ »ç¿ëÇÏ´Â REPT´Â ¸ÅÅ©·Î¸¦ È£ÃâÇÏ ´Â°Ô ¾Æ´Ï¶ó.. REPT ´ÙÀ½¿¡ ¿À´Â ¼ýÀÚ¸¸Å­... ENDM¸¸³ª±â Àü±îÁö...¹Ýº¹Çؼ­ Àü°³ÇÑ´Ù... IRP¿Í IRPC´Â ¾Æ·¡ÀÇ ¸®½ºÆ® È­ÀÏÀ» º¸¸ç.... ¾Ë¾Æº¸ÀÚ... ¸®½ºÆ®È­ÀÏÀÇ Ãâ·ÂÀº 8ȸ ¿¬À綧¿Í °°ÀÌÇϸé Ãâ·ÂÇÏ´Ï Âü°í ÇϽðí.... Ȥ ÀØÀ¸½ÅºÐÀ» À§ÇØ... A>MASM REPL1,,REPL1; ÀÌ·± ¸í·ÉÀ» Áְųª... ´ëȭâÀ» ÅëÇØ ÀÔ·ÂÇصµ µÉ°ÍÀÔ´Ï´Ù. ¸®½ºÆ® È­ÀÏÀ» ¿¡µðÅͳª.. DOSÀÇ TYPEµîÀ» ÅëÇؼ­ º¸½Ã¸é.... Microsoft (R) Macro Assembler Version 5.00 3/14/92 10:33:49 Page 1-1 ; ; DISPCHR MACRO CHAR,NUM LOCAL L2 MOV CX,NUM MOV DL,CHAR MOV AH,02 L2: INT 21H LOOP L2 ENDM DISP MACRO CHAR MOV DL,CHAR MOV AH,02 INT 21H ENDM DISP2 MACRO CHAR MOV DL,'&CHAR&' MOV AH,02 INT 21H ENDM ; ---------------- ÀÌ°÷ ±îÁö°¡...¸ÅÅ©·Î 0000 CODE SEGMENT ASSUME CS:CODE 0000 START: DISPCHR 'A',5 ;¸ÅÅ©·Î¸¦ È£Ãâ 0000 B9 0005 1 MOV CX,5 ;¸ÅÅ©·ÎÀÇ Àü°³ 0003 B2 41 1 MOV DL,'A' 0005 B4 02 1 MOV AH,02 0007 1 ??0000: ;LOCAL·Î ÁöÁ¤ÇÑ ·¹À̺í ;L2°¡ ¼ýÀÚ·Î ¹Ù²î¾ú´Ù. 0007 CD 21 1 INT 21H 0009 E2 FC 1 LOOP ??0000 DISPCHR 'p',10 000B B9 000A 1 MOV CX,10 000E B2 70 1 MOV DL,'p' 0010 B4 02 1 MOV AH,02 0012 1 ??0001: ;·¹À̺íÀÌ ´Ù½Ã ¹Ù²î¾ú´Ù 0012 CD 21 1 INT 21H 0014 E2 FC 1 LOOP ??0001 ; IRP DUMMY,<'A','B','C','D','E'> DISP DUMMY ENDM 0016 B2 41 2 MOV DL,'A' ;IRP¸í·É¿¡ ÀÇÇØ 0018 B4 02 2 MOV AH,02 ;Àü°³.... 001A CD 21 2 INT 21H 001C B2 42 2 MOV DL,'B' ;Àμö¸¦ ³Ñ°Ü 001E B4 02 2 MOV AH,02 ;¹Þ°í ÀÖ´Ù 0020 CD 21 2 INT 21H 0022 B2 43 2 MOV DL,'C' 0024 B4 02 2 MOV AH,02 0026 CD 21 2 INT 21H 0028 B2 44 2 MOV DL,'D' 002A B4 02 2 MOV AH,02 002C CD 21 2 INT 21H 002E B2 45 2 MOV DL,'E' 0030 B4 02 2 MOV AH,02 0032 CD 21 2 INT 21H IRPC DUMMY, DISP2 DUMMY ENDM 0034 B2 41 2 MOV DL,'A' ; IRPC¿¡ ÀÇÇÑ 0036 B4 02 2 MOV AH,02 ; Àü°³ 0038 CD 21 2 INT 21H 003A B2 42 2 MOV DL,'B' ;'&' ¿¬»êÀÚ¿¡ ÀÇ 003C B4 02 2 MOV AH,02 ;ÇØ. Àμö¸¦ ¹ÞÀ½ 003E CD 21 2 INT 21H 0040 B2 43 2 MOV DL,'C' 0042 B4 02 2 MOV AH,02 0044 CD 21 2 INT 21H 0046 B2 44 2 MOV DL,'D' 0048 B4 02 2 MOV AH,02 004A CD 21 2 INT 21H 004C B2 45 2 MOV DL,'E' 004E B4 02 2 MOV AH,02 0050 CD 21 2 INT 21H 0052 B2 46 2 MOV DL,'F' 0054 B4 02 2 MOV AH,02 0056 CD 21 2 INT 21H 0058 B2 47 2 MOV DL,'G' 005A B4 02 2 MOV AH,02 005C CD 21 2 INT 21H 005E B2 48 2 MOV DL,'H' 0060 B4 02 2 MOV AH,02 0062 CD 21 2 INT 21H 0064 B2 49 2 MOV DL,'I' 0066 B4 02 2 MOV AH,02 0068 CD 21 2 INT 21H 006A B4 4C MOV AH,4CH 006C CD 21 INT 21H 006E CODE ENDS END ------------------------------------------------------------------ IRP¿Í IRPC ÀÇ»ç¸í·É¿¡ ÀÇÇÑ Àü°³¸¦ º¸¼Ì´Â°¡¿ä???? Àç¹Ì ÀÖÁö¿ä..... ÀûÀº Å°ÆÝÄ¡·Î ±ä ¸í·É¾î Äڵ带 ¸¸µé°í.... IRP ÀÇ»ç¸í·ÉÀº ","À¸·Î ±¸ºÐµÇ´Â ¹®ÀÚ¸¦ °¡Àμö·Î ġȯ Çϴµ¥ ¹ÝÇØ IRPC ¸í·ÉÀº "<,>" ·Î ½ÎÀÎ ¹®ÀÚ¿­¿¡¼­ &¿¬»êÀÚ·Î... ¹®ÀÚ¿¡ ''¸¦ ºÙ¿© Àü°³ÇÏ°í ÀÖ´Ù... ¸¸ÀÏ ¸ÅÅ©·Î¿¡¼­ °¡Àμö¸¦ ÁÖ°í.... &¿¬»êÀÚ¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¸é... IRPC¸ÅÅ©·Î ³»¿¡¼­´Â Â÷·Ê´ë·Î Àü°³ Çسª°¡´Âµ¥.... DISP MACRO CHR MOV AH,02 MOV DL,CHR INT 21H ENDM .............. ............. IRPC DUMMY, DISP DUMMMY ENDM ... ½ÄÀ¸·Î ÇÁ·Î±×·¡¹Ö Çϼ̴ٸé..... ¿¡·¯°¡ ¹ß»ýÇÑ´Ù. IRPCÀü°³ ¸í·É¿¡ ÀÇÇØ Àü°³´Â ÇÏÁö¸¸... Àü°³Áß¿¡.. DL·¹Áö½ºÅÍ¿¡ MOV DL,A ... MOV DL,B .... µîÀ¸·Î Àü°³ µÇ±â ¶§¹®¿¡ ¾î¼ÀºíÇÒ¼ö°¡ ¾ø´Ù. MOV DL,'A' ³ª MOV DL,'B' µîÀ¸·Î ij¸¯ÅÍ´Â ''·Î °¨½Î°Å ³ª Á÷Á¢ÀûÀÎ 2,8,10,16Áø¼öÀÇ ¼öÄ¡¸¦ ´ëÀÔ ½ÃÄѾßÇÑ´Ù... ±×·± °í·Î '&'¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿©...... IRPC¸í·É ´ÙÀ½¿¡... ¿À´Â ¹®ÀÚ¿­À» '' ·Î °¨½Î¼­ °¡Àμö¿¡ ³Ñ°ÜÁÖ´Â °ÍÀÌ´Ù... ´ÙÀ½Àº REPT¸í·ÉÀ» ÀÌ¿ëÇÑ... ¸ÅÅ©·ÎÀÇ È®ÀåÀÌ´Ù.... ¸®½ºÆ® È­ÀÏÀ» ¸¸µé¾î¼­.. ¾î¶»°Ô È®Àå µÇ°í ÀÖ´ÂÁö... ¾Ë¾Æº¸¼¼¿ä.............. (((( ¿Í µåµð¾î ¼÷Á¦´Ù....))) ---------------------------------------------------------------- *** ÇÁ·Î ±×·¥ *** DISP MACRO CHAR MOV DL,CHAR MOV AH,02 INT 21H ENDM CODE SEGMENT ASSUME CS:CODE START: REPT 10 DISP 'A' ENDM MOV AH,4CH INT 21H CODE ENDS END *** ÇÁ·Î±×·¥ ³¡ ***** ´ÙÀ½°ú °°ÀÌ ½ÇÇàµÊ... A>REPL2 AAAAAAAAAA A> ---------------------------------------- #### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#10 ³¡ &&&& ¿­¹ø° À̾߱⸦ ¸¶Ä¡¸ç... ¾î´À»õ ¿­¹ø° ¾ê±â±îÁö ¿À°Ô µÇ¾ú´ÂÁö... ¾ÆÀ̱¸... ¾ÆÁ÷µµ ±î¸¶µæÇÑ ¾î¼Àºí·¯ÀÇ ¼¼°è..... ¿©·¯ºÐ!!! ÈûÀ» °¡Áö½Ã°í.......... #### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#11 &&&& ¿­Çѹø° À̾߱⸦ ½ÃÀÛ Çϸç.... º½ºñ°¡ ³ª¸°´Ù... ÀÌ ºñ°¡ ±×Ä¡°í ³ª¸é... ¹þ²ÉÀÌ¶óµµ È°Â¦ ÇÇ·Á³ª... ¾î¼¸é... ºñ¸¦ ¸ÂÀ¸¸ç... ¹ã»õ °È°í ½Í¾î Áú·±Áöµµ ¸ð¸¦ÀÏ... À̹ø À̾߱â´Â È®Àå ¸ÅÅ©·ÎÀÇ ¿¬ÀåÀÌ´Ù. INCLUDEÈ­ÀÏÀ» ÀÌ¿ëÇÑ... ¸ÅÅ©·Î¸¦ È®ÀåÇÏ°í... ÀûÀº... ¸í·É¾î·Î ¸¸µé¼öµµÀÖ°í... ´ÙÀ½¿¡... Àû´Â ÇÁ·Î±×·¥Àº Çì´õ È­ÀÏ À̹ǷΠÀÛ¼ºÀº ÇϵÇ... ¾î¼ÀºíÀº ¾ÈµÇ´Ï... ÁÖÀÇ ... ÇϽðí.. ¼³¸í¿¡ ±Í¸¦ ±Í¿ï¿© ÁֽʽÿÀ *** INCLIUDE È­ÀÏ *** CR EQU 0DH ;ij¸®Áö ¸®ÅÏÀÇ °ª LF EQU 0AH ;¶óÀÎ ÇǵåÀÇ °ª EOF EQU 1AH ;È­ÀÏÀÇ ³¡À» ¾Ë¸®´Â °ª TAB EQU 09H ;TAB ÀÇ °ª ; START1 MACRO ; CODE¼¼±×¸ÕÆ® »ç¿ëÀ» À§ÇÑ ¸ÅÅ©·Î CODE SEGMENT ASSUME CS:CODE ENDM START2 MACRO ;CODE¼¼±×¸ÕÆ®¿¡... DS¸¦ Ãß°¡ ÇÑ ¸ÅÅ©·Î CODE SEGMENT ASSUME CS:CODE,DS:CODE ENDM ; START3 MACRO ;CS,DS,ES,SS ³×°ÔÀÇ ½ºÅÃÀ» ¸ðµÎ »ç¿ëÇÏ°í CODE SEGMENT ;ÀÖ´Ù. ASSUME CS:CODE,DS:DATA,ES:EXDAT,SS:STACK ENDM END1 MACRO ;Äڵ弼±×¸ÕÆ®ÀÇ ³¡À» ¾Ë¸®´Â ¸ÅÅ©·Î CODE ENDS ENDM GODOS MACRO ;ÇÁ·Î ±×·¥ Á¾·á¸¦ À§ÇÑ ¸ÅÅ©·Î MOV AH,4CH INT 21H ENDM INPUT1 MACRO ;Å°ÀÔ·Â ¸ÅÅ©·Î MOV AH,01 INT 21H ENDM DISP1 MACRO CHAR ;¹®ÀÚ Ãâ·Â ¸ÅÅ©·Î MOV AH,02 MOV DL,CHAR INT 21H ENDM DISPST MACRO STRING ;½ºÆ®¸µ Ãâ·Â ¸ÅÅ©·Î MOV DX,OFFSET STRING MOV AH,09H INT 21H ENDM INKEY MACRO ;Å°ÀÔ·Â ¸ÅÅ©·Î... ÀÌ ¸ÅÅ©·Î¸¦ MOV AH,00 ;½ÇÇàÇϸé... AH¿¡´Â ½ºÄµÄÚµåÀÇ °ª INT 16H ;AL¿¡´Â ¾Æ½ºÅ°°ªÀÌ ÀÔ·Â µÊ ENDM ================================================================= *** ÀÌ°÷ ±îÁö°¡... Çì´õ È­ÀÏÀÓ EQUÀÇ»ç ¸í·É¾î.. MASM¿¡¼­´Â »ó¼öÀÇ °ªÀ» EQUÀÇ»ç¸í·ÉÀ» ÀÌ¿ëÇؼ­ ÁöÁ¤ÇØÁÙ¼ö ÀÖ´Ù. ¸¸ÀÏ È­¸é¿¡¼­ ¿£ÅÍÅ°¸¦ ´©¸¥ È¿°ú¸¦ Ãâ·ÂÇÒ·Á¸é... ¿ø·¡ÀÇ ÇÁ·Î±×·¥Àº MOV AH,02 MOV DL,0DH INT 21H MOV AH,02 MOV DL,0AH INT 21H ½ÄÀ¸·Î ÇؾßÇÏÁö¸¸.... EQU·Î »ó¼öÀÇ °ªÀ» ÁöÁ¤ÇØÁØÈÄ..... CR EQU 0DH LF EQU 0AH DOSCALL EQU 21H ...... ..... MOV AH,02 MOV DL,CR INT DOSCALL MOV AH,02 MOV DL,LF INT DOSCALL ....... À§¿Í °°ÀÌ »ó¼ö¸¦ ¾î¶² ¾Ë±â ½¬¿î À̸§À¸·Î Á¤ÀÇÇØÁØÈÄ »ç¿ëÇϸé... Æí¸®ÇÏ´Ù... ´Ü REVERSED WORD´Â »ç¿ëÀÌ ºÒ°¡´É ÇÔ... °¡·É ESC ´Â ÀÚÆÇ¿¡¼­ ´­·¶À»¶§... ½ºÄË Äڵ尪ÀÌ 01HÀÌÁö¸¸... ESC EQU 01H ·Î Á¤ÀÇ ÇßÀ»¶§... ESC´Â ÄÚÇÁ·Î¼¼¼­ Á¦¾î¸¦ À§ÇÑ ¸í·É¾î À̱⠶§¹®¿¡... ¿¡·¯¸¦ ¹ß»ý ½ÃŲ´Ù. ´ÙÀ½Àº Çì´õ È­ÀÏÀ» ÀÌ¿ëÇÑ °£´ÜÇÑ ¿¹Á¦ ÇÁ·Î±×·¥ÀÌ´Ù... À§ÀÇ Çì´õ È­ÀÏÀ» FILEH.H¶ó´Â À̸§À¸·Î ÀúÀåÇÑÈÄ ´ÙÀ½À» ½ÇÇàÇغ¸ÀÚ.. ------------------------------------------------------ ** ÇÁ·Î±×·¥... INCLUDE FILEH.H ;À§ÀÇ FILEH.H¸¦ Çì´õ È­ÀÏ·Î ÁöÁ¤Çß´Ù. START2 ;Çì´õÈ­ÀÏ¿¡¼­ START2¶õ ¸ÅÅ©·Î¸¦ È£Ãâ START: MOV AX,CODE ;DSÀÇ °ªÀ» ÁöÁ¤ MOV DS,AX INPUT1 ;AH,01À» ³ÖÀº Å°ÀÔ·Â ´ë±â DISP1 AL ;INPUT1¿¡¼­ ´­·¯Áø Å°°ªÀº AL¿¡ µé¾î ÀÖÀ¸¹Ç·Î ;À̸¦ °¡Àμö·Î DLDP SJARUWNA DISPST KKK ;OFFSET KKK¸¦ Ãâ·ÂÇÏ´Â 09H µµ½ºÆã¼Ç GODOS ;µµ½º·Î ³ª°¡°í ÀÖ´Ù. KKK DB '¾È³çÇϼ¼¿ä? ¿©·¯ºÐ....','$' ;µ¥ÀÌŸ... END1 ;¸¶Âù°¡Áö·Î Çì´õ È­ÀÏ¿¡¼­.. Äڵ弼±×¸ÕÆ®¸¦ ;Á¾·á½ÃÅ°´Â ¸ÅÅ©·Î¸¦ È£Ãâ END START ;ÇÁ·Î±×·¥ÀÇ ³¡ ------------------------------------------------------------ À§ÀÇ ÇÁ·Î±×·¥À» ÀúÀåÇÑÈÄ¿¡ ½ÇÇà È­ÀÏ°ú ¸®½ºÆà ȭÀÏÀ» ¸¸µé¸é... A>HEAD1 FF¾È³çÇϼ¼¿ä? ¿©·¯ºÐ.... (F¸¦ ´­·¶À½) A> ¿Í °°ÀÌ µÉ°ÍÀÌ´Ù... ´ÙÀ½Àº ¸®½ºÆ® È­ÀÏÀ» º¸¸é¼­ Çì´õ È­ÀÏÀ» ¾î¶»°Ô ºÒ·¯ ¿À´ÂÁö ¾Ë¾Æº¾½Ã´Ù... ------------------------------------------------------------------------ Microsoft (R) Macro Assembler Version 5.00 3/2/92 00:37:19 Page 1-1 INCLUDE DAESU.H ;¾î¼Àºí °úÁ¤¿¡¼­..Çì´õ = 000D C CR EQU 0DH ;ÀÏÀ» ¸®½ºÆà Çß´Ù. = 000A C LF EQU 0AH ;EQUÀÇ»ç ¸í·ÉÀ» = 001A C EOF EQU 1AH ;´ëÀÔ... = 0009 C TAB EQU 09H ;¸®½ºÆà °úÁ¤¿¡¼­ C START1 MACRO ;¾Õ¿¡ C´Â INCLUDEÈ­ÀÏ C CODE SEGMENT ;¿¡¼­ ºÒ·¯¿Ô´Ù´Â°ÍÀ» C ASSUME CS:CODE ;Ç¥½Ã C ENDM C START2 MACRO C CODE SEGMENT C ASSUME CS:CODE,DS:CODE C ENDM C START3 MACRO C CODE SEGMENT C ASSUME CS:CODE,DS:DATA,ES:EXDAT,SS:STACK C ENDM C END1 MACRO C CODE ENDS C ENDM C C GODOS MACRO C MOV AH,4CH C INT 21H C ENDM C C INPUT1 MACRO C MOV AH,01 C INT 21H C ENDM C DISP1 MACRO CHAR C MOV AH,02 C MOV DL,CHAR C INT 21H C ENDM C DISPST MACRO STRING C MOV DX,OFFSET STRING C MOV AH,09H C INT 21H C ENDM C INKEY MACRO C MOV AH,00 C INT 16H C ENDM C ;¿©±â ±îÁö°¡... Çì´õÈ­ÀÏÀÌ´Ù.. C START2 ;Çì´õ È­ÀÏ¿¡ 0000 1 CODE SEGMENT ;¼­ ÁöÁ¤ÇØÁØ 0000 START: ;¸ÞÅ©·Î¸í¸¸ 0000 B8 ---- R MOV AX,CODE ;Ä¡¸é... 0003 8E D8 MOV DS,AX ;¾Ë¾Æ¼­ INPUT1 ;È®Àå ½ÃÅ°°í 0005 B4 01 1 MOV AH,01 ;ÀÖ´Â°É ¾Ë¼ö 0007 CD 21 1 INT 21H ;ÀÖ´Ù. DISP1 AL 0009 B4 02 1 MOV AH,02 000B 8A D0 1 MOV DL,AL 000D CD 21 1 INT 21H DISPST KKK 000F BA 001A R 1 MOV DX,OFFSET KKK 0012 B4 09 1 MOV AH,09H 0014 CD 21 1 INT 21H GODOS 0016 B4 4C 1 MOV AH,4CH 0018 CD 21 1 INT 21H 001A 4C 4C 4C 41 4C 53 4B KKK DB '¾È³çÇϼ¼¿ä? ¿©·¯ºÐ....','$' 46 44 53 4B 41 48 53 44 4B 24 END1 002B 1 CODE ENDS END START À̺кÐÀÇ µ¥ÀÌŸÀÇ °ªÀº ½ÇÇàÈÄ ¼öÁ¤ ÇÏ¿´±â ¶§¹®¿¡ º¯°æ... ½Å°æ ¾²Áö ¸¶¼¼¿ä~~~ ------------------------------------------------------------------------ EQU ÀÇ»ç¸í·É°ú... INCLUDEÈ­ÀÏÀ» Àߺ¸¼Ì´ÂÁö.... ´ÙÀ½Àº ¿ª½Ã ¿¹Á¦ ÇÁ·Î±×·¥ÀÌ´Ù... ¾î¶»°Ô.. ½ÇÇà µÇ´ÂÁö¸¦ ¾Ë¾Æ º¸½Ã±æ.... ¸®½ºÆ® È­Àϵµ ¸¸µé¾î¼­..... °¨»óÀ».... *** ÇÁ·Î±×·¥... INCLUDE FILEH.H START2 MOV CX,10 CRETT: DISP1 LF LOOP CRETT CRETT1: INKEY CMP AH,01h JZ EXIT DISP1 AL DISP1 TAB DISP1 LF JMP CRETT1 EXIT: GODOS END1 END --------------------------------------------- ½ÇÇà½ÃÅ°¸é... A>HEAD2 ; ; ; ; ; ; ; ; ; ; ÀÌ·¸°Ô 10Ä­À» ¶ç¿ì°í A ; AÀÚ¸¦ ´©¸§ B ; BÀÚ¸¦ ´©¸§ C ; CÀÚ¸¦ ´©¸§ ;¾Æ¹«°Íµµ º¸ÀÌÁö ¾ÊÁö¸¸ ESCÅ°¸¦ ´©¸§ A> ESC¸¦ ´©¸£±â Àü¿¡ ¾Æ¹«Å°³ª ¼ö¾øÀÌ ´­·¯ º¸½Ã±â ¹Ù¶÷... ¸®½ºÆ® È­Àϵµ ¸¸µé¾î¼­... È®Àå µÇ´Â »óŸ¦ ¾Ë¾Æº¸¼¼¿ä... ----------------------------------------------------------------------- #### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â ..#11 ³¡ &&& ¿­ Çѹø° À̾߱⸦ ¸¶Ä¡¸ç.... Áö±Ý ¹Û¿¡´Â... ¹Ù¶÷µµ °Å¼¼°í... ºñµµ ³»¸®°í... ÀÏÀÌ ÀÏÂï ³¡³­°Ô õ¸¸ ´ÙÇàÀÏµí ½Í´Ù.... ½ÅÈ¥¿©ÇàÀ» ¶°³­ Ä£±¸´Â Àç¹ÌÀÖ°Ô Áö³»´ÂÁö.... ¿¡±¸±¸.... ³ªµÎ ÀÏÂï Àå°³³ª °¡¾ßÁö ÀÌ°Å ¿ø......... ........................ Çì~~~~ ¿äÁòÀº ¸®½ºÆ® È­ÀÏ ÀÛ¼º ¶¡½Ã... °è¼Ó... 200¶óÀÎÀ» ³Ñ¾î ¼­°í ÀÖ´Ù... Ȫ °¥¹«¸®¿¡... ¹÷Â÷½ÅºÐ °è¼¼¿ä??? .... #### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#12 &&& ¿­ µÎ¹ø° À̾߱⸦ ½ÃÀÛÇϸç.... Áö±Ý±îÁö´Â ¹®ÀÚ¿­ÀÇ Ãâ·Á°ú ÀÔ·ÂÀ» °Ô¼Ó Çϸç... Á¶±Ý ÁöÁöºÎÁø ÇÑ°¨ÀÌ ¾øÁö ¾Ê¾ÒÀ¸³ª... À̹ø¿¡´Â Á÷Á¢ÀûÀÎ... ºñµð¿À ·¥ÀÇ Á¦¾î¸¦ Çغ¸¾Ò´Ù... ÇÁ·Î±×·¥À» Â¥°í ³­ÈÄ¿¡... ÀÌ°Í Àú°Í °®´Ù ºÙÀÌ´Ù º¸´Ï.... °è»êÀÌ º¹ÀâÇÑ°¨ÀÌ ¾øÁö ¾Ê¾Æ¼­... ¾î·Á¿óÁö³ª ¾ÊÀºÁö ¸ð¸£°Ú´Ù.. ÀÌ ÇÁ·Î±×·¥Àº... ¾Æ½ºÅ° Äڵ尪...ODBH¸¦ »ç¿ëÇÏ¿©.... ½ºÅ©¸° »ó¿¡... ¼±À» ±×·Áº¸´Â°ÍÀε¥... Áö¿ì±â... ¿Å±â±â..È­¸é Áö¿ì±â µîÀ»... Çغ¸´Â ÇÁ·Î±×·¥À̹ǷÎ... Á¦¾îÇÏ´Â ¹æ¹ýÀ̳ª... ±âŸ ¿©·¯°¡Áö¿¡´ë ÇØ Àß »ìÆì º¸½Ã±â ¹Ù¶ø´Ï´Ù. *** ÇÁ·Î±×·¥ ; read_c equ 0h ;EQUÀÇ»ç ¸í·ÉÀ» ÀÌ¿ëÇØ... key_rom equ 16h ;»ó¼ö µ¥ÀÌŸ¸¦ Á¤ÀÇ ÇØÁÖ°í ÀÖ´Ù. up equ 48h down equ 50h right equ 4dh left equ 4bh block equ 0dbh ctrl_c equ 3h clea_sc equ 43h ;--------------- code segment ;¼¼±×¸ÕÆ®¸¦ Á¤ÀÇ ÇØÁØÈÄ.. assume cs:code,ds:code ;---------------- wd_buff label word ;µ¥ÀÌŸ¿¡ ¿öµå ´ÜÀ§ÀÇ ·¹À̺íÀ» Á¤ÀÇ v_buff db 25*80*2 dup(?) ;25*80*2°³ÀÇ ¹ÙÀÌÆ®´ÜÀ§ÀÇ ±â¾ïÀå¼Ò¸¦ Á¤ÀÇ vid_ram dw ? ;ºñµð¿À ·¥ ½ÃÀÛ ¹øÁö¸¦ ÀúÀå... cur1 db ? ;Ä¿¼­ÀÇ °ª... Çà cur2 db ? ;Ä¿¼­ÀÇ °ª... ¿­ cur3 db ? ;À̵¿À» À§ÇØ °ªÀÌ ¾øÀ¸¸é... block1 db ? ;ÀÌ°÷¿¡... 0DHÀ̸é.. ±×¸®±â..spaceÀ̸é.. Áö ;¿ì±â ;------------------------- curse proc ;¼­ºê ·çƾÀ¸·Î Ä¿¼­ À§Ä¡ °áÁ¤ mov ah,02h ;ÇÏ°í ÀÖ´Ù... mov bh,0 mov dh,cur1 ;ºñµð¿À·¥ Á¦¾î (int 10h)ÀÇ ±â´É¹øÈ£ 02h¿¡¼­ mov dl,cur2 ;dh¿¡´Â ÇàÀÇ °ª... dl¿¡´Â ¿­ÀÇ °ªÀ» int 10h ;ÁÖ°í int 10h¸¦ ½ÇÇà.. ret curse endp ;Ä¿¼­ À§Ä¡ °áÁ¤ procÀÇ ³¡ÀÓÀ» ¾Ë¸®°í ÀÖ´Ù. ;-------------------------- v_mode proc ;ÀÌ ÇÁ·Î½ÃÀú´Â ºñµð¿À ¸ðµå¸¦ ÆǺ°Çϱâ À§ÇÑ mov ah,0fh ;ah¿¡ 0fh¸¦ ÁÖ°í.. °¡·Î ä±â 10h¸¦ Çϸé.. int 10h ;ah¿¡´Â ÇàÀÇ ¹®ÀÚ¼ö...al¿¡´Â µð½ºÇ÷¹ÀÌ cmp al,7 ;¸ðµå... bh¿¡´Â ÆäÀÌÁö ¹øÈ£µéÀÇ °ªÀ» °®´Â´Ù. je mono ;al Áï µð½ºÇ÷¹ÀÌ ¸ðµå°¡... 7À̸é.. mono·Î ;Á¡ÇÁ mov vid_ram,0b800h ;alÀÇ °ªÀÌ 7ÀÌ¿ÜÀÇ ´Ù¸¥ °ªÀ̸é... cga¸ðµå¸¦ ;ÁØ´Ù ret ;cga ¸ðµå¸¦ ±â¾ïÀå¼Ò vid_ram¿¡ ÁØÈÄ..ÀÌÇÁ·Î ;½ÃÀú¸¦ È£ÃâÇÑ ´ÙÀ½ ¸í·ÉÀ¸·Î °¡°Ô µÈ´Ù. mono: ;alÀÇ °ªÀÌ 7À϶§... ¿©±â·Î ¿Í¼­ mov vid_ram,0b000h ;vid_ram¿¡ monoÀÇ °ª ... 0b000h¸¦ ÁÖ°í ret ;¸¶Âù°¡Áö·Î.. È£ÃâÇÑ ´ÙÀ½ ¸í·ÉÀ¸·Î °£´Ù. v_mode endp ;ÀÌ ÇÁ·Î½ÃÀúÀÇ ³¡ÀÓÀ» ¾Ë¸²... start: ;½ÇÁöÀûÀÎ ½ÃÀÛ ¹øÁöÀÌ´Ù... call v_mode ;À§¿¡ ÇÁ·Î½ÃÀú v_mode¸¦ È£ÃâÇؼ­...ºñµð¿À¹ö ;ÆÛÀÇ ½ÃÀÛ ¹øÁö¸¦ ¾Ë¾Æ³½ÈÄ.. mov ax,vid_ram ;ºñµð¿À ½ÃÀÛ ¹øÁö¸¦ µ¥ÀÌŸ ¼¼±×¸ÕÆ®¿¡ mov ds,ax ;ÁÖ°í ÀÖ´Ù... ;============================== mov ah,01h ;ah¿¡ 01h¸¦ Á־..Ä¿¼­ÀÇ ÇüŸ¦ ÁöÁ¤ÇØÁÖ mov ch,06 ;´Âµ¥... ch´Â ½ÃÀÛ½ºÄµ¶óÀÎ..clÀº...Á¾·á mov cl,10 ;½ºÄ˶óÀÎÀ» ÁØÈÄ.. int 10h ;°¡·Îä±â 10h¹øÀ» ºÎ¸£°íÀÖ´Ù... ;-------------------------------- clear_sc: mov bx,0 ;ºñµð¿À ·¥ÀÇ ½ÃÀÛ ¹øÁö + bxÀÇ °ªÀ¸·Î ;È­¸éÀ» Áö¿ì±âÀ§ÇØ.. bxÀÇ °ªÀ» ÁÜ mov cx,80*25 ;Çѹø¿¡ ÇÑ°³ÀÇ Çȼ¿À» ¼Ò°Å ÇϹǷÎ... ;80*25¹øÀÇ ·çÇÁ¸¦ µ¹¸°´Ù... mov cur1,12 ;Ãʱâ Ä¿¼­°¡ À§Ä¡ ÇؾßÇÒ °ªÀ» ÁØ´Ù.. mov cur2,41 clear: ; È­¸é Áö¿ì±â¸¦ ÇÒ¶§.. ·çÇÁ¸¦ µ¹¸®´Â ·¹À̺í mov [wd_buff+bx],0700h ;¿öµå´ÜÀ§ÀÇ ºñµð¿À ½ÃÀÛ¹øÁö·Î ºÎÅÍ... inc bx ;Çȼ¿ÀÇ ¼Ó¼º°ú ¹®ÀÚ¸¦ ÁÖ°í Àִµ¥....... inc bx ;ÀÌÇÁ·Î±×·¥ÀÇ ½ÇÇàÀ» ¸¶Ä¡°í ³­ÈÄ.. 7000h.. loop clear ;µîÀÇ °ªÀ» ÁÖ¾î ´Ù½Ã ½ÇÇà Çغ¸¼¼¿ä... mov ch,12d mov cl,40d mov block1,block ;½ÃÀÛ µÇ´Â ¾Æ½ºÅ°ÀÇ °ªÀ» Á¤ÀÇ ÇØÁØ °ªÀ¸·Î ³Ñ°Ü ;ÁÖ°í ÀÖ´Ù.. call curse ;Ä¿¼­¸¦ ÁöÁ¤ À§Ä¡¿¡ µÎ±â ÀÇÇØ.. curse ÇÁ·Î½Ã ;Àú¸¦ È£Ãâ ÇÏ°í ÀÖ´Ù. get_char: mov ah,read_c ;ah¿¡ 0h¸¦ ÁØÈÄ.. int 16h·Î... Å°¸¦ int key_rom ;ÀÔ·Â ¹Þ´Â´Ù... cmp al,'E' ;ÀÚÆÇ¿¡¼­ ´ë¹®ÀÚ 'E'°¡ ´­·¯ Á³À¸¸é.. jz era1 ;era1À̶õ ·¹À̺í·Î Á¡ÇÁ cmp al,'D' ;'D'°¡ ´­·¯ Á³À¸¸é.. jz Draw1 ;draw1 À̶õ ·¹À̺í·Î Á¡ÇÁ cmp al,'M' ;'M'À̸é je mover ;moverÀ̶õ ·¹À̺í·Î Á¡ÇÁ cmp al,clea_sc ;clea_sc ´Â equÀÇ»ç ¸í·É¿¡ ÀÇÇØ Á¤ÀǵǾîÁø ;°ª 43h Áï 'C' ÀÌ´Ù jz clear_sc ;'C'À̸é.. clear_sc·Î Á¡ÇÁ cmp al,ctrl_c ;ctrl+c Áï... 3h°¡ ´­·¯ Á³À¸¸é.. je exit ;exit·Î °¡¼­ ÇÁ·Î±×·¥ÀÇ Á¾·á mov al,ah ;À§ÀÇ »çÇ׿¡ ÇØ´ç µÇÁö ¾ÊÀ¸¸é.. ;ah¿¡ ÀÖ´Â ½ºÄµÄÚµå °ªÀ» al¿¡ ³Ñ°Ü ÁÖ°íÀÖ´Ù. cmp al,up ;Å°Æе忡¼­ À§·Î °¡´ÂÅ°°¡ ´­·¯ Á³´Â°¡? jnz not_up ;¾Æ´Ï¸é...not_up·Î dec ch ;chÀÇ °ªÀ» °¨¼Ò½ÃÅ°°í.. sub cur1,1 ; ¼¼Æà µÇ´Â °ª¸¸Å­ Ä¿¼­ À§Ä¡ °ªµµ º¯È­ not_up: ;À§¿¡¼­.,.. À§·Î °¡´ÂÅ°°¡ ´­·¯ÁöÁö ¾Ê¾ÒÀ»¶§. cmp al,down ;down...Áï ½ºÄµ ÄÚµå·Î 50h... ¾Æ·¡·Î °¡´ÂÅ°? jnz not_down ;¾Æ´Ï¸é...not_downÀ¸·Î inc ch ;ch¸¦ Áõ°¡ ½ÃÅ°°í ÀÖ´Ù. add cur1,1 ;µ¢ ´Þ¾Æ... ÇàÀÇ °ªµµ.. Áõ°¡... not_down: ;¹ØÀ¸·Î °¡´Â Å°µµ ¾Æ´Ï¶ó¸é.. cmp al,right ;¿À¸¥ÂÊÀ¸·Î °¡´Â Å°°¡ ´­·¯ Á³´Â°¡?? jnz not_right ;¿À¸¥ÂÊÀ¸·Î °¡´Â Å°°¡ ¾Æ´Ï¶ó¸é...not_right·Î inc cl ;clÀ» Áõ°¡... add cur2,1 ;cur2ÀÇ °ªµµ Áõ°¡ ½ÃÅ°°íÀÖ´Ù. not_right: ;¿À¸¥ ÂÊÀ¸·Î °¡´Â Å°°¡ ¾Æ´Ï¶ó¸é.. cmp al,left ;¿ÞÂÊÀ¸·Î °¡´Â Å°Àΰ¡??? jnz lite_it ;¿ÞÂÊÀ¸·Î °¡´Â Å°°¡ ¾Æ´Ï¶ó¸é...lite_it·Î. dec cl ;clÀ» °¨¼Ò sub cur2,1 ;cur2µµ °¨¼Ò lite_it: mov al,160d ;al¿¡ 160d¸¦ Á־.. mul ch ;ch¿¡ µé¾î ÀÖ´Â °ªÀ¸·Î °öÇØÁÖ°í.. mov bl,cl ;bl¿¡ clÀÇ °ªÀ» ÁÖ¾î rol bl,1 ;·ÎÅ×ÀÌµå ½ÃÅ´À¸·Î... blÀÇ °ªÀ» 2¹è·Î mov bh,0 ;bh¸¦ ÃʱâÈ­ ½ÃÅ°°í add bx,ax ;¿©±â¿¡...ax¸¦ ´õÇØÁÖ°í ÀÖ´Ù.. cmp cur3,1 ; ¸¸ÀÏ cur3ÀÌ ¼¼Æà µÇ¾î ÀÖ´Ù¸é..À̵¿½Ã Áö¿òÀ̳ª ; ±×¸² ¾øÀÌ À̵¿ÇÒ¼ö ÀÖµµ·Ï.. je move ; move·Î Á¡ÇÁ½Ã Å°°í... mov al,block1 ;±×·¸Áö ¾ÊÀ¸¸é... block1¿¡ µé¾î ÀÖ´Â °ªÀ» ;°¡Á®´Ù°¡... mov [v_buff+bx],al ;ºñµð¿À ·¥¿¡ ³Ö´Â´Ù... move: call curse ; Ä¿¼­ À§Ä¡¸¦ ºÎ¸¥´Ù jmp get_char ;´Ù½Ã Å°¸¦ ÀÔ·Â ¹Þ±â À§ÇØ Á¡ÇÁ... era1: mov block1,' ' ;'E'Å°°¡ ´­·¯ Á³À¸¸é... À̸®·Î ¿Í¼­... mov cur3,0 ;block1¿¡ ½ºÆäÀ̽º¸¦ ³Ö°í...cur3À» 0À¸·Î jmp lite_it ;ÇÑÈÄ lite_it·Î Á¡ÇÁ... draw1: ;'D'Å°°¡ ´­·¯ Á³À»¶§... mov block1,0dbh ;block1¿¡...±× ÄÚµå °ªÀ» ÁØÈÄ.. mov cur3,0 ;cur3¿¡ 0À» ÁÖ¾î ±×¸²ÀÌ °¡´ÉÅä·Ï ÇÏ°í.. jmp lite_it ;lite_it·Î °¡°í ÀÖ´Ù... mover: mov cur3,1 ;'M'Å°°¡ ´­·¯ Á³À»¶§... cur3¿¡ 1À» ÁÖ°í jmp get_char ;Å°¸¦ ÀÔ·Â ¹Þ±â À§ÇØ Á¡ÇÁ.. exit: ;ctrl + c°¡ ´­·¯Áö¸é... À̸®·Î ¿À´Âµ¥.... mov ah,01 ;Ä¿¼­ÀÇ ¸ð¾çÀ» ¿ø·¡´ë·Î... mov ch,11 ;Çϱâ À§ÇÑ °ªÀ» ÁÖ°í ÀÖ´Ù.. mov cl,13 int 10h MOV AH,4CH ;±×¸®°í ³ª¼±... ÇÁ·Î±×·¥À» ³¡³»°í ÀÖ´Ù... INT 21H code ends ;ÄÚµå ¼¼±×¸ÕÆ®ÀÇ ³¡... end start ;ÇÁ·Î±×·¥ÀÇ ³¡... ---------------------------------------------------------------- À§ÀÇ ÇÁ·Î±×·¥À» ÀúÀåÇÑÈÄ ½ÇÇà ÇÏ¿©º¸¸é... óÀ½.. È­¸éÀÌ Áö¿öÁö°í.. Ä¿¼­°¡ °¡¿îµ¥¿¡ ³ªÅ¸³¯ °ÍÀÌ´Ù... Å°Æе忡 ÀÖ´Â È­»ìÇ¥·Î ¿òÁ÷À̸ç´Â ±×¸²À» ±×¸±¼ö ÀÖÀ»°ÍÀÔ´Ï´Ù. 'D'´Â ±×¸®±â.. 'E'´Â Áö¿ì±â.. 'M'Àº À̵¿.. 'C'´Â È­¸éÁö¿ì±â.. ±×¸®°í... ÇÁ·Î±×·¥ÀÇ Á¾·á´Â ctrl + c ÀÔ´Ï´Ù... ¸ÚÁø ¹Ú½º Çϳª ±×·Á º¸¼¼¿ä..... ** ÇÁ·Î±×·¥ÀÇ ¼³¸í.... equÀÇ»ç ¸í·ÉÀº .. Àú¹ø °­Á¿¡¼­. ¼³¸í Çßµí... »ó¼öÀÇ °ªÀ».. ¹®ÀÚ·Î. Á¤ ÀÇ ÇØÁÙ¼ö ÀÖ´Ù... ÀÌ ÇÁ·Î±×·¥¿¡¼­´Â À§¿¡.. Ä¿¼­ À§Ä¡Á¤ÇÏ´Â ¼­ºê·çƾÀ» ÇÁ·Î±×·¡¹ÖÇÏ°í ÀÖ´Â µ¥... Áß°£¿¡ ¼³¸íÀ» µ¡ºÙ¿´ Áö¸¸... °¡·Îä±â 10h¹øÀº ºñµð¿À ·¥ÀÇ ¸ðµå,Ä¿ ¼­,À©µµ¿ì, ÆÈ·¹Æ®,Çȼ¿,¹®Àڹ߻ý... µî....bios¸¦ Á¦¾îÇÑ´Ù... ah¿¡ 02h¸¦ Á־... °¡·Îä±â 10h¸¦ ÇÏ°í Àִµ¥... À̱â´ÉÀº.. Ä¿¼­ÀÇ À§ Ä¡¸¦ °áÁ¤ÇÏ°í ÀÖ´Ù... dh,¿¡.. Çà.. dl¿¡.. ¿­... ´ÙÀ½.. ah¿¡.. 0fh¸¦ Á־... ºñµð¿À ¸ðµå¸¦ ¾Ë¾Æ ³»°í Àִµ¥.... mdaÀÇ ½ÃÀÛ ¹øÁö´Â... 0b000h...cgaÀÇ ½ÃÀÛ ¹øÁö´Â... 0b800h.. ·Î ÁÖ°í ÀÖ´Ù .. Áö±Ý... ega.vga¿¡ °üÇÑ.. Á¤º¸³ª... ½Ã½ºÅÛÀÌ º»Àο¡°Ô ¾ø¾î¼­.. Á˼۽º ·´°Ôµµ... color ¸ðµå´Â cga¸ðµå¸¦ ÀÌ¿ëÇϴµ¥... À̵µ...25*80ÀÇ ÅؽºÆ® Çü½ÄÀ» ÃëÇÏ°í ÀÖ½À´Ï´Ù... Á¦°¡ ¾Ë±â·Î´Â ega³ª..vga¿¡¼­... cga¸¦ »ç¿ëÇÒ¼ö ÀÖÀ» °ÍÀ¸·Î ¾Ë°í Àִµ¥.. . Ȥ ¾ÈµÇ½Ã´Â ºÐÀº ¿¬¶ôÀ» Áֽøé... Á¦°¡ ¾Ë¼ö Àִµ¥ ±îÁö ¾Ë·Á µå¸®°Ú½À ´Ï´Ù...... code segment assume cs:code ..... start: ..... ..... code ends end start ¿¡¼­ ·¹À̺í start¿Í Á¦ÀÏ ¸¶Áö¸·¿¡ end start¿¡¼­ ÀÇ start¿¡ ´ë ÇÑ ¼³¸íÀ» ÇÏ°Ú½À´Ï´Ù.... ¸¸¾à¿¡.. ÇÁ·Î½ÃÀú¿¡ °üÇÑ ÇÁ·Î±×·¡¹ÖÀ» ÇÑÈÄ... ´ÙÀ½ ¸í·É.. ´ÙÀ½ ¸í·É... ½ÄÀ¸·Î °è¼Ó ÀûÀÎ ÇÁ·Î±×·¡¹ÖÀ» Çϸé.. ½ÃÀÛÀº... ÇÁ·Î½ÃÀú ºÎÅÍ ÇÕ´Ï´Ù... °¡·É À§¿¡¼­... end start¶ó´Â ÀÇ»ç¸í·ÉÀÌ ¾ø¾ú´Ù¸é.... assume ´ÙÀ½¿¡.... µ¥ÀÌŸ¸¦ Á¤ÀÇÇÑ ºÎºÐÀ» ½ÇÇà ÇÑ´Ù´Â °ÍÀε¥... ±×ºÎºÐ¿¡. .. ¾î¶² µ¥ÀÌŸ°¡ µé¾î°¡ ÀÖÀ»Áö´Â ¾Æ¹«µµ ¸ð¸£±â ¶§¹®¿¡... ¿¡·¯¸¦ ¹ß»ý ½Ã ų¼ö ÀÖ½À´Ï´Ù.. ±×´ÙÀ½¿¡... Ä¿¼­À§Ä¡ °áÁ¤À» ÇÏ°í... ¹¹ ÀÌ·± ½ÄÀ¸·Î... ÇÁ·Î±×·¥À» ½ÃÀÛ Çϴµ¥... ·¹À̺íÀ» ÁÖ°í.... Á¦ÀÏ ¸¶Áö¸·¿¡... end ·¹À̺í.. ÀÌ·±½ÄÀ¸·Î ÁÖ¸é... ÇÁ·Î±×·¥ ½ÇÇà µµÁß... start¶ó´Â ·¹ÀÌ ºíÀÌ ÀÖ´Â ¹øÁö¸¦ ip(instruction point)¿¡ ÁÖ°í... ÇÁ·Î±×·¥À» ½ÇÇà ÇÏ°í.. .À§ÀÇ ÇÁ·Î½ÃÀúÀÇ È£ÃâÀÌ ÀÖÀ» ¶§¿¡´Â ±×¹øÁö·Î °¡¼­... ret¸¦ ¸¸³¯¶§ ±îÁö.. .½ÇÇàÇÑÈÄ...ret¸¦ ¸¸³ª¸é... ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÑ ´ÙÀ½ ¸í·ÉÀ¸·Î ¿À°Ô µË´Ï´Ù. ÇÁ·Î½ÃÀú ³»¿¡¼­µµ... ¸®ÅÏ ¸í·ÉÀ» ¹®¹ý¿¡¸¸ ¸Â´Â´Ù¸é... ¸î°³°í »ç¿ëÇϽǼö ÀÖ½À´Ï´Ù... ah¿¡ 01h¸¦ ÁÖ¾î... Ä¿¼­ÀÇ ÇüŸ¦ °áÁ¤ÇÏ°í Àִµ¥... ch¿¡´Â ½ÃÀÛ ¹øÁö... cl¿¡´Â Á¾·á ¹øÁö¸¦ ÁÖ¾î °¡·Îä±â¸¦ ½ÇÇà ÇÏ°í ÀÖÀ¸´Ï.......... Çѹø ´Ù¸¥ °ªµéÀ» Á־... Ä¿¼­ÀÇ ÇüŸ¦ ´«¿©°Ü º¸½ÉÀÌ ÁÁÀ» µí ÇÕ´Ï´Ù... ´ÙÀ½.. °¡·Îä±â 16h·Î Å°¸¦ ÀÔ·Â ¹Þ¾Æ¼­... 'D,E,M,CTRL+C,???,???,???,???' Áß... ¾î´À Å°ÀÎÁö¸¦ ¾Ë¾Æ ³½ÈÄ... ±×¿¡ ¸Â´Â °ªµéÀ» ÁÖ¾î... »óȲÀ» º¯È­ ½Ã Å°°í ÀÖ½À´Ï´Ù.... ´ÙÀ½Àº ºñµð¿À ·¥¿¡ °üÇÑ ¼³¸íÀÔ´Ï´Ù... ----------------------------------------------------------------------- ºñµð¿À ·¥Àº.. Á÷Á¢ÀûÀ¸·Î È­¸é¿¡ ´ëÀÀÇÏ´Â ¾Ö½ºÅ°¿Í ¼Ó¼ºÀ» °®´Âµ¥.. ¸¸ÀÏ Çà¹øÈ£¿Í ¿­¹øÈ£.. 0¹ø¿¡...'a'°¡ ÀÖ´Ù¸é... ºñµð¿À·¥ ¸ÊÀº.... b000:0000 ¿¡... ´Â 61h 0001 ..... 0h ·Î µÇ¾î ÀÖ½À´Ï´Ù... ´ÙÀ½Àº ±×¸²À¸·Î ±×¸° ¸Å¸ð¸®¸Ê°ú ÁÖ¼Ò... È­¸éÀÔ´Ï´Ù.. ÁÖ¼Ò ¸Þ¸ð¸®¸Ê ½ºÅ©¸° b000:0000 ¾Æ ½º Å° 0001 ¼Ó ¼º 0002 ¾Æ ½º Å° 0003 ¼Ó ¼º .............. .............. .............. ................... 0f9e ¾Æ ½º Å° .................. 0f9f ¼Ó ¼º ÀÌ»óÀ¸·Î º¸¸é... ¸Þ¸ð¸®¸Ê¿¡ Á÷Á¢ÀûÀÎ... ¾Æ½ºÅ° °ªÀ» ÁÖ¾î È­¸é¿¡ µð½ºÇà ·¹ ÀÌ ½Ãų¼ö ÀÖÀ¸¸ç.. ÇöÀçÀÇ È­¸éÀ» ¶ÇÇÑ ÀÐ¾î ¿Ã¼öµµ ÀÖ½À´Ï´Ù... ¦¼ö ¹øÁö¿¡´Â ¾Æ½ºÅ°°ª.. Ȧ¼ö¹øÁö¿¡´Â ¼Ó¼ºÀÌ µé¾î ÀÖ½À´Ï´Ù... À§ÀÇ clear_sc·¹À̺íÀÌ Àִµ¥¿¡¼­... mov [wd_buff + bx],0700h ¶ó´Â ¸í·ÉÀÌ Àִµ¥... ÀÌ´Â Á÷Á¢ÀûÀ¸·Î.. ºñµð¿À ¸Þ¸ð¸®¿¡.. ¼Ó¼ºÀ» 07·ÎÁÖ °í ¾Æ½ºÅ° °ªÀº 0¹øÀ» ÁÖ°í ÀÖ½À´Ï´Ù. ¸¸ÀÏ ÀÌ ¼Ó¼ºÀ» ¹Ù²Ù¾î.. 70h¸¦ Áְųª ±âŸ ´Ù¸¥ ¼Ó¼º°ªÀ» ÁÖ¸é... È­¸éÀÇ »óÅ°¡ º¯ÇÏ´Ï... Çѹø ½ÇÇà Çغ¸¼¼¿ä.. mov [wd_buff + bx],7000h µîÀ¸·Î ¹Ù²Ù¾î º¸¼¼¿ä... ¿©±â¿¡¼­ ·¹À̺í lite_it ¿¡ ´ëÇÑ ¼³¸íÀ» ÇÏ°Ú½À´Ï´Ù... À§¿¡... ¸Þ¸ð¸®¸Ê¿¡ °üÇÑ ±×¸²¿¡¼­ ¾Ë¼ö ÀÖµíÀÌ... ¸Þ¸ð¸® ¸Ê¿¡´Â 80*25¿Í °° ÀÌ ¾î¶² Çà°ú ¿­ÀÌ ÀÖ´Â°Ô ¾Æ´Õ´Ï´Ù... ´ÜÁö.. ¸Þ¸ð¸® ³»¿¡¼­... ÁÖ¼Ò ¸î¹øÁö ¿¡.. ¼Ó¼º°ú ¾Æ½ºÅ° °ªÀ» ÁÖ´À³Ä ¸¶´À³Ä¿¡ µû¶ó... È­¸é¿¡. ±×¸²À» ±×¸± °Í Àΰ¡ ¸»°Í Àΰ¡¸¦ °áÁ¤ÇÏ°í ÀÖ½À´Ï´Ù... ¿ì¸®°¡ º¸´Â È­¸éÀº 80¿­ÀÌÁö¸¸... ½ÇÁúÀûÀ¸·Î Çȼ¿±îÁö ÇÕÇؼ­.. 160¿­ÀÌ µÇ ´Â °ÍÀÔ´Ï´Ù... ±×·¯¸é.. ù¹ø°¿­Àº 0¹ø ºÎÅÍ... 159¹ø±îÁö... µÎ¹ø°¿­Àº 160¹ø ºÎÅÍ... 319¹ø±îÁö.................. ÀÌ·± ½ÄÀ¸·Î °è»êÀ» Çؾ߸¸... Á÷Á¢ÀûÀ¸·Î ¸Þ¸ð¸®¸¦ °è»ê ÇϽǼö ÀÖ½À´Ï´Ù... óÀ½... al¿¡ 160d Áï ½ÊÁø¼ö·Î 160À» Á־... Çà¹øÈ£ ch¸¦ °öÇØÁÖ¸é... 160 * 12 = 1920 Áï 1920 À̶ó´Â ¼ýÀÚ°¡.. ax¿¡ µé¾î°¡ ÀÖ°í.... ¿­ ¹øÈ£ clÀ» bl¿¡ ÁØÈÄ... rolÀ̶ó´Â ¸í·ÉÀ¸·Î 2¹è¸¦ ½ÃÅ°°í ÀÖ½À´Ï´Ù... Ãʱ⠰ª 40¿¡ ´ëÇÑ °è»êÀ¸·Î... 40 * 2 = 80 Áï 80 ÀÌ bl¿¡ µé¾î ÀÖ°Ô µÇ°í Bh¿¡ 0À» ÁÜÀ¸·Î½á.. bx·¹Áö½ºÅÍ¿¡ µé¾î Àִ°ªÀº... 80ÀÌ µË´Ï´Ù... ´ÙÀ½ add bx,ax·Î ax¿¡ µé¾î ÀÖ´Â 1920À» bx¿¡ ´õÇØÁ־... bx·¹Áö½ºÅÍ¿¡ µé¾î ÀÖ´Â °ªÀº... 2000 °¡ µË´Ï´Ù... ¿©±â¿¡... block1ÀÇ °ª À» al¿¡ ÁÖ°í... cur3À» °Ë»çÇؼ­ 1ÀÌ ¾Æ´Ï¸é... mov [vd_buff+bx],al ·Î ºñµð¿À ¸Þ¸ð¸® ¹øÁö... 2000¹øÁö¿¡ Á÷Á¢ °¡¼­.... al¿¡ ÀÖ´Â °ªÀ» ÁÝ´Ï´Ù. ±×·¸°Ô Çؼ­ È­¸é¿¡ Ç¥½Ã°¡ µÇ°í... Áö¿öÁö°í ÇÏ´Â °ÍÀÔ´Ï´Ù.... rolÀº ½ÃÇÁÆ® ·ÎÅ×ÀÌÆ® ¸í·ÉÁß¿¡ Çϳª·Î... ºñÆ® Á¶ÀÛ ¸í·ÉÀÔ´Ï´Ù.... ¿ÞÂÊÀ¸·Î ÇÑ ºñÆ®¾¿ À̵¿ ½ÃÅ´À¸·Î ÃÖ »óÀ§ ºñÆ®´Â ij¸® Ç÷¡±×¿¡... ÃÖÇÏÀ§ ºñÆ®¿¡´Â 0ÀÌ µé¾î °¡°Ô µË´Ï´Ù... ÀÌ·¸°Ô Çؼ­ 1¹ÙÀÌÆ®¸¦ ¿ÞÂÊÀ¸·Î ·ÎÅ×ÀÌÆ® ½ÃÅ°¸é... 2¹èÀÇ °ªÀ» °¡Áö°Ô µË´Ï ´Ù... ÀÌ ºñÆ® Á¶ÀÛ ¸í·É¿¡ ´ëÇؼ­´Â ³ªÁß¿¡ ÀÚ¼¼È÷ ¼³¸íÇÏ°Ú½À´Ï´Ù. µ¥ÀÌŸÀÇ ·¹À̺í Á¤ÀÇ¿¡ °üÇÑ ¾ê±â¸¦ ÇÏ°Ú½À´Ï´Ù À§ÀÇ ·¹À̺í Áß¿¡... wd_buff label word ¶õ°Ô ÀÖ½À´Ï´Ù.... ÀÇ»ç¸í·É¾î labelÀº Á¤ÀǸ¦ ÇØÁÖ´Â °ÍÀ¸·Î ½ÇÁúÀûÀÎ ¸Þ¸ð¸®¸¦ Àâ¾ÆÁÖ´Â °ÍÀº ¾Æ´Õ´Ï´Ù... ´ÜÁö ±× ¼¼±×¸ÕÆ®ÀÇ ½ÃÀÛÀ» ±×À̸§À¸·Î ÁÖ°í... ¿öµå ´ÜÀ§·Î... ±× °ø°£À» Á¤ÀÇÇØ ÁÖ´Â °Í¿¡ ºÒ°úÇÕ´Ï´Ù. ########## ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â... #12 ³¡ $$$$$ ¿­ µÎ¹ø° À̾߱⸦ ¸¶Ä¡¸ç.... À̹ø¿¡´Â °­Á¸¦ ½ÃÀÛÇÑÁö ½Ã°£µµ Á» È帥 µíÇÏ°í Çؼ­.... Á» Èï¹Ìµµ ÀÖ°í... ¾î·Á¿î µíÇÑ ÇÁ·Î±×·¥À» ¼±Åà ÇØ º¸¾Ò´Ù... Á÷Á¢ÀûÀÎ... ºñµð¿À ·¥ÀÇ Á¦¾î¿Í... Ä¿¼­ Å©±âÀÇ Á¦¾î µîÀ» º¸°í ÀÖÀ¸¸é.,.. ¸¹Àº µµ¿òÀÌ µÇ¸®¶ó°í ¹Ï½À´Ï´Ù.... ´ÙÀ½Àº ¿ª½Ã ºñµð¿À ¸Þ¸ð¸®¸¦ ÀÌ¿ëÇÑ ÇÁ·Î±×·¡¹ÖÀ» ÇÏ°Ú½À´Ï´Ù.... *** Àú¹ø¿¡ À̾߱âÇÑ... IBM XT/AT ±â¼ú »çÀüÀº ÇÁ·Î±×·¡¹Ö»ó ÇÊ¿äÇÏ´Ï Çѹø¾¿ ÀÐ¾î º¸½Ã¸é ÁÁÀ» °ÍÀÔ´Ï´Ù.... ¹°·Ð ÇÏ´Ùº¸¸é ÀÌ°­Á¿¡¼­µµ ±×¿¡ °üÇØ ¼³¸íÀ» ¸¹ÀÌ ÇÒ°ÍÀÔ´Ï´Ù¸¸.... ####### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#13 $$$$$ ¿­¼¼¹ø° À̾߱⸦ ½ÃÀÛ Çϸç... À̹ø¿¡´Â ÇÁ·Î±×·¥°ú ±×¿¡ ´ëÇÑ °£·«ÇÑ ¼³¸íÀ» ÇÒ±î ÇÕ´Ï´Ù... ÀÌÇÁ·Î±×·¥Àº È­¸éÀ» ÀÐ¾î ¿Í¼­... ¿ªÀ¸·Î µð½ºÇ÷¹ÀÌ ½ÃÅ°´Âµ¥... 50ȸ¸¦ ¹Ýº¹ÇÕ´Ï´Ù. ±× ½Ã°£À» Çѹø º¸½Ã±æ.... *** ÇÁ·Î±×·¥.. code segment assume cs:code mov dx,0 ;dx¿¡ Ãʱ⠰ªÀ» ÁØ´Ù... mov ah,0fh ;ºñµð¿À ¸ðµå¸¦ ÆǺ°ÇÑ´Ù. int 10h cmp al,7 ;¸ð³ëÀΰ¡?? je mono mov cs:v_mod,0b800h ;¸ð³ë°¡ ¾Æ´Ï¶ó¸é... 0b800h¸¦ÁÖ°í jmp star mono: mov cs:v_mod,0b000h ;¸ð³ë¶ó¸é... 0b000h¸¦ ÁØ´Ù. star: mov ax,cs:v_mod mov ds,ax ;µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ ºñµð¿À·¥ ½ÃÀÛ ¹øÁö¿¡ ÁÖ°í mov cx,25*80*2 - 2 ;Àоî¿Ã µ¥ÀÌŸÀÇ ¼ýÀںР¸¸Å­.. cx¸¦ ¼¼Æà mov si,offset vid_ram ;Àоî¿Ã ±â¾ï Àå¼ÒÀÇ ÁÖ¼Ò¸¦ si¿¡ ÁØ´Ù. mov bx,0 ;bx¸¦ ¼¼Æà read_ram: ;ºñµð¿À ·¥À» Àоî¿Ã ·çƾÀÌ´Ù... mov al,[bx] ;ºñµð¿À ·¥À» al¿¡ ³Ñ°ÜÁØÈÄ mov cs:[si],al ;al¿¡ µé¾î ÀÖ´Â °ªÀ» ±â¾ï Àå¼Ò¿¡ ÀúÀå inc si ;¹øÁö¸¦ Áõ°¡½ÃÅ°°í inc bx ;¸¶Âù°¡Áö·Î ºñµð¿À·¥ÀÇ ¹øÁöµµ ¿Ã·ÁÁØ´Ù. loop read_ram ;cx¿¡ ¼¼Æ® µÈ °ª ¸¸Å­.. ¹Ýº¹ÇÑ´Ù. mov cx,25*80*2 - 2 ;´Ù½Ã cx¿¡ °ªÀ» ÁÖ°í mov bx,0 ;bx¸¦ ÃʱâÈ­ write_ram: ;ºñµð¿À ·¥¿¡ °®´Ù ¾²´Â ... mov al,cs:[si] ;±â¾ï Àå¼Ò¿¡¼­ Àоî¿Í mov [bx],al ;ºñµð¿À·¥¿¡´Ù... ¾´´Ù... inc bx ;ºñµð¿À·¥ÀÇ ÁÖ¼Ò´Â »ó½Â.. dec si ;ÇÏÁö¸¸.. ±â¾ïÀå¼ÒÀÇ °ªÀº °¨¼Ò loop write_ram add dx,1 ;dx¸¦ Áõ°¡ ½ÃÄÑ cmp dx,50d ;50ȸ ÀÌ»óÀ̸é.. ÇÁ·Î±×·¥À» ³¡³½´Ù.. ja exit jmp star exit: mov ah,4ch int 21h v_mod dw ? ;ºñµð¿À ¸ðµåÀÇ ±â¾ï Àå¼Ò vid_ram db 80*25*2 dup (?) ;ºñµð¿À·¥À» Àоî¿Í ÀÌ°÷¿¡ ÀúÀå code ends end ----------------------------------------------------------------------- ´ëºÎºÐ.. ¾Õ¿¡¼­ Çß´ø °ÍµéÀÌ´Ù.... Áß¿äÇÑ °Í ¸¸ ¼³¸í ÇÏ°Ú½À´Ï´Ù... À§¿¡º¸¸é.. '['.. ']'·Î °¨½Ñ ºÎºÐÀÌ Àִµ¥... ÀÌ¿¡ ´ëÇؼ­´Â Çѹø ¼³¸í ÇÑ °Í °°´Ù.... ÁÖ¼Ò ÁöÁ¤ ¹æ½ÄÁß... ¸¸ÀÏ bx¿¡ 3000h¶ó´Â °ªÀÌ µé¾î ÀÖÀ»¶§... mov [bx],alÀ̶õ ¸í·ÉÀÌ ÀÖ´Ù¸é... ÀÌ´Â bx¿¡ alÀÇ °ªÀ» ÁÖ´Â°Ô ¾Æ´Ï ¶ó... bx°¡ Á¤ÇØÁÖ´Â ÁÖ¼Ò... Áï 3000H¹øÁö¿¡...alÀÇ °ªÀ» ³Ñ°Ü ÁÖ¶ó´Â ¸í·É Çü½ÄÀÌ´Ù.... À§ÀÇ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¿© º¸¸é... ¸¶Ä¡ È­¸éÀÌ Èçµé¸®´Âµí ÇÏÁö¸¸..... ±×°ÍÀº À߸ø µÈ°ÍÀÌ ¾Æ´Ï¶ó... 50ȸµ¿¾È.. µ¥ÀÌŸ¸¦ ÀÐ°í ¾²°í Çؼ­ ÀϾ´Â Çö»óÀÌ´Ï.. À¯ÀÇ .... ±×¸®°í ¿Ö 50ȸ³Ä Çϸé.... 1¹øÀ̳ª µÎ¹ø¸¸ Çصµ µÇ ´Âµ¥... ¾î¼Àºí·¯·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥ÀÇ ½ÇÇà ½Ã°£À» °¡´ÆÇغ¸½Ã¶ó°í...È÷~~~~ ¿¬»êÀÚ.. *,+,- µîÀº... ¾î¼Àºí·¯¿¡¼­.. ¿¬»êÇÏ´Â°Ô ¾Æ´Ï¶ó.. ¸ÅÅ©·Î È®Àå °úÁ¤ Áß¿¡ ±× °ªÀ» ... ÁöÁ¤ÇØÁÖ´Ï... À̸¦ ¸í·É¾î Çü½ÄÀ¸·Î »ç ¿ë ÇÏ¸é ¾ÈµÇ°í ´ÜÁö.. °è»êÀ̳ª °ªÀ» ÁÙ¶§¿¡.. ÁöÁ¤Çϸé.. »ç¿ë½Ã Æí¸® ÇÒ°Í ÀÔ´Ï´Ù.... ####### ¸ÅÅ©·Î ¾î¼À ºí·¯¿¡ °üÇÑ À̾߱â...#13 ³¡ $$$$ ¿­ ¼¼¹ø ° À̾߱⸦ ¸¶Ä¡¸ç..... Çѹø µÚµ¹¾Æ º¸´Â °­Á¸¦ ÇÒ±î???..... ÀÌ°É ÇÒ±î?? Àú°É ÇÒ±î????? ÇÏ´Ù°¡.. .¿ø·¡ »ý°¢ Çß´ø ÇÁ·Î±×·¥À» ½ÃÀÛ Çعö·È´Ù.... È÷~~ Á˼Û.... ±×¸®°í.. ±æ°Ô °­Á¸¦ ÇÒ°Ô ¾Æ´Ï¶ó... ª°Ô ¿©·¯ ȸ¿¡ ³ª´©¾î °­Á Çϴ°Ô.. º¸´ÂºÐÀ̳ª,,,,, ÇÏ´Â ³ª³ª.. ÁÁÀ» µíÇؼ­... ±×·¸°Ô Çϱâ·Î.... ¸¶À½ ¸Ô°í À̹ø¿¡´Â ª°Ô ¿Ã¸³´Ï´Ù.... #### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#14 $$$ ¿­ ³×¹ø° À̾߱⸦ ½ÃÀÛ Çϸç.... ¿­¼¼¹ø° À̾߱⸦ º¸¸é¼­ ´çȲ ÇÏÁö³ª ¾ÊÀ¸ ¼Ì´ÂÁö..... ¼ÖÁ÷È÷.. ¾Æ´Â°Íµµ Àû°í óÀ½¿¡´Â ÇÁ·Î±×·¥ °£´ÜÇÑ°ÍÀ» ¿Ã·Á ±×¿¡ ´ëÇÑ ¼³¸í ¸¸À» ÇÒ·Á°í Çߴµ¥.. ¹üÀ§°¡ ÀÌ»ó ÇØÁøµí ½Í´Ù. ±×·¡¼­ ÇÁ·Î±×·¥ Çѹø ¼³¸í Çѹø... ÀÌ·±½ÄÀ¸·Î °£´ÜÇÏ°Ô... ±×¸®°í µÇµµ·ÏÀ̸é ÀÌÇØ°¡ ½Íµµ·Ï ³ë·Â Çغ¸ °Ú½À´Ï´Ù. --------------------------------------------------------------- ¼¼±×¸ÕÆ® ¿À¹ö¶óÀÌÆ® ÇÁ¸®ÇȽº ¾Æ½Ã´Ù½ÃÇÇ 1°³ÀÇ ¼¼±×¸ÕÆ®ÀÇ Å©±â´Â 64kbyte·Î ÇÑÁ¤ µÇ¾î ÀÖ½À´Ï´Ù. ÀÌÁ¦ ±îÁöÀÇ ÇÁ·Î±×·¥µéÀº µ¥ÀÌŸ¸¦ °¡Á® ¿Ã¶§¿¡´Â µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ º£À̽º·Î ÇÏ¿© ÁÖ¼Ò¸¦ ÁöÁ¤ÇÏ¿© µ¥ÀÌŸ¸¦ °¡Á® ¿Ô½À´Ï´Ù. ±×·¯³ª ÇÁ·Î±×·¥ÀÌ º¹ÀâÇØÁö°í ±æ¾îÁ®°¡¸é Äڵ弼±×¸ÕÆ®¿¡¼­, ¿¢½ºÆ®¶ó ¼¼±×¸Õ Æ®¿¡¼­, ½ºÅà ¼¼±×¸ÕÆ®¿¡¼­ , ±×¸®°í ¾î¶² °æ¿ì¿¡´Â ¸Þ¸ð¸®¿¡¼­ Á÷Á¢ÀûÀÎ µ¥ ÀÌŸ¸¦ °¡Á® ¿Í¾ß ÇÒ°æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·± °æ¿ì µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ ±×¿¡ ¾Ë¸ÂÀº °ªÀ¸·Î º¯°æÀ» °è¼Ó ½ÃÄÑÁְųª ¼¼ ±×¸ÕÆ® ¿À¹ö¶óÀÌÆ® ÇÁ¸®ÇȽº¸¦ »ç¿ëÇؼ­ µ¥ÀÌŸ¸¦ °¡Á® ¿Í¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ mov ax,0 mov ds,ax mov bx,10h mov dl,[bx] ...... ÀÌ·±½ÄÀÇ ÇÁ·Î±×·¥ÀÇ Â¥¿© Á³À» °æ¿ì µ¥ÀÌŸ ¼¼±×¸ÕÆ®ÀÇ °ªÀº 0À̹ǷΠµ¥ÀÌŸ ¼¼±×¸ÕÆ® ¸¦ º£À̽º·Î ÇÏ¿© bx¹øÁöÀÇ µ¥ÀÌŸ¸¦ dl¿¡ ÁÝ´Ï´Ù., Áï ¸Þ¸ð¸® 0000:0010¹øÁö¿¡ µé¾î ÀÖ´Â °ªÀ» dl¿¡ ³Ñ°Ü Áشٴ ¾ê±â ÀÔ´Ï´Ù. ±×·¸Áö¸¸ ¸Þ¸ð¸®¿¡ Á÷Á¢ÀûÀÎ ¹øÁöÀÇ ¾×¼¼½º´Â ±×°÷¹øÁöÀÇ °ªÀ̳ª.. ¿ëµµ¸¦ ¾Ë ¾Æ¾ß »ç¿ëÀÌ °¡´É Çϸç, ¹øÁöÀÇ °ªÀ̳ª µ¥ÀÌŸÀÇ À߸øµÈ ±âÀç·Î ÀÎÇØ.. ½Ã½º ÅÛ¿¡ ¾Ç¿µÇâÀ» ³¢Ä¥¼ö ÀÖÀ½¿¡ ÁÖÀÇÇÏ°í ÇÁ·Î±×·¡¹Ö ÇϽñ⠹ٶø´Ï´Ù. code segment assume cs:code,ds:data,es:exdat,ss:stack start: mov ax,data mov ds,ax mov ah,09 mov dx,offset ddd 1¹ø int 21h mov ah,09 mov dx,offset rrr 2¹ø int 21h mov ah,09 mov dx,offset ccc 3¹ø int 21h ............. .............. rrr db '¿ì¸®³ª¶ó$' code ends data segment ddd db '¾È³çÇϼ¼¿ä?$' data ends exdat segment ccc db 'Á¦ÁÖµµ ºÏÁ¦ÁÖ±º$ ' exdat ends stack segment stack db 100h dup(?) stack ends end start ¸¸ÀÏ ÀÌ·± Çü½ÄÀÇ ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù´Â °¡Á¤ÇÏ¿¡¼­ ¼³¸íÀ» ÇÏ¿©º¸ÀÚ. À§¿¡¼­ 1¹øÀº "¾È³çÇϼ¼¿ä" 2¹øÀº "¿ì¸®³ª¶ó" 3¹ø "Á¦ÁÖµµ ºÏÁ¦ÁÖ±º"À» Ç¥Çö Çϱâ À§ÇÑ ÇÁ·Î±×·¥ÀÌ ¾úÁö¸¸ "¾È³çÇϼ¼¿ä"´Â ³ª¿À´Âµ¥... ´Ù¸¥°ÍÀº ¾û¶×ÇÑ°Ô ³ª¿Â´Ù. ÀÌ ÀÌÀ¯´Â code,data,exdatµîÀÌ ¼­·Î ´Ù¸¥ ¼¼±×¸ÕÆ® ¹øÁö¸¦ °®°í Àִµ¥, À§¿¡¼­ ¾ê±âÇßµí µ¥ÀÌŸ ¼¼±×¸ÕÆ®¹øÁö¸¦ º£À̽º·Î Çؼ­ µ¥ÀÌŸ ¸¦ °¡Á® ¿À±â ¶§¹®¿¡ ¾û¶×ÇÑ°ÍÀ» °¡Á® ¿À°Ô µÈ´Ù. ÀÌ·²¶§ »ç¿ëÇϴ°ÍÀÌ ¼¼±× ¸ÕÆ® ¿À¹ö¶óÀÌÆ® ÇÁ¸®ÇȽºÀÌ´Ù. À§ÀÇ ÇÁ·Î±×·¥À» ½ÇÇà ÇÏ·Á¸é µ¥ÀÌŸ ¼¼±×¸ÕÆ®ÀÇ °ªÀ» ´Ù½Ã ÁöÁ¤ ÇØÁÖ¾î¾ßÇÏ ´Âµ¥.... 2¹ø°¿¡¼­ mov ax,code mov ds,ax 3¹ø° ¿¡¼­ mov ax,exdat mov ds,ax ¸¦ ÷°¡ ÇØÁÖ¾î¾ß Á¦´ë·Î ÀÐ¾î ¿Ã°ÍÀÌ´Ù. ±×·³ ... µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ º£À̽º·Î ÁÖ¼ÒÁöÀÇ µ¥ÀÌŸ¸¦ ÀÏ°Å ¿À´Â ¹æ¹ýÀ» ÇÏ¿´°í ´ÙÀ½¿£ ÇÁ·Î±×·¥°ú ¿À¹ö¶óÀÌÆ® ÇÁ¸®ÇȽºÀÇ »ç¿ë¹ý¿¡´ëÇØ...µ¥ÀÌŸ ¼¼ ±×¸ÕÆ®°¡ ¾Æ´Ñµ¥¿¡¼­ µ¥ÀÌŸ ¼¼±×¸ÕÆ®ÀÇ °ªÀ» º¯È­ ÇÏÁö¾ÊÀºÃ¤.. µ¥ÀÌŸ¸¦ °¡ Á®¿Ã¶§ÀÇ ¹æ¹ýÀ» ¼³¸íÇÏ°Ú½À´Ï´Ù. ##### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#14 ³¡ ##### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â .. #15 $$$ ¿­´Ù¼¸ ¹ø° À̾߱â... À̹ø¿¡´Â ¿¹°í ´ë·Î ¼¼±×¸ÕÆ® ¿À¹ö¶óÀÌÆ® ÇÁ¸®ÇȽº¿¡ °üÇѱۿ¡ ´ëÇØ ¼³¸í ÇÏ °Ú½À´Ï´Ù. ----------------------------------------------------------------------- ¾Õ °­Á¿¡¼­ ah¿¡ 09¸¦ ÁÖ°í dx¿¡ ¹®ÀÚ¿­ÀÌ Àִ¹øÁö¸¦ ÁØÈÄ.. °¡·Îä±â 21h ¸¦ °É¾î.. ¹®ÀÚ¿­À» Ç¥ÇöÇÔ¿¡ ÀÖ¾î.. µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ º£À̽º·ÎÇÏ´Â °æ¿ì¸¦ º¸¾Ò´Ù. *** ÇÁ·Î±×·¥.. code segment assume cs:code,ds:data,es:exdat start: mov ax,data mov ds,ax mov ax,exdat mov es,ax mov cx,15 mov bx,offset ggg 1.ÄÚµå ¼¼±×¸ÕÆ®ÀÇ ggg¹øÁö¸¦ ÁØ´Ù char: mov ah,02 mov dl,[bx] int 21h inc bx loop char mov cx,20 mov bx,offset rrr 2.µ¥ÀÌŸ¼¼±×¸ÕÆ®ÀÇ rrr¹øÁö char1: mov ah,02 mov dl,[bx] int 21h inc bx loop char1 mov cx,15 mov bx,offset ppp 3.¿¢½ºÆ®¶ó¼¼±×¸ÕÆ®ÀÇ ppp¹øÁö char2: mov ah,02 mov dl,[bx] int 21h inc bx loop char2 mov ah,4ch int 21h ggg db 'code segment ' code ends data segment rrr db 'this is data segment' data ends exdat segment ppp db 'extra segment ' exdat ends end start --------------------------------------------------------------------- ÇÁ·Î±×·¥ ¼³¸í.. À§ÀÇ ÇÁ·Î±×·¥Àº.. ½ÇÇàÀ» Çغ¸¾Æµµ... ¾û¶×ÇÑ ¹®ÀÚ¸¸ Ãâ·Â ÇÑ´Ù. ±× ÀÌÀ¯´Â bx¿¡ ¹øÁöÀÇ °ªÀ» ÁÖ°í ±×¹øÁöÀÇ µ¥ÀÌŸ ¸¦ °¡Á®´Ù°¡.. dl¿¡ ³Ñ°ÜÁÖ°í Ãâ·ÂÇÏ´Â ¸ð¾ç»õÀε¥.. ¸ðµÎ µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ º£À̽º·Î Ç߱⠶§¹®¿¡ rrr¹øÁöÀÇ µ¥ÀÌŸ 'this is data segment'´Â Á¦´ë·Î ¶ß ³ª... ggg¹øÁöÀÇ µ¥ÀÌŸ³ª.. ppp¹øÁöÀÇ µ¥ÀÌŸ´Â Á¦´ë·Î Ç¥ÇöÀÌ ¾ÈµÈ´Ù.. ÀÌ·²°æ¿ì,, µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ Á¤ÇØÁÖ¾î¾ßÇϴµ¥.. Çϳª Çϳª.. µ¥ÀÌŸ¸¦ ºÒ ·¯¿Ã¶§¸¶´Ù.. ¹Ù²Û´Ù´Â°ÍÀº.. ¾î·Æ°í.. ¶Ç ÇÁ·Î±×·¥ÀÌ º¹ÀâÇØÁö±â¿¡.. ¼¼±×¸Õ Æ®¿À¹ö¶óÀÌÆ® ÇÁ¸®ÇȽº¸¦ »ç¿ëÇØ ¹øÁö¸¦ ÁöÁ¤ÇØÁÖ¸é.... Àб⿡µµÆíÇÏ°í ¾²±â ¿¡µµ ÁÁ´Ù. ¼¼±×¸ÕÆ®¿À¹ö¶óÀÌÆ® ÇÁ¸®ÇȽº´Â ¾î¶² ¹æ¹ýÀ¸·Î Á¤ÇØÁÖ´À³ÄÇϸé.. Äڵ弼±×¸Õ Æ®ÀÇ µ¥ÀÌŸ¸¦ °¡Á®¿Ã°æ¿ì,,,, cs: ..¿¢½ºÆ®¶ó ¼¼±×¸ÕÆ®ÀÇ °æ¿ì¿¡´Â es: ½ºÅà ¼¼±×¸ÕÆ®ÀÇ °æ¿ì¿¡´Â ss: ½ÄÀÌ´Ù... °¡·É À§¿¡¼­ 1.ggg¹øÁö¸¦ ÁØ´Ù .. ÀÌ°÷ ¸í·ÉÁß¿¡.... mov dl,[bx] <---- À̺κÐÀ» mov dl,cs:[bx] ±×¸®°í 3.ppp¹øÁö ÁöÁ¤¿¡¼­.. mov dl,[bx] <----- À̺κеµ mov dl,es:[bx] ¶ó°í ¹Ù²Ù¾î ÁÖ¸é... ÇÁ·Î±×·¥ÀÌ Á¦´ë·Î ½ÇÇà µÉ°ÍÀÔ´Ï´Ù. ±×¸®°í 2¹øÀº ÀÌ¹Ì µ¥ÀÌŸ ¼¼±×¸ÕÆ®¸¦ º£À̽º·Î Çϱ⠶§¹®¿¡...... ¹Ù²Ù¾î ÁÙÇÊ¿ä°¡ ¾øÀ¸¸ç.. Äڵ弼±×¸ÕÆ®¸¦ Á¦¿ÜÇÑ ¼¼±×¸ÕÆ®´Â ÇÁ·Î±×·¡¸Ó°¡ ÀÓÀÇ´ë·Î ¹øÁö¸¦ ¹Ù²Ù´Â °æ¿ìµµ ÀÖÀ¸´Ï... ÇÁ·Î±×·¥À» ÀÐÀ»¶§³ª.... ÇÁ·Î±×·¥ °úÁ¤»ó... ÁÖÀÇ ÇϽñ⠹ٶø´Ï´Ù. ###### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#15 ³¡ $$$$ ¾î·Á¿î°¡¿ä????? ¾Æ°í°í... ³ªµÎ Àß ¸ð¸£°ÚÀ½... ¾î·Æ°Ô ³ª°¡´Â°Í °°±âµµ ÇÏ°í °­Á¸¦ ½ÃÀÛ ÇÑÁö °ÅÀÇ ÇÑ´ÞÀÌ µÇ¾î°¡´Âµ¥.... ¹«¾ùÀ» °­ÁÂÇß´ÂÁö... ±î¸¶µæÇÏ´Ù... <===== ¿ÏÁ¸È÷.. À§Çù... ¾î·Á¿î°ÍÀº ¸ÞÀÏÁÖ¼¼¿ä... ÇÁ·Î±×·¡¹ÖÇÏ´Ù°¡.. ¾î·Á¿î°ÍµÎ... ##### ¸ÅÅ©·Î ¾î¼À ºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#16 $$$ ¿­¿©¼¸¹ø° À̾߱⸦ ½ÃÀÛ Çϸç... À̹ø¿¡´Â °£´ÜÈ÷ È­ÀÏÀ» ÀÐ¾î ¿Í¼­ È­¸é¿¡ Ãâ·Â ÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇغ¸°Ú ½À´Ï´Ù. ** ÇÁ·Î±×·¥... code segment assume cs:code org 5ch fcb db 25h dup (?) org 80h fcb¿µ¿ª¿¡.. Á÷Á¢ÀûÀÎ µ¥ÀÌŸ¸¦ dat db 80h dup(?) ÁÖ°íÀÖ´Ù. org 100h start: mov si,0 mov dx,offset fcb ;dx¿¡ È­ÀÏ À̸§ÀÌ µç ¹øÁö¸¦ ÁÖ°í mov ah,0fh ;È­ÀÏ ¿ÀÇ µµ½ºÄÝÀ» °¨Çà int 21h cmp al,0ffh ;È­ÀÏÀÌ ¾øÀ¸¸é.. jz not_found ;¹ÛÀ¸·Î mov al,0 ;al¿¡ 0À» Á־ mov fcb[20h],al ;7ch¹øÁö¸¦ 0À¸·Î ¼¼ÆýÃÄѼ­ È­ÀÏÀÇ read: ;¼±µÎ ºÎÅÍ Àеµ·Ï ÇÑ´Ù. mov dx,offset fcb mov ah,14h ;dta¿µ¿ª¿¡ ÇÑ ·¹ÄÚµåºÐ¸¸Å­ ÀÐ¾î ¿À´Â int 21h ;µ¥... cmp al,0 ;Á¤»óÀ̸é.. al¿¡ 0ÀÌ µé¾î°£´Ù. jz read_ok cmp al,3 ;¸¶Áö¸· ·¹ÄÚµåÀ̸é.. 3ÀÌ µé¾î°¡´Âµ¥. jnz read_err ;0À̳ª 3ÀÌ ¾Æ´Ï¶ó¸é.. ÇÁ·Î±×·¥À» read_ok: ;Á¾·á.. ½ÃŲ´Ù. mov cx,80h ;Çѹø¿¡ ÀÐ¾î ¿À´Â ¹ÙÀÌÆ® ¼öÀÌ´Ù.. mov bx,0 ;bx¸¦ ÃʱâÈ­ print: mov dl,[dat+bx] ;dl¿¡ Àоî¿Â ¹®ÀÚ¸¦ ³Ñ°ÜÁØÈÄ.. cmp dl,1ah ;dlÀÌ È­ÀÏÀÇ ³¡Àΰ¡¸¦ ºñ±³.. je exit cmp dl,0dh ;dl¿¡ µé¾î À̾´ °ªÀÌ Ä³¸®Áö ¸®ÅÏ je rett ;À̸é.. rett·Î rettr: mov ah,02 ;dl¿¡ µé¾î ÀÖ´Â ¹®ÀÚ¸¦ Ç¥½Ã.. int 21h inc bx ;bx¸¦ ¿Ã·ÁÁØÈÄ.. loop print ;print¶õ ·¹À̺í·Î 80hȸ ·çÇÁ jmp read ;´Ù½Ã ·¹Äڵ带 ÀÐ¾î ¿Â´Ù. rett: inc si ;ij¸®Áö ¸®ÅÏÀ̸é.. À̸®·Î ¿À´Âµ¥.. cmp si,24 ;si¸¦ Áõ°¡ ½ÃŲÈÄ.. ÇÑ È­¸é ºÐÀ̸é.. ja hhh ;½Ã°£À» Áö¿¬.. jmp rettr ;24¹ø° ÁÙÀÌ ¾Æ´Ï¶ó¸é.. ±×³É.rettr·Î hhh: mov si,0 ;ÇÑ È­¸é ºÐÀ» Ãâ·Â ÇßÀ¸¹Ç·Î si¸¦ 0À¸·Î push cx ;ÇöÀçÀÇ cx¸¦ ÇǽÅ.. mov cx,10h ;*1. Áö¿¬ ´ë±â ½Ã°£À» ÁØ´Ù. ppp: push cx ;*2. cx¸¦ ´Ù½Ã ´ëÇÇ.. mov cx,0ffffh ;*3. ´Ù½Ã cx¿¡ °ªÀ» Á־ rrr: loop rrr ;*4. ½Ã°£À» Áö¿¬ ½ÃŲ´Ù. pop cx ;*5. µÎ¹ø°.. ´ëÇǽÃŲ cx¸¦ ã¾Æ¿È loop ppp ;´Ù½Ã ·çÇÁ¸¦ µ¹¸² pop cx ;¿ø·¡ÀÇ cx¸¦ ȸº¹... jmp rett ;´Ù½Ã Ãâ·Â Çϵµ·Ï ÇÑ´Ù. not_found: push cs ;È­ÀÏ ÀÌ ¹ß°ß µÇÁö ¾ÊÀ¸¸é.. À̸®·Î pop ds ;¿À´Âµ¥.. mov dx,offset nfou ;¸Þ½ÃÁö¸¦ Ãâ·Â ÇÑ´Ù.. mov ah,09 int 21h jmp exit ;±×¸®°ï.. ºüÁ®³ª°¨ read_err: mov dx,offset fcb ;È­ÀÏÀ» close½ÃÅ´.. mov ah,4ch int 21h exit: ;ÇÁ·Î±×·¥À» Á¾·á mov ah,4ch int 21h nfou db 'FILE NOT FOUND',0ah,0dh db 'usage r [filename.???]','$' code ends end start ----------------------------------------------------------------- À§ ÇÁ·Î±×·¥À» ÄÄÇü È­ÀÏ·Î ¸¸µé¸é... 140byteÁ¤µµÀÇ Å©±â¸¦ °®´Â´Ù. ÇöÀç ³ª¿ÍÀÖ´Â bl.exe¿Í °°Àº ÇÁ·Î±×·¥À» ¸¸µé±îÇÏ´Ù°¡.... ±æ°Í °°±âµµÇÏ°í ÇÑ±Û ³»Àåµµ ¾î·Æ°í Çؼ­.. ÀÏ´Ü È­ÀÏÀÇ ÀÔÃâ·Â¿¡.. °üÇÑ°ÍÀ» ¸ÕÀú Çϱâ·Î Çß ´Ù. fcb(file control block)À» ÀÌ¿ëÇÏ¿©. È­ÀÏÀ» ¿ÀÇ ½ÃÅ°°í Çѹø¿¡.. 80h ¹ÙÀÌÆ® ´ÜÀ§·Î ·¹Äڵ带 ÀÐ¾î ¿Í¼­ È­¸é¿¡ Ãâ·Â Çϴµ¥.. ÇÑ È­¸éÀÌ °¡µæ Â÷ ¸é.. ´ÙÀ½ À¸·Î ³Ñ¾î °¡±âÀü¿¡.. ½Ã°£ Áö¿¬À» ½áº¸¾Ò½À´Ï´Ù. ½Ã°£ Áö¿¬Àº *1,*2.. ½ÄÀ¸·Î Áö¿¬À» ½ÃÅ°°í Àִµ¥.. XT¿¡ ¸Â°Ô ½Ã°£ ´ë¸¦ ¼³ Á¤ ÇÏ¿´À¸¹Ç·Î »óÀ§ ±âÁ¾ ¿¡¼­´Â ±× ½Ã°£ ´ë¸¦ Á¶Á¤Çϸé.. ¾Ë¸Â°Ô.. Ãâ·Â µÉ °ÍÀ¸·Î ¾Ð´Ï´Ù.... MOV CX,10H <= ¿©±â °ªÀ» ¾Ë¸Â°Ô º¯°æ.. 10H~~0FFFFH±îÁö PPP: PUSH CX MOV CX,0FFFFH RRR: LOOP RRR POP CX LOOP PPP ÀÌ ÇÁ·Î±×·¥Àº PUSH¿Í POP¸¦ ¼¯¾î¼­ ¾²¸ç.. ½Ã°£À» Áö¿¬ ½ÃÅ°°í Àִµ¥... º£ÀÌÁ÷¿¡¼­.... FOR I=0 TO 100 FOR J=0 TO 100 A=A+1 NEXT J NEXT I °ú°°Àº Çü½ÄÀ¸·Î½á.. ¿©±â¼± A=A+1ÀÌ 10000¹ø ½ÇÇà ÇϰԵǾîÀÖ´Ù. óÀ½ ¿¹Á¦¿¡¼­ RRR: LOOP RRR À» 0FFFFH * 10H¹ø ½ÇÇà Çϸ鼭 ½Ã°£À» Áö ¿¬ ½ÃÅ°°í Àִ¹٠´õ¿í ¸¹Àº ½Ã°£À» Áö¿¬ ÇÏ°í ½ÍÀ¸¸é... 10H¹øÀ» ³ôÀº °ªÀ¸ ·Î ¹Ù²Ù¾î ÁÖ¸é... ¾Ë¸Â°Ô.. µð½ºÇ÷¹ÀÌ ÇÒ°ÍÀÔ´Ï´Ù... ###### ¸ÅÅ©·Î ¾î¼À ºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â .. #16 ³¡ $$$ ¿­ ¿©¼¸ ¹ø° À̾߱⸦ ¸¶Ä¡¸ç... ÇѱÛÀ» ³»Àå ½ÃÅ°´Â ¹æ¹ýÀ» ã¾Æ¼­.. Çϸé.. ÁÁÀ»°Í °°Àºµ¥.. ±â´ë¿¡ ºÎÀÀ ÇÏ Áö ¸øÇؼ­ Á˼Û.... ±×³É Çѹø Çغ» ÇÁ·Î±×·¥ÀÌ°í.. TYPE + MORE + ANYKEY ±â´ÉÀ» ±×³É Çѹø.. ¸ð ¾Æ º»°Å¶ó »ý°¢ Çϼ¼¿ä... ´ÙÀ½¿¡´Â FCB¿µ¿ª¿¡ °üÇÑ ±ÛÀ» ¾²°Ú½À´Ï´Ù. #### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#17 $$$$$ ¿­ ÀÏ°ö¹ø° À̾߱⸦ ½ÃÀÛÇϸç.. PSP (PROGRAM SEGMENT PREFIX)¿Í FCB (FILE CONTROL BLOCK)¿¡ °üÇÑ À̾߱⸦ ÇÏ°Ú½À´Ï´Ù.. 1. ÇÁ·Î±×·¥ ·Îµå¹æ¹ý... 1). COM È­ÀÏ ·Îµå ¹æ¹ý.. ·Îµå ÀüÀÇ ¸Þ¸ð¸® ·Îµå ÈÄÀÇ ¸Þ¸ð¸® »ç¿ëÁßÀÎ »ç¿ëÁßÀÎ ¸Þ¸ð¸® ¸Þ¸ð¸® CS,DS,ES,SS PSP ºñ¾î ÀÖ´Â µð½ºÄÏ»ó 100H ¹øÁö ÇÁ·Î±×·¥ ¸Þ¸ð¸® ÇÁ·Î±×·¥ * COMÇü È­ÀÏÀº CS,DS,ES,SS°¡ PSP¼±µÎ ¿µ¿ªÀ» °¡¸£Å°¸ç... 100H ¹øÁöºÎ ÅÍ ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù. 2). EXEÇü È­ÀÏÀÇ ·Îµå ¹æ¹ý ·ÎµåÀüÀÇ ¸Þ¸ð¸® »ç¿ëÁßÀÎ »ç¿ëÁßÀÎ ¸Þ¸ð¸® ¸Þ¸ð¸® DS,ES ¸®·ÎÄÉÀÌ¼Ç PSP Á¤º¸ CS,SS ºó ¸Þ¸ð¸® ÇÁ·Î±×·¥ ÇÁ·Î±×·¥ º»Ã¼ * EXEÇü È­ÀÏ¿¡¼­´Â PSP ¼±µÎ ¿µ¿ª¿¡ DS,ES¸¦ ±×¸®°í ÇÁ·Î±×·¥ º»Ã¼ÀÇ ¼±µÎ ¹øÁö¸¦ CS,SS°¡ °¡¸£Å°°í ÀÖ´Ù. COMÇü°ú EXEÇü ¸ðµ¨ÀÇ Â÷ÀÌÁ¡Àº ¿©·¯°¡Áö°¡ ÀÖÁö¸¸.. COMÇü ÇÁ·Î±×·¥Àº ¸ðµç ¸í·É µ¥ÀÌŸ°¡ ÇÑ°³ÀÇ ¼¼±×¸ÕÆ®³»¿¡ ÀÖ´Ù°í °£ÁÖ Çϱ⠶§¹®¿¡ ¼¼±×¸ÕÆ®¸¦ Àý´ë¹øÁö·Î ÁöÁ¤ÇÏ´Â ¸í·ÉÀº Á¸ÀçÇÏÁö ¾Ê°í ¶Ç ¹Ù²Ù¾î ¾µÇÊ¿äµµ ¾ø±â ¶§¹®ÀÌ´Ù.... ±×·¸Áö¸¸ EXEÇü È­ÀÏÀº ÇÁ·Î±×·¥ º»Ã¼À§¿¡ Á¤º¸°¡ µé¾î ÀÖ´Â ¿µ¿ªÀÌ Àֱ⠶§¹®¿¡ È­ÀÏÀÇ Å©±âµµ Ä¿ÁöÁö¸¸ .. ¸Þ¸ð¸®¸¦ Á¦´ë·Î ÀÌ¿ëÇÒ¼ö ÀÖ´Â ÇÁ·Î ±×·¥À̶ó°í ÇÒ¼ö ÀÖ´Ù. ±×¸®°í ±× Á¤º¸¿¡´Â CALLÀÇ FARÁ¡ÇÁÀÎÁö..NEAR JUMPÀÎÁö¸¦ ³ªÅ¸³»´Â Á¤º¸ µµ µé¾î À־ ±×Å©±â°¡ Ä¿Áö¸ç... EXE2BIN FNAME.EXE FNAME.COMÀÇ È­ÀÏ·Î º¯È¯ÇÒ¶§¿¡´Â ½ÇÁúÀûÀ¸·Î EXEÇü È­ÀÏ¿¡¼­ ¸®·ÎÄÉÀÌ¼Ç Á¤º¸°¡ µé¾îÀÖ´Â ¿µ¿ªÀ» Á¦°Å ÇØÁÖ´Â °ÍÀ̶ó ÇÒ¼ö ÀÖ´Ù..- ¹øÁö¸¦ ÁöÁ¤Çؼ­ µ¥ÀÌŸ¸¦ ÀÐ¾î ¿À´Â ¹æ¹ý¿¡¼­ COMÇü¿¡¼­³ª EXEÇü¿¡¼­ ¾û ¶×ÇÑ µ¥ÀÌŸ¸¦ ÀÐ¾î ¿À´Â °æ¿ì°¡ Àִµ¥... ½ÃÀÛ¹øÁöµîÀ» Àß Á¤ÇØ ÁÖ¾î¾ß Á¦´ë·ÎµÈ µ¥ÀÌŸ¸¦ ÀÐ¾î ¿Ã¼ö ÀÖÀ» °ÍÀÌ´Ù... EXEÇü È­ÀÏÀº ·Îµå µÇ¸é.. ÇÁ·Î±×·¥ÀÇ ½ÃÀÛ ¹øÁö°¡ 0H¹øÁö ºÎÅÍ ½ÃÀÛ µÇ ´Âµ¥ COMÇü È­ÀÏÀº ½ÃÀÛ ¹øÁö°¡ 100H ¹øÁö ºÎÅÍ ÇÁ·Î±×·¥À» ½ÃÀÛÇÑ´Ù. 2. PSP¿µ¿ª... PSP´Â °ú°Å CP/MÀ» À§ÇØ ¸¸µé¾î Á³´Ù°í Çصµ °ú¾ðÀÌ ¾Æ´Ò °ÍÀÌ´Ù. ±Ù·¡ÀÇ ÇÁ·Î±×·¥µéÀº ´ëºÎºÐ PSP¿µ¿ªÀ» »ç¿ëÇÏÁö ¾Ê°í ÇÁ·Î±×·¥ÇÏ´Â °æ¿ì °¡ ¸¹Àºµ¥.. ±×·¸´ÙÇصµ PSP¿µ¿ªÀº ÇÁ·Î±×·¡¹Ö»ó Çѹø¾¿Àº ÀÐ°í °¡ÀÚ. ÄÄÇü È­ÀÏÀ» µð¹ö±×·Î ¶ç¿ì¸é.... 100H¹øÁö ºÎÅÍ ½ÃÀÛ ÇÏ´Â °ÍÀ» ¾Ë¼ö ÀÖ À» °ÍÀÌ´Ù. À̶§ 0H¹øÁöºÎÅÍ 0FFH¹øÁö ±îÁö´Â PSP¿µ¿ªÀε¥.... ±×¸²À¸·Î º¸¸é ´ÙÀ½°ú °°´Ù... 0 1 2 3 4 5 6 7 8 9 0A 0B 0C 0D 0E 0F 00H INT 20 CALL 0005H¿ë Á¾·á ¹øÁö CTRL+C 10H Çϵå¿þ¾î¿¡ ÀÇÇÑ ¹þ¾î³ª´Â ¹øÁö »ç¿ë°¡´É ¸Þ¸ð¸® Å©±â ¹þ¾î³ª´Â ¹øÁö ** ½Ã½ºÅÛ ¿¹¾à ¿µ¿ª ** RETF 50H INT 21 ½Ã½ºÅÛ ¿¹¾à ¿µ¿ª Á¦ 1 FCB 60H Á¦ 2 FCB 70H 80H Ä¿¸Çµå ¶óÀÎÀÇ Æз¯¹ÌÅÍ ¹®ÀÚ¿­ ¹®ÀÚ¼ö DTA (Disk Transfer Address) F0H 100H ** ¼³¸í 00H~~01H : ÇÁ·Î±×·¥ Á¾·á¸¦ À§ÇÑ INT 20H°¡ ³õÀÓ 02H~~03H : ÃÖ»óÀ§ÀÇ ¼¼±×¸ÕÆ® ¹øÁö 05H~~09H : CP/M-80¿ë ½Ã½ºÅÛ ÄÝ°ú ȣȯÀ» À§ÇØ CALL 0005H¿ë ½Ã½ºÅÛ ÄÝ·Î ¿£Æ®¸®°¡ ³õÀÓ... 0AH~~0DH : IP,CSÀÇ ÇÁ·Î±×·¥ Á¾·á ¹øÁö.. 0EH~~11H : CTRL+C¸¦ ´­·¶À» ¶§.. ¹þ¾î³ª´Â ¹øÁö.. (IP,CS) 12H~~15H : Çϵå¿þ¾îÀÇ ¿¡·¯¿¡ ÀÇÇØ ¹þ¾î ³ª´Â ¹øÁö ..(IP,CS) 16H~~4FH : ½Ã½ºÅÛ ¿¹¾à ¿µ¿ª 50H~~51H : INT 21H°¡ ³õÀδÙ. 53H : RETF °¡ ³õÀÓ 54H~~5BH : ½Ã½ºÅÛ ¿¹¾à ¿µ¿ª 5CH~~7FH : FCB ¿µ¿ª Ä¿¸Çµå ¶óÀÎÀÇ Ã¹¹ø° Àμö°¡ Á¦ 1 FCB¿¡ µÎ¹ø° ÀÎ ¼ö°¡ Á¦ 2 FCB¿¡ ³õÀδÙ. ÀϹÝÀûÀ¸·Î Á¦ 1FCB°¡ ¿­¸®¸é...... Á¦ 2 FCB¸¦ Á¦´ë·Î ¾µ¼ö ¾ø´Ù. 80H~~FFH : DTA¿µ¿ªÀ¸·Î µð½ºÅ©¿Í µ¥ÀÌŸÀÇ Àбâ¿Í ¾²±â¿ë ¹öÆÛ Ãʱâ Ä¿¸Ç µå ¶óÀÎÀÇ Àμö°¡ ±×´ë·Î ¿©±â¿¡ º¹»ç ÀúÀå µÇ¾î ÀÖ°Ô µÇ°í 80H ¹øÁö¿¡´Â Æз¯¹ÌÅÍ ¹®ÀÚ¿­ÀÇ °¹¼ö°¡ µé¾î ÀÖ´Ù. ¸¸ÀÏ µµ½º»ó¿¡¼­ A>READ B:RRR.DOC BBB.DOC ¿£ÅÍ Çϸé 5CH Á¦ 1 FCB¿¡´Â 02 R R R D O C 5CH Á¦ 2 FCB¿¡´Â 00 B B B D O C 80H 80H ¿¡´Â 12 B: RRR.DOC BBB.DOC 0DH ###### ¸ÅÅ©·Î ¾î¼À ºí·¯¿¡ °üÇÑ À̾߱â ..#17 ³¡ $$ ¿­ÀÏ°ö ¹ø° À̾߱⸦ ¸¶Ä¡¸ç... ¾Æ°í Èûµé¾î¶ó..... PSP, FCB ...... Ã¥À» ÀÐ¾î º¸°í.. ½á º¸°í... ÈåÈå~~ Á¤¸®ÇÏ´Ù°¡µµ.. ±ú´Ý´Â°Ô ÀÖÀ¸´Ï.. ÁÁ±â´Â Çѵ¥... ¾î¼À ºí·¯¶ó´Â°Ô.. Çϵå¿þ¾îÀÇ ±â¼úÀû »çÇ× ±îÁö ¾Ë¾Æ¾ß ÇÏ ´Ï.. Á¶±ÝÀº °ñÄ¡ ¾ÆÇÁ´Ù... Çϸ¶´Ô.. ¸»´ë·Î ¿Ö ÀÌ·±°É ¹è¿ö¼­ ÀÌ°í»ýÀ» ÇÏ´ÂÁö ¿ø.............. ´ÙÀ½Àº ºñÆ® Á¶ÀÛ ¸í·ÉÀ» Çغ¼±î ÇÕ´Ï´Ù... Àü¿¡ Èê·¯ °¡¸ç.. ´ë°­ Çß¾ú´Âµ¥. Çѹø´õ ÀÚ¼¼È÷ Çغ¸Áö¿ä... ##### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#18 $$$$$$ ¿­ ¿©´ü¹ø° À̾߱⸦ ½ÃÀÛ Çϸç.... À̹ø¿¡´Â ¿¹Á¤ ´ë·Î ºñÆ®ÀÇ Á¶ÀÛ ¸í·É¿¡ ´ëÇØ ¼³¸í ÇÏ°Ú½À´Ï´Ù. * ºñÆ® Á¶ÀÛ ¸í·ÉÀº ºñÆ®ÀÇ ¹ÝÀü ½ÃÇÁÆ®,·ÎÅ×ÀÌÆ®µîÀ» ÇÔÀ¸·Î½á. ¿øÇÏ´Â µ¥ÀÌŸ¸¦ ¾ò°íÀÚ ÇÒ¶§ »ç¿ëÇÑ´Ù. ¶Ç ÇöÀçÀÇ ÇÁ·Î±×·¥ÀÌ ¾îµð·Î Èê·¯°¡°í ÀÖ´ÂÁö.... µîÀ» ¾Ë°íÀÚ ÇÒ¶§¿¡µµ ºñÆ®Á¶ÀÛ ¸í·ÉÀ» »ç¿ëÇÏ°Ô µÈ´Ù. pc¿¡¼­ ·¹Áö½ºÅÍ¿¡ ´©»ê±â´Â ÀÖÀ¸³ª °¨»ê±âµîÀÌ ¾ø´Â °ü°è·Î ÀÎÇØ µ¡¼ÀÀ» ÀÌ¿ëÇØ »¬¼ÀÀ» ÇÏ°Ô µÇ´Âµ¥... ÀÌ´Â º¸¼ö¸¦ ÅëÇØ Ç¥Çö ÇÏ°Ô µÈ´Ù. 1). ³í¸® ¿¬»ê ¸í·É.. AND : ³í¸®°ö.... OP1 °ú OP2°¡ 1À϶§¸¸ 1À» ¿¹) MOV AL,11101111B AND AL,00110011B ÇßÀ»¶§.... AL¿¡ µé¾î ÀÖ´Â °ªÀº 2Áø¼ö·Î.. 00100011B°¡ µÈ´Ù. OR : ³í¸®ÇÕ... OP1 °ú OP2Áß ¾î´À Çϳª¸¸ 1À̾ 1À̵ȴÙ. ¿¹) MOV AL,0001000100B OR AL,1001001010B ÇßÀ»¶§... AL¿¡ µé¾î ÀÖ´Â °ªÀº 2Áø¼ö·Î.. 1001001110B°¡ µÈ´Ù. NOT : ºÎÁ¤.... OP1À» ºÎÁ¤ ÇÑ´Ù. ¿¹) MOV AL,11100111B NOT AL ÇßÀ» ¶§.... AL¿¡ µé¾î ÀÖ´Â °ªÀº 2Áø¼ö·Î.. 00011000B°¡ µÈ´Ù. XOR : EXCLUSIE - OR ·Î À̸í·ÉÀº OP1 °ú OP2 °¡ 1,1 À϶§ 0 0,1 À϶§ 1 1,0 À϶§ 1 0,0 À϶§ 0 À¸·Î Çϸç... º¸Åë ·¹Áö½ºÅÍ¿¡ 0À» Áý¾î ³Ö°íÀÚ ÇÒ¶§¿¡µµ MOV AX,0 ½ÄÀÇ ¸í·É º¸´Ù´Â XOR AX,AXÇü½ÄÀÇ ¸í·ÉÀ¸·Î 0À» ³Ö±âµµ ÇÑ´Ù... °¡·É AXÀÇ °ªÀÌ 1111000011110000B¶ó°í Çϸé... XOR AX,AX¸¦ Çß´Ù°í ÇÏÀÚ... 1111000011110000B XOR 1111000011110000B --------------------------------- 0000000000000000B °¡ µÈ´Ù. TEST : ƯÁ¤ µ¥ÀÌŸ¸¦ º¯È­ ½ÃÅ°Áö ¾ÊÀºÃ¤ ƯÁ¤ ºñÆ®ÀÇ ON/OFF¸¦ °Ë»çÇÑ´Ù... Ç÷¡±× ·¹Áö½ºÅÍÀÇ °ªÀ» º¯È­ ½ÃÅ°Áö ¾ÊÀºÃ¤ ƯÁ¤ ºñÆ®ÀÇ °Ë»ç MOV AL,00000001B <--- CARRY FLAG¸¦ °Ë»ç ÇÏ°íÀÚ ÇÑ´Ù. TEST AL <--- CARRY FLAG¸¦ °Ì»ç ÇÑ´Ù. CMP AL,00000001B <--- ij¸®Ç÷¹±×°¡ ¼¼Æà µÇ¾î Àִ°¡?? JZ TTEST <--- ±×·¯¸é TTEST·Î Á¡ÇÁÇ϶ó NEG : NOT¸í·ÉÀº ·¹Áö½ºÅ͸¦ ÀÌ¿ëÇϴµ¥ ¹ÝÇØ NEG¸í·ÉÀº ¸Þ¸ð¸® ÀÇ ºñÆ®¸¦ ¹ÝÀü ½ÃÅ°´Â ¸í·É.. NOT¿Í °°À½.. ====================================================================== 2). ½ÃÇÁÆ® ·ÎÅ×ÀÌÆ® ¸í·É.. ROR : ºñÆ®¸¦ ¿À¸¥ ÂÊÀ¸·Î 1 ¶Ç´Â CL¹ÙÀÌÆ® ¸¸Å­ ȸÀü > > > > > CF ROR ÃÖÇÏÀ§ ºñÆ®¸¦ ij¸®Ç÷¡±×¿Í ÃÖ»óÀ§ ºñÆ®¿¡ °®´Ù ³õÀ¸¸ç ȸÀü RGR : ij¸®¸¦ Æ÷ÇÔ Çؼ­ ¿À¸¥ ÂÊÀ¸·Î À̵¿ RGR > > > > > CF > ÇÏÀ§ ºñÆ®´Â ij¸®Ç÷¡±×¿¡ ij¸®Ç÷¡±×´Â ÃÖ»óÀ§ ºñÆ®·Î.. SHR : ³í¸®Àû ¿À¸¥ÂÊ ½ÃÇÁÆ® 0 > > > > > CF SHR ÃÖ »óÀ§ ºñÆ®¿£ 0À» ÃÖ ÇÏÀ§ ºñÆ®´Â ij¸® Ç÷¡±×¿¡... SAR : »ê¼úÀû ³í¸® ½ÃÇÁÆ®·Î ÃÖ »óÀ§ ºñÆ®´Â ±×´ë·Î À¯ÁöÇϸç.. ÇÏÀ§ ºñÆ®´Â ij¸® Ç÷¡±×¿¡... ³ÖÀ¸¸ç.. ¿À¸¥ÂÊ ½ÃÇÁÆ®ÀÌ´Ù. > > > > CF SAR ÃÖ»óÀ§ ºñÆ®´Â ±×´ë·Î ÇÏÀ§ ºñÆ®´Â ij¸® Ç÷¡±×·Î ROL : ºñÆ®¸¦ ¿ÞÂÊÀ¸·Î 1 ¶Ç´Â CL¹ÙÀÌÆ® ¸¸Å­ ȸÀü CF < < < < ROL ºñÆ®¸¦ ¿ÞÂÊÀ¸·Î ȸÀü Çϸç.. ÃÖ»óÀ§ ºñÆ®´Â ij¸®Ç÷¡±×¿Í ÃÖ ÇÏÀ§ ºñÆ®¿¡ µé¾î°¨ RCL : ij¸®Ç÷¡±×¸¦ Æ÷ÇÔÇÑ ÁÂȸÀüÀÌ´Ù CF < < < < < RCL ij¸®¸¦ Æ÷ÇÔÇÑ ÁÂȸÀüÀ¸·Î ÃÖ»óÀ§ ºñÆ®´Â ij¸®¿¡... ij¸®´Â ÃÖ ÇÏÀ§ ºñÆ®¿¡ µé¾î°£´Ù. SHL : ³í¸®Àû ¿ÞÂÊ ½ÃÇÁÆ®... CF < < < < < 0 SHL ÃÖÇÏÀ§ ºñÆ®¿¡´Â 0ÀÌ Ä³¸®¿¡´Â ÃÖ»óÀ§ ºñÆ®°¡ µé¾î°¡´Â ³í¸® Àû ½ÃÇÁÆ®ÀÌ´Ù. ======================================================================== ½ÃÇÁÆ® ¸í·ÉÀº ¹®ÀÚ¸¦ Ç¥Çö Çϰųª »çÄ¢ ¿¬»ê°ú ¿¬»êÈÄ Ç¥Çö Çϱâ À§ÇÑ ¼ö´Ü µî¿¡ ¾²ÀδÙ. ¸¸ÀÏ AX·¹Áö½ºÅÍ¿¡ 4142H°¡ µé¾î °¬´Ù°í °¡Á¤ ÇßÀ»¶§.... À̸¦ DL¿¡ Áý¾î ³Ö°í Ç¥Çö Çϸé.... AB°ú ³ª¿Ã °ÍÀÌ´Ù.... ±×·¸Áö¸¸ ¿¬»êÈÄ¿¡ ÇÊ¿ä ÇÑ°ÍÀº Á÷Á¢ÀûÀÎ ¼ýÀÚÀÌÁö ¹®ÀÚ°¡ ¾Æ´Ï¹Ç·Î À̸¦ ¼ýÀڷΠǥÇö ÇϱâÀ§Çؼ­´Â ´Ïºí(4ºñÆ®)´ÜÀ§·Î Ç¥ÇöÀ» Çؾ߸¸ ÇÒ °ÍÀÌ´Ù... °¡·É À§¿¡¼­ AL¿¡ µé¾î ÀÖ´Â °ªÀº 42HÀε¥... À̸¦ 16Áø¼ö 42·Î ³ªÅ¸ ³»·Á Çϸé... ALÀ» ÇǽŠ½ÃŲ ´ÙÀ½ ALÀ» ¿À¸¥ ÂÊÀ¸·Î 4ºñÆ®¸¦ ȸÀü ½ÃŲÈÄ 30H¸¦ ´õÇØÁÖ¸é...34H°¡ µé¾î °£´Ù... ¾Æ½ºÅ° ÄÚµå °ª 34H´Â "4"À̹ǷΠÀ̸¦ DL¿¡ ÁÖ¾î Ç¥½ÃÄÉ ÇÑÈÄ ´Ù½Ã ´ëÇÇ Çß´ø ALÀ» °¡Á® ¿Í¼­ ¿ÞÂÊÀ¸·Î 4ºñÆ®¸¦ ȸÀü ½ÃÅ°¸é... 20H°¡ µÈ´Ù... À̸¦ ´Ù½Ã ³í¸®ÀûÀ¸·Î ¿À¸¥ÂÊÀ¸·Î ½ÃÇÁÆ® ½ÃÅ°¸é.. AL¿¡ µé¾î ÀÖ´Â °ªÀº 2H°¡ µÇ°í ´Ù½Ã 30H¸¦ ´õÇØÁÖ¸é.. 32H.. Áï 2ÀÇ ¾Æ½ºÅ° ÄÚµå °ªÀÌ´Ù.. À̸¦ ´Ù½Ã DL¿¡ ³Ö¾î¼­ Ç¥Çö Çϸé.. óÀ½ 4 .. ´ÙÀ½ 2 .. ½ÄÀ¸·Î 42°¡ Ç¥Çö µÈ´Ù.... ÇÑ ¹ø ¿¬»ê ¸í·ÉÀ» ½á¼­ ¼ýÀÚ¸¦ Ç¥Çö ÇÏ´Â ÇÁ·Î±×·¥À» Â¥ º¸¼¼¿ä.... ###### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â .. #18 ³¡ ##### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#19 $$$ ¿­¾ÆÈ© ¹ø° À̾߱⸦ ½ÃÀÛ Çϸç.. À̹ø À̾߱â´Â º¸Á¤ ¸í·É¿¡ °üÇÑ À̾߱⸦ ÇÏ°íÀÚ ÇÑ´Ù. ½ÊÁø º¸Á¤ ¸í·ÉÀº ¿©·¯ °¡Áö°¡ ÀÖ°í ¶Ç º¸Á¤ ¸í·É ÀÚü°¡ ÀÌÇØÇϱ⠾î·Á¿î ºÎºÐÀÌ »ó´çÈ÷ ¸¹¾Æ¼­ À̸®Àú¸® ÀڷḦ ã¾Æ º¸¾ÒÁö¸¸ Ưº°È÷ ±×°Í¿¡´ëÇØ ÀÌ ¾ß±âÇÑ Ã¥ÀÌ ¾ø¾î¼­ ¾Æ´Âµ¥±îÁö¸¸ Àû¾îº¸±â·Î Çß»ç¿À´Ï....... ¾çÇØÇØÁֽʻç ÇÕ´Ï´Ù.. ³ªÁß¿¡ ÀڷḦ ±¸ÇÒ¼öÀÖÀ¸¸é º¸ÃæÀûÀ¸·Î ´õ¿Ã¸®°Ú°í ¿ä... ... ½ÊÁøº¸Á¤ ¸í·É¿¡´Â ´ÙÀ½°ú °°Àº°ÍµéÀÌ ÀÖ´Ù. AAA <= ¾ðÆÐÅ©µå 10Áø¼ö µ¡¼À ÈÄ º¸Á¤ AAS <= ¾ðÆÐÅ©µå 10Áø¼ö »¬¼À ÈÄ º¸Á¤ AAM <= ¾ðÆÐÅ©µå 10Áø¼ö °ö¼À ÈÄ º¸Á¤ AAD <= ¾ðÆÐÅ©µå 10Áø¼ö ³ª´È¼À Àü º¸Á¤ DAA <= ÆÐÅ©µå 10Áø¼ö µ¡¼À ÈÄ º¸Á¤ DAS <= ÆÐÅ©µå 10Áø¼ö »¬¼À ÈÄ º¸Á¤ ÄÄǪÅÍ´Â 2Áø ¿¬»êÀ» ¼öÇàÇϴµ¥.. 16ºñÆ® ¿¬»ê±â·Î´Â 16Áø¼ö´ÜÀ§·Î ¼ýÀÚ¸¦ Ç¥Çö°íÀÖ´Ù. ¹°·Ð ¿ì¸®µµ 16Áø¼ö ¿¬»êÀ» ÇÑ´Ù¸é ±ÄÀÌ ½ÊÁø¼ö º¯È¯ÀÌ´Ï 2Áø¼ö ·Î º¯È¯ ÇÏ´À´Ï ÇÏ´Â °ñÄ¡¾ÆÇ °è»êÀ» ÇÏÁö ¾Ê¾Æµµ ÁÁÀ¸·Ã¸¸ ¿ì¸®´Â´ÜÁö 10Áø ¼ö ¿¬»ê¿¡ Æí¸®ÇÏ°Ô ¸Ó¸®°¡ ¸¸µé¾îÁ® À־(¸Â³ª????) ÄÄÇ»ÅÍ°¡ °è»êÇÑ°ÍÀ» ´Ù½Ã 10Áø¼ö³ª º¯È¯ ÇؾßÇÒ ÇÊ¿ä°¡ ÀÖ´Ù..... À§¿¡ ½ÊÁø º¸Á¤¸í·ÉÀ¸·Î´Â ¹°·Ð ¸¹Àº ¼ýÀÚ(¾î´À´ÜÀ§ ÀÌ»óÀÇ ¼ýÀÚ)¸¦ º¸Á¤ ½Ã ų¼ö ¾ø´Â °æ¿ìµµ ¸¹°í ½ÇÁúÀûÀ¸·Î 10Áø¼ö·Î Ç¥ÇöÇÏ´Â °Ô»ê ¹æ¹ý¿¡´Â ¸î¼ö½Ê °¡ÁöÀÇ ¸í·ÉÀ» ´õ °ÅÃÄ¾ß ÇÏ´Â °æ¿ìµµ¸¹´Ù.... ¸¸ÀÏ AX·¹Áö½ºÅÍ¿¡ 10H¶ó´Â 16Áø¼ö°¡ µé¾îÀÖ´Ù°í °¡Á¤ ÇßÀ»¶§............... À̸¦ 10Áø¼ö·Î º¯È¯ ÇÒ·Á¸é ¾î¶² °úÁ¤À» °ÅÃÄ¾ß Çϴ°¡?? AH AL AH AL 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 => 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 À§¿Í °°ÀÌ ·¹Áö ½ºÅ͸¦ º¯ ȯ ½ÃÄѼ­ AH¿¡ 30H¸¦ ´õÇÏ°í AL¿¡ 30H¸¦ ´õÇØÁÖ¸é 16À̶õ ¼ýÀÚ°¡ ³ª¿Â´Ù... ¹®Á¦´Â ¾î¶»°Ô Çؼ­ ±×·¸°Ô º¯È¯ ½Ãų±î Çϴ°ÍÀÌ´Ù AAA º¸Á¤ÀÇ °æ¿ì AL·¹Áö½ºÅÍ¿¡ 6À» ´õÇØÁØ ´ÙÀ½ AH¿¡ 1À» ÁÖ°í ALÀ» 0FH¿Í and ½ÃŲ´Ù. AAM º¸Á¤ÀÇ °æ¿ì ALÀ» 10À¸·Î ³ª´©¾î¼­ ¸òÀº AH¿¡ ³ª¸ÓÁö´Â AL¿¡ ³Ö´Â´Ù. ³ª¸ÓÁöÀÇ °æ¿ì´Â ´ÙÀ½ÀÇ ¿¹Á¦¿¡¼­ µð¹ö±×·Î ÃßÀû Çغ¸½Ã±â ¹Ù¶ø´Ï´Ù... (¾Æ´Â°ÍµµÀû°í À§ÀÇ ¸í·Éµé¿¡ ´ëÇØ ¾î¶»°Ô ±Û·Î Ç¥Çö ÇÒ·Á°í Çß´õ´Ï ÈûÀÌ µë) **** ÇÁ·Î±×·¥ **** CODE SEGMENT ASSUME CS:CODE START: MOV AL,10 ADD AL,10 AAA ; µ¡¼ÀÈÄ º¸Á¤ ¸í·É MOV AL,20 SUB AL,10 AAS ;»¬¼ÀÈÄ º¸Á¤ ¸í·É MOV BL,2 MUL BL AAM ;°ö¼ÀÈÄ º¸Á¤ ¸í·É MOV AL,58H ADD AL,15H DAA ;ÆÑÇü µ¡¼ÀÈÄ º¸Á¤ MOV AL,58H ADD AL,11H DAS ;ÆÑÇü »¬¼ÀÈÄ º¸Á¤ MOV AX,0104 MOV BL,4 AAD ;³ª´È¼ÀÀü º¸Á¤ DIV BL MOV AH,4CH ;ÇÁ·Î±×·¥ Á¾·á INT 21H CODE ENDS END START *** ÇÁ·Î±×·¥ ³¡ ***** À§ÇÁ·Î±×·¥Àº AX·¹Áö½ºÅÍ¿¡ ±×°ªÀ» ³Ö°í ÀÖ´Ù.... µð¹ö°Å·Î ÃßÀûÀ» Çغ¸¼¼¿ä... ±×·¸Áö ¾Ê°í È­¸é¿¡ Ç¥½Ã ÇÒ·Á°í ÇÑ´Ù¸é... MOV BX,AX ADD BX,3030H MOV AH,02 MOV DL,BH INT 21H MOV DL,BL INT 21H ¸¦ ÇÁ·Î½ÃÀúÈ­ ÇϽõçÁö ¸ÅÅ©·Î ¼±¾ð ÇÑÈÄ... Áß°£ Áß°£¿¡... (º¸Á¤ ¸í·É ´Ù À½¿¡ ) Áý¾î ³ÖÀ¸½Ã¸é ±×³É µµ½º»ó¿¡¼­µµº¸½Ç¼öÀÖÀ»°Ì´Ï´Ù. ½ÊÁø º¸Á¤ ¸í·ÉÀº ¾ÕÀ¸·Î ´õ °øºÎÇؼ­ ¿Ã¸®±â·Î ÇÏ°Ú½À´Ï´Ù. ´ÙÀ½Àº º¸Á¤ ¸í·É AAMÀ» ÀÌ¿ëÇÑ 1~~ 10±îÁö¸¦ ´©Àû ½ÃÅ°´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù.. **** ÇÁ·Î±×·¥ code segment assume cs:code start: mov ax,0 mov cx,0 ;µ¡¼ÀÀ» À§ÇÑ ÃʱâÈ­ mov bx,0 lp: inc cx ;CX¸¦ Áõ°¡ ½ÃÄѼ­ add ax,cx ;AX¿¡ ´õÇØ ÁØ´Ù call print ;±× AX¸¦ °®°í¼­ PRINT ¸¦ È£Ãâ cmp cx,10d ;10±îÁö ´õÇߴ°¡? jb lp ;¾Æ´Ï¸é LP·Î mov ah,4ch ;10±îÁö ´©ÀûÀ» ³¡³ÂÀ¸¸é ÇÁ·Î±×·¥À» int 21h ;Á¾·á print: push ax ;AX¸¦ ÇǽŠ½ÃŲ´Ù aam ;ALÀ» º¸Á¤ ½ÃŲ´Ù. mov bx,ax ;º¸Á¤ ½ÃŲ AX¸¦ ´ëÇÇ.. add bx,3030h ;BX¿¡ 3030H¸¦ ´õ ÇØÁÜÀ¸·Î¼­ ¼ýÀÚ¸¦ Ç¥½Ã mov ah,02 mov dl,bh int 21h ;BX¿¡ µé¾î ÀÖ´Â °ªÀ» Ãâ·Â ÇÏ°í ÀÖ´Ù. mov dl,bl int 21h mov dl,' ' ;DL ¿¡ ½ºÆäÀ̽º¸¦ ³Ö¾î Ãâ·Â½Ã º¸±â ÁÁ°Ô... int 21h pop ax ret code ends end start ** ÇÁ·Î±×·¥ ³¡.... ** ÇÁ·Î ±×·¥ ¼³¸í AX¸¦ ÃʱâÈ­ ½ÃÄÑÁØÈÄ...CX¸¦ Áõ°¡ ½ÃÅ°¸é¼­ AX¿¡ ´©Àû ½ÃÅ°°íÀÖ´Ù.. AX·¹Áö ½ºÅ͸¦ °®°í Ãâ·Â ·çƾÀ¸·Î ¿Í¼­AX¸¦ ´ëÇÇ ½ÃŲÈÄ ...... AL·¹Áö½ºÅ͸¦ º¸Á¤ ÇÏ°í ÀÖ´Ù. º¸Á¤ ½ÃŲ AX¸¦ BX¿¡ ³Ñ°ÜÁØÈÄ 3030H¸¦ ´õÇؼ­ ¾Æ½ºÅ° ¼ýÀÚ°ªÀ» ÁØÈÄ Ãâ·Â ÇÏ°íÀÖ´Ù...... ##### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â ..#19³¡ $$$$$ ¿­¾ÆÈ©¹ø° À̾߱⸦ ¸¶Ä¡¸ç... º¸Á¤ ¸í·É¿¡ ¿À´Ï °©ÀÚ±â ÇÑ°è°¡ ´À²¸Áö´ÂµíÇÏ´Ù.... ÈÞ~~~~~~ Ȥ 10Áø º¸Á¤ ¸í·É¿¡ °üÇÑ ÀڷḦ °®°í °è½Ã´ÂºÐ °è½Ã¸é Á¦°Ôµµ º¸³»Áֽôø°¡ ¾Æ´Ï¸é ¿©±â¿¡ ¿Ã·ÁÁÖ½Ã¸é °¨»ç ÇÏ°Ú½À´Ï´Ù... ÁÁÀº ½Ã°£ µÇ¼¼¿ä... ####### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#20 $$$$ ½º¹Ç¹ø° À̾߱â´Â Ư¼ö Å°ÀÇ ´­·¯Áø »óŸ¦ ¾Ë¼ö ÀÖ´Â °¡·Îä±â¸¦ °øºÎ ÇÒ±î ÇÕ´Ï´Ù... ¾Æ·¡ ÇÁ·Î±×·¥Àº ÇÁ¸°ÅÍ Á¦¾î Äڵ带 ³ÖÀº°ÍÀÔ´Ï´Ù.,. altÅ°¸¦ ´­·¶À»¶§... ·¹À̺í alt_key·Î Á¡ÇÁÇÏ¿©... ´Ù½Ã altÅ° ¸»°í ´­·¯Áø ½ºÄµÄڵ带 °Ë»çÇؼ­ ±×¿¡ ¾Ë¸ÂÀº ·¹À̺í·Î Á¡ÇÁ ÇÏ°í ÀÖ½À´Ï´Ù. **** ÇÁ·Î±×·¥.... code segment assume cs:code,ds:code call help key_in: mov ah,00 int 16h ;Å°¸¦ ÀÔ·Â ¹Þ´Â´Ù... mov dx,ax ;ÀÔ·ÂµÈ ½ºÄµÄÚµå¿Í ¾Æ½ºÅ°Äڵ带 ´ëÇÇÇÑ´Ù. mov ah,02 ;±â´É ¹øÈ£ 2¹øÀ» ÁÖ°í int 16h ;°¡·Îä±â¸¦ ÇÔÀ¸·Î½á. Ư¼ö Å°ÀÇ ´­·¯Áø »óŸ¦ üũ and al,8 ;al¿¡ ´­·¯Áø Ư¼öÅ°ÀÇ °ªÀÌ ÀÔ·Â µÇ´Âµ¥. cmp al,8 ;alt Å°°¡ ´­·¯Á³´ÂÁö¸¦ °Ë»ç ÇÑ´Ù. jE alt_key ;´­·¯ Á³´Ù¸é... alt_key·Î Á¡ÇÁÇÏ°í MOV AX,DX ;´­·¯ÁöÁö¾Ê¾Ò´Ù¸é ÇǽŠ½ÃŲ Å°°ªÀ» °¡Á® ¿Í¼­ mov ah,05 ;ÇÁ¸°ÅÍ·Î mov dl,al ;Ãâ·Â ½ÃÅ°°í ÀÖ´Ù. int 21h jmp key_in alt_key: ;alt Å°°¡ ´­·¯Á³À»¶§...... ÀÌ ·¹À̺í·Î Á¡ÇÁ¸¦ ... cmp dh,2dh ;2dh´Â xÅ°ÀÇ ½ºÄµ ÄÚµå °ª....Áï alt + x¶ó¸é jne not_exit jmp exit ;ÇÁ·Î±×·¥À» Á¾·á... not_exit: ;alt-x °¡ ¾Æ´Ï¶ó¸é.... cmp dh,26h ;alt+l Å°Àΰ¡? jne not_lf mov ah,05 ;alt+lÀ̶ó¸é..... mov dl,0ah ;ÇÁ¸°ÅÍ¿¡¼­ ¶óÀÎÇǵ带 ½ÃÅ°°í... int 21h jmp key_in ;´Ù½Ã Å°¸¦ ÀÔ·Â ¹Þ´Â´Ù. not_lf: cmp dh,21h ;alt+f °¡ ´­·¯Áö¸é ÆûÇÇµå ½ÃŲ´Ù jne not_form mov ah,05 mov dl,0ch int 21h jmp key_in not_form: cmp dh,20h ;alt+d °¡ ´­·¯Áö¸é °¡·Î 2¹è È®´ë¸¦ ÁöÁ¤ jne not_cho mov ah,05 mov dl,1bh int 21h mov dl,'W' int 21h mov dl,'1' int 21h jmp key_in not_cho: cmp dh,13h ;alt+r Å°°¡ ´­·¯Áö¸é È®´ë ÇØÁ¦ jne key_in mov ah,05 mov dl,1bh int 21h mov dl,'W' int 21h mov dl,'0' int 21h jmp key_in exit: ;ÇÁ·Î±×·¥ÀÇ Á¾·á~~~ mov ah,4ch int 21h help proc ;µµ¿ò¸» À» Ãâ·Â ½ÃŲ´Ù. push cs pop ds mov ah,09 mov dx,offset eee int 21h ret help endp eee db ' Á¾·á : alt+x µÎ¹èÁöÁ¤ : alt+d ÁöÁ¤ÇØÁ¦ :alt+r ',0ah,0dh db ' Áٳѱè : alt+l ÆûÇǵå :alt+f',0ah,0dh,'$' code ends end *** ÇÁ·Î±×·¥ ³¡.... =ÇÁ·Î±×·¥ ¼³¸í... óÀ½ µµ¿ò¸»À» Ãâ·ÂÇÑÈÄ... Ä¿¼­°¡ º¸À̽øé... ÇÁ¸°Å͸¦ Äѽðí Á¾À̸¦ ³Ö °í alt+lÀ» Çغ¸½Ã¸é... ¶óÀÎÇÇµå ½ÃÅ°´Âµî... ÇÁ¸°ÅÍÁ¦¾î Äڵ带 »ç¿ëÇÏ°í ÀÖÀ½À» ¾Ë¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±×·¯¸é Ư¼ö Å°... alt³ª shift,ctrlµîÀÇ Å°¸¦ ±¸ºÐ Çؼ­ ±×¿¡ ¾Ë¸ÂÀº Á¡ÇÁ ¸¦ ÇÏ´Â ¹æ¹ýÀ» ¾Æ¼ÌÀ¸¸®¶ó ¹Ï°í... mov ah,02 int 16h ¸¦ ÇÏ¿´À» ¶§ al·¹Áö½ºÅÍÀÇ °ª¿¡´ëÇؼ³¸í ÇÏ°Ú½À´Ï´Ù. ºñÆ® = 1 ³»¿ë 7 insertÅ° µ¿ÀÛ 6 caps lock Å° µ¿ÀÛ 5 num lock Å° µ¿ÀÛ 4 scroll lock Å° µ¿ÀÛ 3 alt Å° µ¿ÀÛ 2 ctrl Å° ´­·¯Áü 1 ¿ÞÂÊ shift ´­·¯Áü 0 ¿À¸¥ÂÊ shift ´­·¯Áü À§¿¡¼­ º¸¸é ¾Ë´Ù ½ÃÇÇ ÃÖ»óÀ§ ºñÆ®¿¡ °ªÀ̵é¾î°¡ ÀÖÀ¸¸é,,,, insertÅ°°¡ ´­ ·¯Á³°í... 6¹ø° ºñÆ®¿¡ °ªÀÌ µé¾î°¡ ÀÖÀ¸¸é.. caps lock °¡....... ÀÌ·± ½ÄÀ¸·Î µÇ´Â °ÍÀÔ´Ï´Ù. ##### ¸ÅÅ©·Î ¾î¼Àºí·¯¿¡ °üÇÑ ÀÛÀº À̾߱â..#20 ³¡ *** ÁÖ : 20ȸ ±îÁö·Î Ãʱް­Á¸¦ ³¡³Â½À´Ï´Ù.