Exercism의 MIPS Assembly 트랙에 참여해서 70개의 연습 문제와 코드 자동 분석, 그리고 개인 멘토링까지 모두 100% 무료로 이용할 수 있어요.
# Convert ascii string of binary digits to integer
#
# $a0 - input, pointer to null-terminated string of 1's and 0's
# $v0 - output, integer form of binary string
# $t0 - ascii value of the char pointed to
# $t1 - integer value (0 or 1) of the char pointed to
.globl binary_convert
binary_convert:
li $v0, 0 # Reset accumulator to 0.
loop:
lb $t0, 0($a0) # Load a character,
beq $t0, $zero, end # if it is null then return.
sll $v0, $v0, 1 # Otherwise shift accumulator left,
addi $t1, $t0, -48 # calculate the value of the character,
or $v0, $v0, $t1 # and add that to the accumulator.
addi $a0, $a0, 1 # Finally, increment the pointer
j loop # and loop.
end:
jr $ra
Exercism에서 재미있고 보람찬 코딩 연습 문제로 개념에 대한 이해를 확인하며 프로그래밍 실력을 키워 보세요.
숫자 n이 주어졌을 때, n번째 소수가 무엇인지 알아내요.
숫자로 이루어진 문자열이 주어졌을 때, 길이가 n인 연속된 부분 문자열의 숫자들로 만들 수 있는 가장 큰 곱을 계산해요.
주어진 행 수까지 파스칼의 삼각형을 계산해요.
MIPS는 대학의 컴퓨터 구조 강의에서 사용되는 간단한 어셈블리 언어예요.
MIPS는 수십억 개의 출시 제품에서 핵심을 이루고 있어요.
MIPS는 컴퓨터 구조에 관한 학술 자료를 비롯해 다양한 곳에서 폭넓게 다뤄지고 있어요.
간결한 명령어를 통한 빠른 실행 속도는 MIPS가 등장한 이래 줄곧 핵심 특징이었어요.
RISC 기반 어셈블리 언어답게 작고 직교적인 명령어 집합을 자랑해요.
MIPS는 1985년에 처음 등장해 새로운 요구에 맞춰 발전해 왔고, 2014년 이후로는 안정적으로 유지되고 있어요.
모든 언어에는 저마다의 방식이 있어요. MIPS Assembly도 마찬가지예요. 멘토가 MIPS Assembly 개발자처럼 생각하는 법과 MIPS Assembly다운 코드를 작성하는 법을 익히도록 도와줘요. 연습 문제를 하나 풀면 자원봉사 팀에 제출해 보세요. 그러면 힌트와 아이디어, 그리고 MIPS Assembly에서 흔히 볼 수 있는 코드에 더 가깝게 다듬는 방법에 대한 피드백을 받을 수 있어요. 스스로는 알지 못한다는 사실조차 몰랐던 것들을 발견하도록 도와주는 거예요.
멘토링에 대해 더 알아보기Exercism의 MIPS Assembly 트랙에는 더 나은 코드를 작성하는 데 도움이 되는 70개의 연습 문제가 있어요.
MIPS Assembly 연습 문제 모두 보기