Ассемблер гэдэг хэл их сонирхолтой юм. Энгийнээр хэлбэл Компьютерийн дотоод бүтэцтэй шууд харьцдаг гээд хэлчихвэл буруутаж магадгүй л юм хэхэ. Энэ удаад лабораторийн даалгавраар хийсэн ажлаа хүргэе гэж бодлоо. Та бүхэн Bubblesort гэж сонссон байх гэж найдлаа. Бөмбөлгөн эрэмбэлэлтийн алгоритмийг ашиглан асмблер хэл дээр лабораторийн ажлаа биелүүлсэн юм.
Миний бичсэн код:
.text
.globl main
main:
lui $1, 0x1000 #i
sll $0, $0, 0
lui $2, 0x1000 #j
sll $0, $0, 0
lui $3, 0x1000
sll $0, $0, 0
ori $20, $0, 9 # number of bytes (n-1)
ori $21, $0, 1 # 1
add $1, $1, $20
for1:
slt $12, $3, $1 # i>0 -> 1 else 0
beq $12, $0 end # $12 == 0
add $13, $0, $1 # $13 = i
sub $1, $1, $21 # i--
add $2, $0, $3 # j=0
for2:
slt $12, $2, $13 # j 1 else 0
beq $12, $0, for1
lb $5, 0($2)
add $9, $2, 1 # $9 = j+1
lb $6, 0($9)
sll $0, $0, 0
sltu $4, $6, $5 # a[j] > a[j+1]
beq $4, $0, swap
bne $4, $0, store
swap:
addu $10, $0, $6
and $6, $0, $6
addu $6, $0, $5
and $5, $0, $5
addu $5, $0, $10
store:
sb $5, 0($2)
sb $6, 0($9)
bne $12, $0 for2
add $2, $2, $21 # j++
end:
sll $0, $0, $0
.data
x: .word 0x47533239
y: .word 0x33119922
z: .word 0x0000fa12
# code is written by FnaticSase
Wednesday, March 31, 2010
Subscribe to:
Post Comments (Atom)
1 comment:
Good job. Асм ч бас гоё байсышүү хэхэ.
Post a Comment