2020년1,2회 통합 조직응용기사 필기 [3과목 전자계산기구조] 기출문제 풀이

Поділитися
Вставка
  • Опубліковано 12 лис 2024

КОМЕНТАРІ • 4

  • @Lee82539
    @Lee82539 Рік тому +1

    선생님. 마지막 60번 문제에서 이해가 잘 안가는 부분이 있는데요.
    먼저, 256A의 주소로 한 워드가 16bit라는 것까지는 이해를 했습니다.
    하지만, 분기 명령어의 길이 자체가 3바이트이면 24bit로 2워드를 차지하고, 오퍼랜드로 1워드를 더 차지한다는 부분이 이해가 잘 가지 않습니다. 명령어 자체에 op와 오퍼랜드가 포함되어 있지 않나요??
    변위 값이 명령어에 지정됐다는 표현이 있는데 이게 명령어 안에 있다는 것이 아니라는 걸까요?...

    • @Lee82539
      @Lee82539 Рік тому

      하지만 만약 워드의 단위를 1바이트로 계산하게 되면,
      명령어의 총 길이가 3바이트로 3칸을 차지하고(256A ~ 256C), 이후 PC에서는 256D를 가리키고 있으므로 여기서 분기를 하게 되어 24F8H로 분기가 되는게 아닌가 싶습니다..

    • @ITCHfishbone
      @ITCHfishbone  Рік тому

      흠... 번역으로 인해 헷갈리는 부분 같습니다.
      명확하게 용어를 정리하자면,
      명령어 코드는 instruction이라고 하며, instruction은 OP코드와 operand로 구성됩니다.
      OP 코드는 operation code이며, 번역하면 연산 코드나 연산 명령어라고 번역됩니다.
      오퍼랜드(operand)는 피연산자입니다.
      instruction과 OP code가 번역될때 '명령어'라는 표현을 해서 많이 헷갈리게 됩니다.
      예를 들면,
      ADD 5;
      위와 같은 0형식 명령어에서 ADD가 연산 코드, 즉 OP코드이고, 5는 피연산자, 즉 오퍼랜드가 됩니다. 오퍼랜드는 피연산자로 사용되는 값(value)이거나 레지스터 혹은 주소를 나타낼 수도 있습니다.
      이 둘(OP code + operand) 모두를 합친 것이 명령어(instruction)이 되는 것입니다.
      문제에서 말하는 상대주소지정방식으로 -75h 만큼 분기하라는 명령어(instruction)의 예시는 다음과 같습니다.
      JUMP -75h;
      문제 조건에서 말하는 분기명령어는 JUMP를 말하며, 정확하게 말하면 OP코드를 칭합니다.
      질문자님은 문제에서 말하는 분기 명령어를 instruction으로 생각하고 계신것 같습니다.
      문제에서 말하는 분기명령어는 OP code입니다.
      정리하자면,
      문제에서 '명령어에 지정된 변위값'에서의 명령어는 instruction을 말하며,
      '분기명령어'는 OP code를 말합니다.

    • @ITCHfishbone
      @ITCHfishbone  Рік тому

      워드는 반드시 전체 주소를 다 표현할 수 있어야 합니다.
      문제에서 256Ah는 1바이트(8bit)로 표현이 불가능하기 떄문에, 만약이라는 경우는 있을 수가 없습니다.
      분기명령어의 길이가 3바이트라고 말은, OP코드가 3바이트라는 말입니다.