• LF몰 이벤트
  • 파일시티 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

어셈블리어 (BL 명령어의 작동 및 레지스터의 변화)

*재*
최초 등록일
2010.12.24
최종 저작일
2010.12
3페이지/한글파일 한컴오피스
가격 1,000원 할인쿠폰받기
다운로드
장바구니

소개글

실습3. 14page 의 코드를 작성하여 실제 레지스터를 살펴 어떤식으로 함수 호출이 진행되는가를 보라.

▶BL 명령어의 작동 및 레지스터(LR)의 변화

▶리턴(MOV pc, lr)시 레지스터 및 PC의 변화


소스코드 및 스크린샷 첨부

목차

없음

본문내용

실습3. 14page 의 코드를 작성하여 실제 레지스터를 살펴 어떤식으로 함수 호출이 진행되는가를 보라.
▶BL 명령어의 작동 및 레지스터(LR)의 변화
▶리턴(MOV pc, lr)시 레지스터 및 PC의 변화
1. ADR.W R0, str1
ADR.W R1, str2
-R0레지스터에는 str1의 시작 주소인 0x2C가 들어있고, R1 레지스터에는 str2의 시작주소인 0x36이 들어있다.
2.BL strcmp
-strcmp 함수호출 부분으로, strcmp label 로 branch 한다. 여기서 함수가 끝나면 다시 돌아와서 다음 명령어를 수행해야하므로 R14(LR)에 현재 PC(1번에서 보면 알 수 있듯이 0xe이다)에서 4를 더한 값을 저장한다. 여기서 의문점이 생겼다. 원래 0xe 에 4를더한값(다음명령어의주소) 는 0x12여야한다. Disassembly 창에서 확인해봐도 다음 명령어인 program_end 의 시작 주소는 0x12 이다.
그런데 R14(LR)에 저장되는 값을 보면 0x13인 것을 알 수 있는데, 이것은 THUMB의 특성상 LSB가 1이여야 하기 때문에 1이 더해진다.
3. strcmp 함수
-strcmp 함수는 두 개의 문자열을 비교하는 함수로 주석만 봐도 이해가 가므로 상세한 설명은 하지 않고, 실습보고서 주제인 LR의 변화와, 리턴시 레지스터 및 PC의 변화에 대해서 알아보겠다.

참고 자료

없음
*재*
판매자 유형Bronze개인

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
최근 본 자료더보기
탑툰 이벤트
어셈블리어 (BL 명령어의 작동 및 레지스터의 변화)
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업