바이너리를 MIPS로 변환하는 방법

이진 데이터는 종종 "기계어"라고 하는 1과 0의 문자열입니다.

MIPS 프로그램이 실행할 작업을 결정합니다. 예를 들어 "$t1, $t2, $t3 추가"는 레지스트리 10의 내용을 레지스트리 11에 추가하고 결과를 레지스트리 9에 저장하는 MIPS 코드입니다. "대상"은 $t1, "소스"는 $t2, "대상"은 $t3입니다.

"추가"의 인코딩에 대한 바이너리를 가져옵니다. 이 추가에 대한 바이너리 인코딩은 MIPS에서 수행됩니다. "0000 00ss ssst tttt dddd d000 0010 0000"입니다. 더하기와 관련된 포인터는 $9, $10, $11. 따라서 5개의 "s" 비트에 대한 이진수는 "10001"로 이진수로 표시되는 레지스터 9에 대한 것입니다. 다섯 비트 "t"는 레지스터 10에 대한 것이며 이진법으로 "10010"으로 표시됩니다. 그리고 "d" 비트는 "10011"로 표시됩니다. 11.

이 정보를 사용하여 이진 문자열 "0000 0010 0011 0010 1001 1000 0010 0000"을 제공하는 경우 동일한 방법을 사용하여 이를 다시 MIPS로 변환할 수 있습니다. MIPS에서 add 메서드의 이진 인코딩을 기반으로 처음 6개 값은 0이고 마지막 11개는 "000 0010 0000"입니다.

일곱 번째 숫자로 시작하여 5비트를 센다. 그 값은 "소스" 레지스트리, "10 001"입니다. 5비트의 두 번째 문자열은 "대상" 값이고 다음 5비트는 "대상" 값입니다. 레지스트리 12인 경우 "destination"으로 참조되는 경우 이진 문자열은 다음과 같습니다. "0000 0010 0011 0010 1010 0000 0010 0000" 여기서 "1010 0"은 다음 값입니다. 12.