Dokumente und Mars-Simulator
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
###############################################################################
|
||||
##### Beispielcode fuer den Aufruf eines Unterprogramms #####
|
||||
##### mit Uebergabe- und Rueckgabewerten #####
|
||||
##### Folgender High-Level-Code wird in Mips-Assembler uebersetzt: #####
|
||||
###############################################################################
|
||||
##### int main () #####
|
||||
##### { #####
|
||||
##### int y; #####
|
||||
##### ... #####
|
||||
##### y = diffofsum (2,3,4,5); #####
|
||||
##### ... #####
|
||||
##### } #####
|
||||
##### int diffofsums (int f, int g, int h, int i) #####
|
||||
##### { #####
|
||||
##### int result; #####
|
||||
##### result = (f+g)-(h+i); #####
|
||||
##### return result; #####
|
||||
##### } #####
|
||||
###############################################################################
|
||||
|
||||
|
||||
main:
|
||||
# Laden der f,g,h,i in die Uebergaberegister a0-a3
|
||||
addi $a0, $zero, 2
|
||||
addi $a1, $zero, 3
|
||||
addi $a2, $zero, 4
|
||||
addi $a3, $zero, 5
|
||||
|
||||
# Aufruf der Unterprozedur diffofsum, Speichern der Ruecksprungadresse in $ra
|
||||
jal diffofsums
|
||||
|
||||
# Benutzen des Rueckgabewertes, der in $v0 liegt, $s0 = y
|
||||
add $s0, $v0, $zero
|
||||
|
||||
# exit
|
||||
li $v0, 10
|
||||
syscall
|
||||
|
||||
####################### Unterprogramm diffofsums ##############################
|
||||
|
||||
diffofsums:
|
||||
add $t0, $a0, $a1 # t0 = f+g
|
||||
add $t1, $a2, $a3 # t1 = h+i
|
||||
sub $t2, $t0, $t1 # s0 = (f+g)-(h+i)
|
||||
add $v0, $t2, $zero # v0 = result
|
||||
jr $ra # Ruecksprung
|
||||
|
||||
####################### Ende des Unterprogramms diffofsums ####################
|
||||
|
||||
###############################################################################
|
||||
## Dieser Beispielcode fuer den Aufruf eines Unterprogramms wurde dem Buch ##
|
||||
## Digital Design & Computer Architecture von Harris & Harris entnommen ##
|
||||
###############################################################################
|
||||
Binary file not shown.
Reference in New Issue
Block a user