¾î¼Àºí¸®¾î °Ô½ÃÆÇ
(http://bi.snu.ac.kr/~skim/lecture/assem03)
¾Ë¸²: ÆíÀÇ»ó Á¦¸ñ¿¡ ¸î¹ÝÀÎÁö¸¦ Àû¾îÁÖ¼¼¿ä. ¿¹: [x¹Ý] Á¦¸ñ

Jun 4, 2004 (20:57) from 210.222.26.13
Written by ¼±ÀÌ (skim@bi.snu.ac.kr) Hits : 2687 , Lines : 54
[½Ç½À] ½ºÅÃÀÌ¿ëÇÑ ÇÁ·Î½ÃÀú ÀÎÀÚÀü´Þ (6/4)
.286

SSEG SEGMENT STACK
DB 256 DUP(?)
SSEG ENDS

DSEG SEGMENT
NUM1 DW  2
NUM2 DW  3
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

       PUSH NUM1 ; ù¹ø° ÀÎÀÚ ½ºÅà Ǫ½¬
       PUSH NUM2  ; µÎ¹ø° ÀÎ»ç ½ºÅà Ǫ½¬

       CALL ADDING ; ÇÕÀ» ±¸Çϱâ À§ÇØ ÇÁ·Î½ÃÀú È£Ãâ

       POP AX ; µ¡¼À °á°ú¸¦ AX·Î ¹ÞÀÚ
       POP CX ; ½ºÅÿ¡ ÀÖ´Â »ç¿ëÄ¡ ¾Ê´Â °ª »èÁ¦(POP)

       MOV DX, AX ; Ãâ·ÂÇÏ°íÀÚ ÇÏ´Â ¹®ÀÚ ¼¼ÆÃ
       ADD DX, '0' ; ¼ýÀÚ->¹®ÀÚº¯È¯
       MOV AH, 02H
       INT 21H ; ÀÎÅÍ·´Æ®

       RET
MAIN ENDP

ADDING PROC
       MOV BP, SP ; ³Ñ°Ü¹Þ´Â ÀÎÀÚ¿¡ Á¢±ÙÇϱâ À§ÇØ BP ¼¼ÆÃ
       PUSHA

       MOV AX, [BP+2] ; µÎ¹ø° ÀÎÀÚ ¾ï¼¼½º
       MOV CX, [BP+4] ; ù¹ø° ÀÎÀÚ ¾ï¼¼½º

       ADD AX, CX ; µ¡¼À ¼öÇà(°á°ú´Â AX¿¡ ÀúÀå)

       MOV [BP+2], AX ; °á°ú¸¦ ½ºÅÃÀÇ µÎ¹ø° ÀÎÀÚ ºÎºÐ¿¡ »ðÀÔ

       POPA
       RET
ADDING ENDP

CSEG ENDS
END MAIN

Modify Delete Post Reply Backward Forward List