Assembler Assembler
Ein größeres Beispiel
- Prof. Dr. Peter Trommler
Assembler Assembler Ein greres Beispiel Prof. Dr. Peter Trommler - - PowerPoint PPT Presentation
Assembler Assembler Ein greres Beispiel Prof. Dr. Peter Trommler Prozedur zum Tauschen Prozedur zum Tauschen void swap(int *a, int *b) { int t = *a; *a = *b; *b = t; return; } 2 Prof. Dr. P. Trommler Bubblesort Bubblesort void
2
3
4
5
6
7
doloop:
# swapped = false
# i=0 (init for) for: slt $t2,$s1,$s3 # i<size? beq $t2,$zero,endfor # for ends addu $a0,$zero,$s1 sll $a0,$a0,2 # offset (i*4) addu $a0,$a0,$s2 # address of a[i] addi $a1,$a0,4 # address of a[i+1] lw $t0,0($a0) # a[i] lw $t1,0($a1) # a[i+1] slt $t2,$t1,$t0 # a[i+1]<a[i]? bne $t2,$zero,endif # on false skip jal swap # swap elements
# swapped = true endif: addiu $s1,$s1,1 # i++ j for # end of for loop bne $s0,$zero,doloop # end do while
8