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では、楽しくやりがいのある演習を通して、コンセプトの理解を試しながらプログラミングを上達させられます。
Yaʻqūb's Deliでお客さんを並べるのを手伝います。
コラッツ予想を使って、1に到達するまでのステップ数を計算します。
それぞれのマス目の数が2倍になっていくとして、チェス盤上の小麦の粒の数を計算します。
MIPSはシンプルなアセンブリ言語で、大学のコンピューターアーキテクチャの授業で使われています。
MIPSは、出荷された何十億もの製品の中核を担っています。
MIPSのドキュメントは豊富で、とりわけコンピューターアーキテクチャの学術書で詳しく解説されています。
コンパクトな命令による高速な実行速度は、誕生以来の大きな特長です。
RISCベースのアセンブリ言語であり、小さく直交性の高い命令セットを備えています。
MIPSは1985年に登場し、新たな課題に合わせて進化を続け、2014年以降は安定しています。
プログラミング言語にはそれぞれ、物事の進め方があります。MIPS Assemblyも 同じです。メンターが、MIPS Assemblyのエンジニアのように 考える方法と、MIPS Assemblyらしいコードの書き方を 教えてくれます。演習を解いたら、ボランティアチームに 提出してみましょう。ヒントやアイデア、フィードバックをもらい、 MIPS Assemblyでよく目にする書き方に近づけることができます。 自分が知らないことを知らない、ということに気づかせてくれるでしょう。
メンタリングについてもっと詳しくExercismのMIPS Assemblyトラックには、70つの演習があり、より良いコードを書くのに役立ちます。
MIPS Assemblyの演習をすべて見る