회원가입 ID/PW 찾기
AA

질문할때는 다음 사항을 정확히 설명해주셔야 답변하시는 분도 최대한 정답에 가깝게 답할 수 있습니다.
---------------------------------------------------------------------------------------------------------------------------------------------------------
1. 컴파일러등의 개발환경 :



2. 회로나 소스코드의 제어목적 :



3. 증상과 예상되는 문제점 :



4. 기타 :



---------------------------------------------------------------------------------------------------------------------------------------------------------


학교에서 keil 공부하고 있는데요.



0200 ORG  200

0200  BACK :    MOV  A,  #55H

0202 MOV  P1,  A

0204 MOV  R4,  #99H

0206 MOV  R5,  #67H

0208 LCALL  DELAY

020B MOV  A, #0AAH

이하생략


이 코드에서  LCALL 후에 STACK 이 어떻게 되어 있는지 잘 이해가 안됩니다.

0B   

0A

09    02    

08    0B


0B는 이해가 됩니다. 근데 그 다음에 02 라고 한거 같은데 이해가 잘 안되요

설명 부탁드립니다.

댓글 1
  • No Profile

    있는 그대로 이해하면 됩니다. LCALL DELAY를 실행하게 되면, DELAY라고 하는 서브루틴을 호출하게 되지요.

    그 서브루틴의 실행이 끝나고 RET 명령어를 만나서 돌아오게 될 ADDRESS, 즉 LCALL DELAY 바로 다음 인스트럭션의 ADDRESS가 스택에 저장되게 됩니다. 그 ADDRESS가 020B이지요. 그런데, 이 ADDRESS는 16 비트 즉 2 바이트인데 스택에는 한 바이트씩만 저장할 수 있지요. 그래서 스택의 연속하는 두 위치에 연속하여 이 ADDRESS의 상위 바이트, 하위 바이트를 저장하는 것입니다. 8051 매뉴얼에 보시면 아시겠지만, RETURN ADDRESS는 하위바이트가 먼저, 상위 바이트가 나중에 저장됩니다. LCALL DELAY 실행 직후의 스택포인터 SP의 값은 09를 가리키게 됩니다.

     

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

search
번호 분류 제목 글쓴이 조회 수 날짜
106 펌웨어 & 코딩언어 HOT객체지향프로그래밍4 끼르 1430 2017.06.19
105 펌웨어 & 코딩언어 HOT적외선 센서에 대한 질문입니다.3 jaemi2010 1308 2016.02.25
104 펌웨어 & 코딩언어 HOT구조체 포인터 캐스팅??1 기다려줄래 1084 2015.07.10
103 펌웨어 & 코딩언어 HOTmatlab에서 작성된 m file을 c++로 변환하고 싶습니다.1 마린스토리 1273 2014.04.28
102 펌웨어 & 코딩언어 HOTC언어로된 MPPT제어 프로그램 Code Vision 으로 변환하기 찰떡젤리 3179 2014.04.21
101 펌웨어 & 코딩언어 HOTC 명령어 좀 상세히 알고 싶습니다1 jsp 1128 2014.04.03
100 펌웨어 & 코딩언어 HOT피보나치 수열..2 aNitMotD 3498 2013.10.30
99 펌웨어 & 코딩언어 HOT1D FEM coding 문제 ..원하는 답이 안나와요 수치해석미쵸 4347 2013.09.29
98 펌웨어 & 코딩언어 HOTPIC 16F628A와 CCSC 기반의 프로그래밍 질문입니다. 제발 도와주세요ㅠㅠ 신천동주민 5584 2013.09.24
97 펌웨어 & 코딩언어 HOT비주얼베이직 연산 및 줄바꿈에 대한 질문입니다.1 원할머니보고쌈 1476 2012.11.07
96 펌웨어 & 코딩언어 HOTc언어 질문인데요..3 하하하하히 1218 2012.09.10
95 펌웨어 & 코딩언어 HOTC언어제어3 tbwnaoslwj1 1403 2012.08.09
94 펌웨어 & 코딩언어 HOTmatlab 질문입니다.. 소다수1 1619 2012.06.06
93 펌웨어 & 코딩언어 HOT-(C언어(함수호출)로 만든 크리스*마스*트리*프로그램)-1 리종순2 2057 2011.12.14
92 펌웨어 & 코딩언어 HOT외부 SRAM 컨트롤하는 것좀 도와주세요.1 쩡무 4695 2011.11.15
91 펌웨어 & 코딩언어 HOTunikey program 수정 jjhuem 1746 2011.10.11
90 펌웨어 & 코딩언어 HOTAtmega128에서 Reset 하는 방법 중 궁금한 점이 있습니다!!!4 공돌이의꿈 3980 2011.06.21
89 펌웨어 & 코딩언어 HOTC언어랑 matlab의 차이?1 약곰탱이 4407 2011.06.02
88 펌웨어 & 코딩언어 HOTVHDL 전가산기 설계 질문입니다. 나트륨 5981 2011.03.26
87 펌웨어 & 코딩언어 HOTC 배열이용해서 엑셀 데이터 끌어오는 방법???2 꼬꼴리 2713 2011.03.24
  • 우리는 마음을 염려해야 하며 외모를 염려해서는 안 된다.
    - 이솝
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.