컴퓨터 명령어

1. 명령어 형식

  • 명령어 형식의 분류
    • 오퍼랜드의 기억장소에 따른 명령어 형식
    • 오퍼랜드 수에 따른 명령어 형식

기억 장소에 따른 명령어 형식

  1. 누산기를 이용하는 명령어 형식

    • ADD X
      • AC <- AC + M[X]
      • 누산기(AC)에 있는 내용과 기억장치 X번지에 있는 내용을 더해서 누산기(AC)로 전송
    • LOAD X
      • AC <- M[X]
      • 기억장치 X번지에 있는 내용을 누산기로 적재
    • STORE X
      • M[X] <- AC
      • 누산기의 내용을 기억장치 X번지에 저장
  2. 다중 레지스터를 이용하는 명령어 형식

  • ADD R1, R2, R3
    • R3 <- R1 + R2
    • 레지스터 R1, R2를 더해서 R3로 전송
  • ADD R1, R2
    • R2 <- R1 + R2
    • 레지스터 R1, R2를 더해서 R3로 전송
  • MOVE R1, R2
    • R2 <- R1
    • R1을 R2로 전송
  • LOAD X, R1
    • R1 <- M[X]
    • 기억장치 X번지의 내용을 레지스터 R1에 적재
  • STORE R1, X
    • M[X] <- R1
    • 레지스터 R1의 내용을 기억장치 X번지에 저장
  1. 스택구조를 이용하는 명령어 형식 스택의 맨 위에 주소값을 보관하는 방식

    • ADD
      • TOS <- TOS + TOS-1
      • 스택의 맨 위의 내용과 바로 아래 내용을 더해서 맨 위로 전송
    • PUSH X
      • TOS <- M[X]
      • 기억장치 주소 X번지의 내용을 TOS(맨 위)로 전송
    • POP X
      • M[X] <- TOS
      • TOS의 내용을 기억장치 주소 X번지로 전송

주소지정방식

명령어 주소지정방식 (addressing mode)

  • 프로그램 수행 시 오퍼랜드를 지정하는 방식
  • 명령어의 주소 필드를 변경하거나 해석하는 규칙을 지정하는 형식
  • 주소지정방식을 사용하면 명령어의 수를 줄일 수 있음

유효주소

주소지정방식의 각 규칙에 의해 정해지는 오퍼랜드의 실제 주소

상대 주소지정방식

  • 유효주소를 계산하기 위해 특정 레지스터 내용에 명령어 주소필드 값을 더하는 방식
  • 특정 레지스터로 프로그램 카운터(PC)가 주로 사용됨
  • ex) LDA $ADRS; = AC <- M[ADRS+PC]
  • 유효주소 = 명령어 주소부분의 내용 + PC의 내용
Last Updated: