我正在看彙編和MIPS指令集。這是我的基本的程序,我正在學習:學習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部分,以及系統調用的意思和第一部分.text和.blobl的主要內容?
我是不是真的比這更難了?您也可以向我提供MIPS彙編程序的教程。
您應該查找MIPS指令集並自行解碼。 'syscall'用於調用打印輸出和獲取輸入的系統調用:具體指令從'$ v0'中讀取。 http://courses.missouristate.edu/KenVollmar/MARS/Help/SyscallHelp.html – nhahtdh 2012-07-25 05:14:03
好的,感謝您的評論。我很奇怪爲什麼這個指令是「li」,現在是'lw'或類似的,我相信會顯示。 – 2012-07-25 06:45:35