May 21, 2004 (19:45) from 210.222.26.13 | |
Written by ¼Õ´Ô | Hits : 3696 , Lines : 92 |
[½Ç½À] ±¸±¸´Ü Áß 1´Ü Ãâ·Â (5/21) |
---|
; ¹®Á¦ 1´Ü... ; 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 ; °è¼Ó °öÇϱ⠿¬»êÀ» Çؼ °ªÀÌ ³ª¿À°Ô²û ÇÏ°Ô ÇÏ´Â ÇÁ·Î±×·¥ ÀÛ¼º ; MUL operand ; AX (wordÇü) <- operand(byteÇü)*AL(byteÇü) - À̹ø¹®Á¦¿¡¼´Â À̰͸¸ »ç¿ëÇÏ¸é µÈ´Ù. ; DX:AX(dwordÇü) <- operand(wordÇü)*AX(wordÇü) ; ¹Ýº¹¹®À» ÅëÇؼ »ç¿ëÇϸé ÆíÇÏ´Ù ; ÃÑ 9¹øÀÇ ÀÛ¾÷À» ¼öÇàÇϱ⠶§¹®¿¡ LOOP ÀÌ¿ë ; ; ;LOOP ; MOV CX(¹Ýº¹È½¼ö) ; L1 : ; LOOP L1 ; Çѹ®ÀÚ Ãâ·ÂÇÏ´Â °Í INT 21H - 02H(¹®ÀÚ) ----> DL:Ãâ·ÂÇÏ°íÀÚÇÏ´Â ¹®ÀÚÀÇ ¾Æ½ºÅ°ÄÚµå ; ¹®ÀÚ¿À» ȸ鿡 Ãâ·ÂÇÏ´Â ÀÎÅÍ·´Æ® : INT 21H - 09H(¹®ÀÚ¿) ; ---> DS:DX:Ãâ·ÂÇÏ°íÀÚÇÏ´Â ¹®ÀÚ¿ÀÇ ¼¼±×¸ÕÆ®,¿ÀÇÁ¼Â ; ---> ´Ü ¹®ÀÚ¿ ³¡¿¡´Â '$' ¸¦ Ç¥½ÃÇØ Áà¾ß ÇÑ´Ù. ; ----------------------------------------------------------------- .286 SSEG SEGMENT STACK DB 256 DUP(?) SSEG ENDS DSEG SEGMENT NUM DB 1 ; 1´ÜÀÇ ´Ü¼ö ¼±¾ð RETURN DB '>', ?, 0DH, 0AH, '$' DSEG ENDS CSEG SEGMENT 'CODE' ASSUME CS:CSEG, SS:SSEG, DS:DSEG MAIN PROC FAR PUSH DS PUSH 0 MOV AX, DSEG MOV DS, AX MOV BL, 0 ; Áõ°¡ÇÏ´Â °ªÀÇ ÃʱâÈ MOV CX, 9 ; 9¹ø¹Ýº¹ L1: ADD BL, 1 ; 1¾¿ Áõ°¡ÇÏ´Â °ª MOV AL, BL ; °öÇÏ´Â °ªÀº AL ±×·¡¼ BLÀÇ °ªÀ» ³Ö¾îÁØ´Ù. MUL NUM ; °á°ú´Â AX¿¡ ÀúÀåÀÌ µÈ´Ù. ;---------------------------- AL*NUM = AX ; 00001001 (1BYTE) ; 00000000 00001001 (2BYTE) <- AX MOV RETURN+1, AL ; ¹®ÀÚ¿ ¾Õ¿¡ ? ¸¦ µÎ¾î¼ ±× ¼Ó¿¡ ³»°¡ Ãâ·ÂÇÏ°í ½ÍÀº ¹®ÀÚ¿À» ³Ö¾îÁØ´Ù. ADD RETURN+1, '0' ; ADD AL, '0' ; ¼ýÀÚ¸¦ ¹®ÀÚ·Î Âï±â À§ÇÑ ÀÛ¾÷ ; MOV DL, AL ; MOV AH, 02H ; INT 21H ; ; MOV DL, 0DH ; ¹®ÀÚ¿°³ÇàÀ§ÇÑ °Í 0DH, 0AH ; MOV AH, 02H ; INT 21H ; ; MOV DL, 0AH ; MOV AH, 02H ; INT 21H LEA DX, RETURN MOV AH, 09H INT 21H LOOP L1 RET MAIN ENDP CSEG ENDS END MAIN |