연구원 SO 사용자의 테이블과 비교하여 적재 값,MIPS - 값
나는 누군가가이 문제를 일에 대해 어떻게 이동하는 방법에 대한 아이디어를 공유 할 수 있습니다 바라고 있어요. 나는 값의 테이블을 가지고 있다고 말한다. 표는 두 개의 열을 포함 제 COL (COL1)를 그 두 번째 열 (COL2)와 연관된 특정 값을 갖는 또 다른 값을 갖는다 :
값은
COL1 COL2
0 11
1 90
2 52
3 C8
4 B7
이제 모든 진수에 어떤 내가해야 할 일은 레지스터 중 하나의 값을 비교하고 COL1의 값과 일치하면 다른 레지스터를 COL2의 해당 값으로로드해야합니다. 예를 들어 R2 = 1과 같은 값이 있으면 90을 사용하여 R3을로드해야합니다.
내가 사용하려는 접근 방식은 lb
명령어를 완전히 피하는 것과 관련이 있습니다.
and $r1, $r1, $r0 #Initialise r1 to 0
addi $r1, $r1, 1 #load r1 with 1
beq $r2, $r1, LOAD_1 #Check to see if r2 = 1
and $r1, $r1, $r0
addi $r1, $r1, 2
beq $r2, $r1, LOAD_2
LOAD_1:
and $r3, $r3, $zero
addi $r3, $r3, 0x52 #Load r3 with 0x52 as per the table
LOAD_2:
Load value into r3 as before.
거대한 테이블이 있으면 문제가 생길 수 있습니다. 누군가가 더 짧은 방법을 제안 할 수 있습니까? (연산자가 lb
인 경우)?