회원가입 ID/PW 찾기
AA

8051을 배우고있는데요...

 

교수님께서 명령어는 이런동작이다 ! 라고만 알려주고..

 

최소값 최대값 구하는 프로그램을 짜보라고해서..

 

이리저리 생각해보았지만..너무막막합니다.

 

30H~35H까지 임의의 값을 넣고 36H , 37H에 최대값과 최소값을 계산하여 저장하는 프로그램을 만들라고하셨어요...

 

R0를 사용해서 넣으라고하는데..

 

만들어 주시면 정말 감사하겠지만.. 너무 염치없어서

 

어떤명령어들을쓰고 어떤순서로 작성해야하는지..조언좀해주세요...

 

이레포트는 서브루틴까지 배우고 내주셨어요..그러니까 CJNE 까지는 사용할수있어요..

kyu
댓글 1
  • No Profile

    http://cluster1.cafe.daum.net/_c21_/bbs_search_read?grpid=lH2L&fldid=3zK1&datanum=185&contentval=&docid=lH2L3zK118520041113133526

     

    8501 어셈블리어를 공부하는 분들에게 좋은 예제라고 생각해서 간단히 설명을 하겠습니다.

    (8051 강좌와 8051 조각내기 강좌를 공부하시는 것이 도움이 되리라 생각합니다.)

     

    내부 데이터 메모리 20h - 27h 까지 8 개의 (8비트 부호 없는) 데이터 중에서 최대값을 R2 (08h) 에 저장하는 프로그램을 작성합니다.

    8051 에는 비교명령은 없고, 비교후 점프명령(cjne) 이 있습니다. 이 명령을 사용해서 데이터들을 비교해서 값이 큰 값을 R2 레지스터에 저장하는 방식으로 프로그램을 작성합니다.

     

    아래 프로그램에서

    $include (reg51.inc) 에서 reg51.inc 파일에는 8051 의 SFR 에 있는 레지스터 이름이 선언되어 있습니다. 이 파일을 포함하라는 명령입니다.

    MAX     EQU     0AH  명령은 0AH (뱅크 1 의 R2) 대신에 MAX 라는 이름으로 사용할 것을 선언합니다.
    고동색 부분은 8 개의 (임의의) 데이터를 내부 데이터 메모리(20h - 28h) 에 저장하는 것입니다.

    MOV     PSW,#08H 명령은 뱅크 1 을 사용한다는 것입니다. 즉 R0 - R7 레지스터가 08h - 0Fh 가 됩니다.

    MOV     R0,#20H 명령은 R0 를 포인터로 사용하기 위해서 초기값(=20h) 을 할당하였습니다.

    MOV     R1,#7 명령은 R1 을 카운터로 사용하기 위하여 초기값(=07h) 을 할당하였습니다.

    CJNE    A,MAX,NEXT1 명령은 A 레지스터와 MAX 에 있는 내용을 비교하는 명령입니다. 비교후 무조건 NEXT1, 즉 다음 줄로 점프합니다. 이때 A 가 MAX 보다 작은면 C(캐리) 가 '1' 이 됩니다. A 가 MAX 보다 크거나 같으면 캐리는 '0' 이 됩니다.

    DJNZ    R1,LOOP1 명령은 카운터로 사용된 R1 을 -1 해서 0 이 아니면 점프하는 명령입니다.

     

    $include (reg51.inc)

    MAX     EQU     0AH
            ;
            ORG     0000H
    ;----------------------------
            MOV     20H,#1BH
            MOV     21H,#08H
            MOV     22H,#35H
            MOV     23H,#0B2H
            MOV     24H,#0ABH
            MOV     25H,#0FEH
            MOV     26H,#48H
            MOV     27H,#0BBH

    ;----------------------------
            MOV     PSW,#08H
            MOV     R0,#20H
            MOV     R1,#7
            MOV     MAX,@R0 
    LOOP1:
            INC     R0
            MOV     A,@R0
            CJNE    A,MAX,NEXT1
    NEXT1:
            JC         NEXT2
            MOV     MAX,A
    NEXT2:
            DJNZ    R1,LOOP1
            JMP     $
    ;----------------------------
            END

     

    위 프로그램을 RIDE51 통합환경에서 시뮬레이션 하는 과정을 살펴 보겠습니다.

    프로젝트를 생성해서 어셈블(Make all) 하는 방법은 8051 강좌의 [[초급]] C 컴파일러 (RIDE51) 실행하기[1] 를 참조하세요.

    스텝 단계로 동작을 보는 방법은 8051 강좌의 [[초급]] C 컴파일러 (RIDE51) 실행하기[2] 를 참조하세요.

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
55 Software & IDEs HOTAllegro OrCAD 16.6 파일 보내주실 수 있나요?2 jihE 481 2018.01.28
54 Software & IDEs 소스 분석툴 관련 질문드려요2 아톰신 166 2017.01.02
53 Software & IDEs 리눅스 커널에 대해 공부하려고 하는데 서적 한부 추천 부탁드립니다.1 아톰신 167 2017.01.02
52 Software & IDEs PADS.9.4.1 받을수 있는 방법(훈련병)2 하운드 297 2016.07.13
51 Software & IDEs 리눅스는 여기 사이트와 거리가 먼거죠?1 pcb훈련변 182 2016.06.05
50 Software & IDEs epm3128act100-10n 프로그램 확인 땡쟁이 214 2015.12.17
49 Software & IDEs 신입생입니다.3 sunni 223 2015.12.09
48 Software & IDEs gps단말기 펌웨어질문입니다1 힘술쟁이 248 2015.11.18
47 Software & IDEs HOTUSB를 사용하는 디바이스 펌웨어 개발 책? 문서?1 베이아터 479 2014.01.09
46 Software & IDEs HOT큐블럭 프로그래밍 관련 질문 올립니다.1 행복이아빠 595 2013.08.22
45 Software & IDEs HOTProteus 7.7 Professional2 Keyshaun 755 2013.07.12
44 Software & IDEs HOTmsp430f1611을 사용하고 있는데 ADC에서 읽어들인 값하고 직접 테스터기로 찍은 값이 달라요1 김진성짱 812 2013.06.25
43 Software & IDEs HOTOV9620 SXGA 모드 설정 좀 도와주세요1 로미옹 515 2013.03.25
42 Software & IDEs HOT주차 시스템 회로 구성하는데요.. peng2 1201 2011.10.09
41 Software & IDEs HOTFreescale 질문인데 아시는 분 없나요? ㅠㅠ2 jzho 1550 2011.07.19
40 Software & IDEs HOTkey board 관련1 jjhuem 2448 2011.07.06
39 Software & IDEs HOT펌웨어 하다가 막히는 부분이 있어서 질문 드립니다. 마모루 1557 2011.06.13
38 Software & IDEs HOT어셈블리어 공부하기1 아이스으 2192 2011.03.22
37 Software & IDEs HOT스마트폰 앱 개발시 음성필터요..1 귤씅 2210 2011.01.28
36 Software & IDEs HOTWDK 관련 문의 입니다.1 소보루 1293 2010.11.18
  • 왕이건 농부건 자신의 가정에 평화를 찾아낼 수 있는 자가 가장 행복한 자다.
    - 괴테
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.