2013-02-06 4 views
1

지금은 Null로 끝나는 문자열을로드하고 해당 문자열에있는 알파벳 문자의 수를 반환하려고합니다. 현재 세 가지 기능이 있습니다 : 주, countAlpha (문자 수를 계산하기위한 것임) 및 문자가 알파벳인지 아닌지를 판별하는 isAlpha. 알고리즘에 대한 도움을 받고 싶습니다.MIPS : 문자열에 얼마나 많은 영문자가 들어 있는지 확인하십시오.

그래서 내 메인에 문자열을로드하고 countAlpha에 점프하고 링크 한 다음 syscall 명령을로드하여 int를 인쇄하고 프로그램을 종료합니다.

문제가있는 countAlpha의 경우 문자열의 각 문자를 통과하는 for 루프를 만들고 isAlpha가 1 (문자가 영문자임을 나타냄)을 반환하면 개수를 늘리십시오.

isAlpha는 직설적이며 문자가 ASCII의 특정 숫자 사이에 있는지를 판단합니다.

그래서 내 질문에 countAlpha 공격하는 것입니다. 당신의 도움을 주셔서 감사합니다. (참고 : 실제 코드는 사용하지 말고 힌트 만 사용하십시오.)

+2

어셈블러 도움말, C 도움말 또는 기타 형식을 원한다면 명확하지 않습니다. 적절한 태그를 추가하면 더 많은 주목을 받게 될 것입니다. –

답변

2

isAlpha 호출에 대한 반환 값/레지스터를 테스트하고 테스트가 매번 수행 될 때마다 별도의 레지스터/카운트 var를 추가/증가 시키길 원하는 것 같습니다. 참된. 또는 값이 0 또는 1로 반환되면 루프를 통해 매번 카운트 레지스터에 반환 값을 직접 추가 할 수 있습니다. 그런 다음 현재 문자가 '\ 0'문자가 될 때까지 계속 루프를 설정하십시오. 그런 다음 카운트 레지스터에 최종 값이 저장됩니다.

당신을 도울 정도로 심층적입니까?

+0

이것은 도움이됩니다, 감사합니다! 실제로 별도의 레지스터가 필요한지 확실하지 않아이를 명확히했습니다. 다시 한번 감사드립니다. –

관련 문제