アセンブリとMIPS命令セットを調べています。これが私が勉強している私の基本的な最初のプログラムです:
.text
.globl main
main:
li $t0, -10 # $t0 = -10 ("load immediate")
li $t1, -31 # $t1 = -31 ("load immediate")
li $t2, -10 # $t2 = -10 ("load immediate")
li $t3, -31 # $t3 = -31 ("load immediate")
#swap
xor $t0, $t0, $t1
xor $t1, $t0, $t1
xor $t0, $t0, $t1
addu $t2, $t2, $t3
subu $t3, $t2, $t3
subu $t2, $t2, $t3
li $v0, 10
syscall
ここで、エミュレーターでこのプログラムを実行できるため、各命令が何をするのかを理解したいと思います。これにより、このプログラムとその機能、およびアセンブリをさらに学習するためにプログラムを変更する方法について詳しく知ることができます。手始めに、xor、addu、subuの部分にコメントする方法と、syscallの意味と最初の部分の.textと.bloblmainについて教えてください。
私はこれを実際よりも難しくしていますか?また、MIPSアセンブリプログラミングのチュートリアルを提供してください。