1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| .data myFloat:.float 123.456 pi:.double 3.1415926 zeroDouble:.double 0 enter:.asciiz "\n" i:.word 3 .macro ent li $v0, 4 la $a0, enter syscall .end_macro
.macro done li $v0, 10 syscall .end_macro
.macro writeInt(%k) move $a0, %k li $v0, 1 syscall .end_macro
.text #print integer li $v0, 1 li $a0, 12 syscall
ent #print float li $v0, 2 ldc1 $f12, myFloat syscall
ent #print double li $v0,3 ldc1 $f2, pi ldc1 $f0, zeroDouble add.d $f12, $f2, $f0 syscall
ent #use macro as a write function li $t0, 4 writeInt($t0)
ent #read and then print integer li $v0, 5 syscall add $a0, $0, $v0 li $v0, 1 syscall
ent #read string li $v0, 8 li $a1, 100 syscall li $v0, 4 syscall
|