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

May 21, 2004 (20:13) from 210.222.26.13
Written by ¼Õ´Ô Hits : 1586 , Lines : 73
[½Ç½À] ±¸±¸´Ü Áß 2´Ü Ãâ·Â (2¹Ý)(5/21)
; ¹®Á¦ 2´Ü...
; 2
; 4
; 6
; 8
; 10
; 12
; 14
; 16
; 18

.286
SSEG SEGMENT STACK
DB     256 DUP(?)
SSEG ENDS

DSEG SEGMENT

NUM DB 2 ; 2´ÜÀÇ ´Ü¼ö ¼±¾ð
RESULT DB ?, ?, 0DH, 0AH, '$'
DIVNUM DB 10

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
CMP AL, 10
JL L2
; 10ÀÌ»óÀΰæ¿ì
DIV DIVNUM
MOV RESULT, AL
ADD RESULT, '0'
MOV RESULT+1, AH
ADD RESULT+1, '0'

JMP L3
L2:
MOV RESULT, ' '
MOV RESULT+1, AL
ADD RESULT+1, '0'

L3:
LEA DX, RESULT
MOV AH, 09H
INT 21H

LOOP L1

RET

MAIN ENDP
CSEG ENDS
END MAIN

Modify Delete Post Reply Backward Forward List