게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
어셈블리 좀 봐주실수 있나요??
게시물ID : programmer_17500짧은주소 복사하기
작성자 : 니me
추천 : 0
조회수 : 445회
댓글수 : 0개
등록시간 : 2016/06/05 12:44:23
옵션
  • 본인삭제금지
안녕하세요 
제가 아래 코드를 아주 대략적으로만 이해를 해서요

  100ms Delay Routine
;--------------------------------------------------------------------------------------
DELAY_100M  MOVLW  .200             ; w reg에 literal값으로 200을 넣는다
    MOVWF  COUNT1                      ;w reg 값을 count1에 넣는다
    CLRF  COUNT2                          ;count2를 클리어 한다   

DL_1   NOP        ; 1us Delay           ;아무일도 안함 ?? 클럭소모
    GOTO  $+1     ; 2us Delay           ;program counter +1????? 다음 명령으로 이동
    GOTO  $+1     ; 2us Delay           ;다음 명령으로 이동
    DECFSZ  COUNT2                     ;count2를 감소시키고 0이면 다음 명령 스킵
    GOTO  DL_1                            
     DECFSZ  COUNT1                    ;count1를 감소시키고 0이면 다음 명령 스킵
    GOTO  DL_1
    RETURN

    END

count2를 처음에 클리어시키면  DECFSZ  COUNT2      후에    GOTO  DL_1    를 스킵하고          DECFSZ  COUNT1     가 200이니까 200번 반복한 후에 리턴하는거 아닌가요???

저는 여기서 count2가 왜 있고 왜 클리어를 시키는지 모르겠어요 ㅠㅠ 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호