모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    전벙글이예요님의
    개인페이지입니다
    가입 : 11-12-30
    방문 : 1466회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_16641
    작성자 : 전벙글이예요
    추천 : 0
    조회수 : 465
    IP : 182.231.***.153
    댓글 : 3개
    등록시간 : 2016/04/10 21:07:21
    http://todayhumor.com/?programmer_16641 모바일
    8051 C언어, 어셈블 코드 질문드립니다.
    옵션
    • 본인삭제금지
    아래 코드들은 최대값을 도출해내는 코드입니다.

    #include <reg51.h>
     
    void main(void){
    unsigned char i, max;     //i: for문용 && max: 최대값 데이터 저장
    unsigned char R1 = 0x3F; //R1은 R0의 크기(R1 == 비교할 횟수라고 봐도 무방)
    unsigned char R0[R1] = [R1만큼의 데이터를 넣었다고 가정]
    unsigned char R2; //R0[R1]의 크기를 저장
    unsigned char* R3; //R0 배열의 마지막 주소값 저장
     
    max = R0[0]; //최대값에 R0배열의 첫번쨰 값 대입
     
    for(i=0; i<R1; i++){
    if(max < R0[i]) max = R0[i];
    }
    R2 = R1 * sizeof(R0); //sizeof를 써도 되는지?
    R3 = &R0[R1-1];
    }

    위 C언어에서 궁금한점은 8051 C코딩할때도 sizeof를 써도 되는지가 의문입니다.

    그리고 아래는 위 C코드를 어셈블로 대략적으로 바꾼것입니다
    =============================================

    ORG  0000H  ; 프로그램 시작

      JMP  START

    ;

    START:  

      MOV  R0,#30H                   ; 데이터가 들어있는 최초의 주소를 R0에 저장

      MOV  R1,#3FH  ; 비교할 횟수 저장

      MOV  R2,#00H  ; 공간값계산을위해 0으로 초기화 --> 이 부분을 0으로 초기화하는데 #00H가 맞는지?

      MOV  MAX,@R0 ;MAX에 최초의 데이터를 저장

      MOV  R4, MAX  ; R4=MAX --> R4에 MAX값 저장

    LOOP:  

      MOV  MAX, R4 ; 이부분은 도대체 왜 필요한것입니까? 버려도 무관한것 같은데...

      INC  R0   ;주소값 1 증가

      INC  R2   ;공간값 계산을 위해 루프를 돌때마다 ++시킴

      CLR  C

      SUBB  MAX,@R0       ; MAX와 R0가 지시하는 번지의 내용을 비교

      JNC  GREAT       ; MAX가 더 크면 GREAT로 점프

      MOV  MAX,@R0           ; 작으면 R0가 지시하는 번지의 내용을 MAX에 저장

      MOV  R4, MAX           ;

    GREAT:   DJNZ  R1,LOOP

      MOV  70H, MAX

      MOV  R3, @R1-1 ;이건 직접 작성해본건데.. R3에 마지막주소값을 넣는 것입니다. 그 주소의 데이터가아니라 그 주소숫자자체!!

      END  ; 프로그램 끝


    ====================================================


    그냥 C언어, 어셈블이라면 이해가 쉽겠는데

    8051로 하려니 조금씩 달라져버려서 너무 혼란스럽니다..

    궁금한 점은 모두 굵은 글씨로 처리해봤어요..ㅠㅠ

    전벙글이예요의 꼬릿말입니다
    싱글벙글

    이 게시물을 추천한 분들의 목록입니다.
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    722
    플래그 질문드립니다 [2] 본인삭제금지 전벙글이예요 16/04/25 08:41 41 0
    721
    리노흑마 덱 좀 봐주실 수 있으신가요? [13] 전벙글이예요 16/04/19 22:39 68 0
    8051 C언어, 어셈블 코드 질문드립니다. [4] 본인삭제금지 전벙글이예요 16/04/10 21:07 26 0
    719
    8051과 C언어랑 완전 다른 것인가요? [5] 본인삭제금지 전벙글이예요 16/04/08 19:46 46 0
    718
    어셈블 코드 질문드립니다. [3] 본인삭제금지 전벙글이예요 16/04/07 21:44 24 0
    717
    옛날에 TV에서 애국가 전에 나오던 삐~ 소리 화면이 뭐였죠?? [3] 전벙글이예요 16/01/01 09:12 94 0
    716
    옛날 싸이월드 방명록을 훑어보던 중 [1] 전벙글이예요 15/12/11 14:18 53 2
    715
    이 워커 괜찮나요? [4] 본인삭제금지 전벙글이예요 15/12/09 18:41 100 0
    714
    점심 [9] 전벙글이예요 15/11/30 14:37 148 10
    713
    C언어 Sleep() 함수코드를 만들었는데 조언을 얻고 싶습니다. [3] 본인삭제금지 전벙글이예요 15/11/30 02:40 40 0
    712
    어셈블리어 질문드립니다. [3] 본인삭제금지 전벙글이예요 15/11/25 14:17 26 0
    711
    구조체 배열 선언 질문 [9] 본인삭제금지 전벙글이예요 15/11/24 03:26 44 0
    710
    배열을 초기화할땐 무조건 for문쓰는게 좋은가요? [3] 전벙글이예요 15/11/14 12:39 44 0
    709
    함수호출이 빠른가요 그냥 코딩해놓는게 빠른가요? [4] 전벙글이예요 15/11/08 05:17 60 0
    708
    저녁 [3] 창작글 전벙글이예요 15/11/06 19:02 104 4
    707
    어셈블 질문 드립니다. [3] 본인삭제금지외부펌금지 전벙글이예요 15/11/05 19:29 23 0
    706
    창문에 무당벌레가 알을 깠나봐요 [5] 전벙글이예요 15/11/04 15:48 144 0
    705
    빵도라의 상자를 만들고 싶어요 [4] 전벙글이예요 15/11/02 12:27 69 0
    702
    남자도 컨실러 쓰나요? [11] 본인삭제금지 전벙글이예요 15/10/21 17:53 79 0
    701
    남자도 컨실러 쓰나요? [2] 본인삭제금지 전벙글이예요 15/10/21 17:51 76 0
    700
    "초중등 교육과정 1년씩 줄이고 초교 입학 1년 앞당긴다" [3] 전벙글이예요 15/10/21 16:32 127 2
    699
    더블링크드리스트 질문드립니다 [6] 본인삭제금지 벤(Ben)♥ 15/09/30 22:19 37 0
    698
    데몬 가상장치 이미지 삽입 질문드립니다 [2] 벤(Ben)♥ 15/09/24 20:30 32 0
    697
    휴면계정 정책 질문드려요 [1] 벤(Ben)♥ 15/08/10 05:36 23 0
    696
    흔한 초딩의 축구소설 [10] 펌글 벤(Ben)♥ 15/08/06 16:18 406 16
    695
    iso파일이 지워지지 않습니다 [4] 벤(Ben)♥ 15/08/06 07:57 89 0
    694
    전역하고 랭겜을 돌리면 안되는 이유 [1] 벤(Ben)♥ 15/07/31 17:04 165 0
    693
    카메라로 동영상 촬영중 사진촬영 횟수 제한이 있나요? [2] 벤(Ben)♥ 15/07/29 03:23 32 0
    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈