| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- --C COMPILER
- int main() {
- int x = 4;
- int y = 5;
- int z = 6;
- int a = x + y;
- int b = y + z;
- int c = z * a;
- int d = b * c;
- int e = x;
- return e * d;
- }
- parse finished
- D
- d
- int
- F
- main
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ~
- int
- =
- x
- 4
- ~
- int
- =
- y
- 5
- ~
- int
- =
- z
- 6
- ~
- int
- =
- a
- +
- x
- y
- ~
- int
- =
- b
- +
- y
- z
- ~
- int
- =
- c
- *
- z
- a
- ~
- int
- =
- d
- *
- b
- c
- ~
- int
- =
- e
- x
- return
- *
- e
- d
- func main
- x := 4
- y := 5
- z := 6
- $t0 := x + y
- a := $t0
- $t1 := y + z
- b := $t1
- $t2 := z * a
- c := $t2
- $t3 := b * c
- d := $t3
- e := x
- $t4 := e * d
- ret $t4
- end main
- =====
- li $a0, 68
- li $v0, 9
- syscall
- or $fp, $0, $v0
- la $t0, main
- sw $t0, 0($fp)
- sw $0, 4($fp)
- jal main
- j done
- #func main
- main:
- li $a0, 68
- li $v0, 9
- syscall
- sw $fp, 4($v0)
- or $fp, $0, $v0
- la $t0, main
- sw $t0, 0($fp)
- sw $ra, 64($fp)
- #x := 4
- li $8, 4
- or $16, $0, $8
- #y := 5
- li $9, 5
- or $17, $0, $9
- #z := 6
- li $10, 6
- or $18, $0, $10
- #$t0 := x + y
- add $11, $16, $17
- #a := $t0
- or $19, $0, $11
- #$t1 := y + z
- add $12, $17, $18
- #b := $t1
- or $20, $0, $12
- #$t2 := z * a
- mult $18, $19
- mflo $13
- #c := $t2
- or $21, $0, $13
- #$t3 := b * c
- mult $20, $21
- mflo $14
- #d := $t3
- or $22, $0, $14
- #e := x
- or $23, $0, $16
- #$t4 := e * d
- mult $23, $22
- mflo $15
- #ret $t4
- or $v1, $0, $15
- jr $31
- #end main
- done:
- ori $v0, $0, 10
- syscall
|