ARM Assembly] Base Plus Offset

MySprtlty·2022년 12월 25일
0

ARM Assembly

목록 보기
5/10
post-thumbnail

🏷️Base Plus Offset

📌Post-Indexing

  • base로 명령어를 실행한 후 base 값에 offset을 더해 base를 갱신한다.
  • 🔍ex)
    LDR R0, [R1], #4: R1 주소에 있는 값을 R0로 load한 뒤, R1 값에 +4를 한다.
    LDR R0, [R1], R3, LSL #2: R1 주소에 있는 값을 R0로 load한 뒤, R3의 값에 2번 논리 왼쪽 시프트를 한 값을 더한다.

📌Pre-Indexing

  • 명령어를 실행하기 전 base에 offset을 더하는 방식
  • 이때 base값은 갱신되지 않는다.
  • 🔍ex)
    LDR R0, [R1, #4]: R1 + 4 주소에 있는 값을 R0으로 load한다.

📌Auto-Indexing

  • Pre-Indexing과 동일한데, base값을 갱신한다는 점이 다르다.
  • Pre-indexing의 명령어 뒤에 !(suffix)를 붙여서 사용한다.
  • 🔍ex)
    LDR R0, [R1, #4]!: R1 + 4 주소에 있는 값을 R0으로 load하고, R1 값은 갱신한다.

0개의 댓글