2014-02-16 4 views
0

우리는 리틀 엔디안에서 16 진수에서 다음 명령의 가능한 인코딩을 제공하라는 메시지가 표시됩니다 :컴퓨터 아키텍처 : 명령을 인코딩하는 방법?

R1 < - 메모리 [R2 + R3]

어디에 (R1)의 초기 값 (ECX), r2 (EDX) 및 r3 (EBX)은 각각 0x137dd, 0xb 및 0x1f입니다.

나는 혼란 스럽다. 저는 명령어가 32 비트로 인코딩된다는 것을 알고 있습니다. 처음 몇 비트는 opcode이고 다른 하나는 피연산자의 주소입니다. 그러나이 경우 피연산자의 주소는 무엇입니까?

감사합니다.

답변

0

여기서 피연산자는 r2 및 r3입니다. 명령은 메모리 위치의 주소 (r3에 저장된 r2 + 값에 저장된 값)의 값을 레지스터 r1에로드합니다.

그래서 명령은 다음과 같이 작동합니다 : 그것은 당신이 작업에 대한 연산 코드를 제공하지 않는다는 점에서

opcode + target destination + source operand 1 + source operand 2 

문제는 불완전 보이지만, 피연산자의 주소 R2의 주소이어야하며, r3 (r2와 r3의 값이 아님!).

관련 문제