이 asciiz 문자열이 주어진 Mips에서 프로그램을 작성하고 있습니다 : .asciiz "7A23232". 문자열의 각 문자는 카드 갑판의 카드에 해당합니다. 나는 두 종류와 세 종류를 확인해야합니다. String의 각 문자를 어떻게 확인합니까? 나는 Java의 charAt()와 비슷한 것을 찾고있다.문자열을 MIPS로 구문 분석
답변
MIPS 컴파일러가 없기 때문에 코드를 여기에 제공하지 않을 것이므로 오해하지 않으려 고합니다. 그러나해야 할 일의 핵심은 각 문자를 읽는 것입니다. 한 번에 레지스터 1에 문자열을 입력 한 다음 나머지 문자 을 확인/비교하여을 검사하여 현재 문자의 값과 일치하는지 확인합니다. 그렇다면, 쌍 카운터 인 다른 레지스터를 증가 시키십시오. 반환해야하는 항목에 따라 즉시 일치 항목을 반환하거나 최상의 문자 및 최상의 일치 금액을 저장하도록 다른 레지스터를 설정할 수 있습니다. 솔직히, 이런 식으로 C와 같은 저급 언어로 작성하여 루프와 로컬이 어디에 있는지 느끼고 나서 변환 할 수 있습니다.
나는 그것을 작성하고 알고리즘을 가지고있다. 내 문제는 그 문자열에서 레지스터로 그 단일 문자를 받고있다. 바이트를로드하면 트릭이 발생합니까? – tjpaul
예. 문자가 '넓지'않은 한 그렇습니다. –
숙제? 소리처럼 ... –