MAIN SEGMENT
ASSUME CS:MAIN DS:MAIN
MOV AX, CS ; AX = CS
MOV DS, AX ; DS = AX
MOV CX, 1 ; CX = 1
MOV AX, 0 ; AX = 0
LOOP1:
ADD AX, CX ; AX = AX+CX
INC CX ; CX++
CMP CX, 100 ; CX = 100 ?
JBE LOOP1 ; IF(CX <= 100) THEN GOTO LOOP1
MOV SUM, AX ; SUM = AX
MOV AH, 4CH ; AH = 4C //4C = PROGRAM END
INT 21H ; MS-DOS I/O SYSTEM CALL. WHAT IS 'AH'
SUM DW ?
MAIN ENDS
END
단순한 1에서 100까지 CX레지스터값을 계속 증가시키다가 100이되면 끝나는 프로그램입니다. 공부하면서 코드치는거라 제 나름대로 주석을 달면서 쳐보고 있습니다만, 굵게 쓴 글씨부분인 SUM DW ? 이 부분이 잘 이해가 안됩니다. DW는 워드값을 정의하는것으로 알고있는데 그 앞에는 LABLE 이름이 와야되는거 아닌가요? SUM은 명령어지 레이블 이름이 아닌거 같은데 ' LABLE DW ?' 라고 되있으면 LABLE을 워드값으로 정하고 값는 초기화하지 않는다라고 되는건데 SUM이 레이블 이름이라면 C언어 코딩할때 변수이름이 지정 불가능한 단어들이 있었는데 그런것처럼 제약이 없는건가요?
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.