我正在研究汇编和 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 和 .blobl main 是什么意思?
我是否让这比实际上更困难?您也可以向我提供 MIPS 汇编编程的教程。