게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
어샘블리관련 단순한 질문입니다. 책보는데 이해가 잘 안되는 부분이라..
게시물ID : programmer_17100짧은주소 복사하기
작성자 : redbull553
추천 : 2
조회수 : 551회
댓글수 : 4개
등록시간 : 2016/05/05 17:10:58
옵션
  • 본인삭제금지
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언어 코딩할때 변수이름이 지정 불가능한 단어들이 있었는데 그런것처럼 제약이 없는건가요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호