花了好幾天,找遍公館舊書攤,google所有網路上能找到的指令和規格說明,好不容易終於完成了我這輩子第一支組合語言的程式,也讓我驕傲一下吧!
哈!哈!哈!
雖然只是一支很簡單的加減乘除程式,可也是費了九牛二虎之力喲!這支是mips的,將來有機會,也來攻看看著名的 80X86,今天是我邁入computer science堂奧的milestone的一天啊!
.data
maxlen: .word 31
buffer: .space 31
.text
.globl main
main:
li $v0, 5
syscall
move $s0, $v0
la $a0, buffer
lw $a1, maxlen
li $v0, 8
syscall
li $t0, 0
lb $s2, buffer($t0)
li $v0, 5
syscall
move $s1, $v0
li $t1, 43
beq $s2, $t1, Sum
nop
li $t2, 45
beq $s2, $t2, Subtract
nop
li $t3, 42
beq $s2, $t3, Multiple
nop
li $t4, 47
beq $s2, $t4, Divide
nop
j End
nop
Sum:
add $s6, $s0, $s1
j End
nop
Subtract:
subu $s6, $s0, $s1
j End
nop
Multiple:
mul $s6, $s0, $s1
j End
nop
Divide:
beq $s1, $zero, Exit
nop
div $s6, $s0, $s1
End:
move $a0, $s6
li $v0, 1
syscall
Exit:
li $v0, 10
syscall
文章定位: