예를 들어, ASCII 숫자의 정수를 얻습니다. 소문자인지 확인하고 싶습니다. Ex (97에서 122 사이).정수가 정수 범위 사이에있는 경우 어떻게 나눌 수 있습니까?
숫자가 숫자 범위에 해당하는 경우 휴식 방법이 있습니까? 나는 조건문이 나에게 익숙하지 않다.
예를 들어, ASCII 숫자의 정수를 얻습니다. 소문자인지 확인하고 싶습니다. Ex (97에서 122 사이).정수가 정수 범위 사이에있는 경우 어떻게 나눌 수 있습니까?
숫자가 숫자 범위에 해당하는 경우 휴식 방법이 있습니까? 나는 조건문이 나에게 익숙하지 않다.
해당 숫자가 하한보다 낮 으면 하나의 레지스터를 설정하고 상한보다 위에 있으면 다른 레지스터를 설정하십시오. 두 레지스터의 논리적 AND를 취합니다 (더 이상 필요하지 않으므로 방금 사용했던 레지스터 중 하나에 들어갈 수 있음). 결과에 분기하십시오.
테스트 할 숫자에 대해 인수 레지스터 $a0
을 사용하고, 하한에는 $a1
을, 상한에는 $a2
을 사용합니다. 임시 레지스터 $t1
및 $t2
. 당신이 원하는대로 분기하는 beq
또는 bne
을 사용할 수 있도록
slte $t0, $a1, $a0 # Sets $t0=1 if $a1 < $a0, otherwise $t0=0
slte $t1, $a0, $a2 # Sets $t1=1 if $a0 < $a2, otherwise $t1=0
and $t0, $t1, $t0 # Sets $t0=1 if $a1 < $a0 < $a2, otherwise $t0=0
지금 $t0
는 변수가 필요한 범위 내에서의 경우에만 1과 같다. 경계에 대해 신중히 생각하십시오. slte
대신 slt
을 입력하십시오.
C로 작성하고 해체를 시도해 보셨습니까? – Degustaf
현재 C에 대한 지식이 없습니다. – ajkey94