Pages

Saturday, 15 December 2012

MIPS: Register & System Call


MIPS

Registers

-          MIPS mengandungi 32 general purpose registers yang bernombor 0 – 31.
-          Registers $ 0 sentiasa membawa nilai 0.

Nama
No registers
Penggunaan
Dikekalkan pd panggilan?
$zero
$0
constant 0 (hardware)
n/a
$at
$1
reserved for assembler
n/a
$v0 - $v1
$2-3
returned values
Tidak
$a0 - $a3
$4-7
Arguments
Ya
$t0 - $t7
$8-15
Temporaries
Tidak
$s0 - $s7
$16-23
saved values
Ya
$t8 - $t9
$24-25
Temporaries
Tidak
$gp
$28
global pointer
Ya
$sp
$29
stack pointer
Ya
$fp
$30
frame pointer
Ya
$ra
$31
return addr (hardware)
Ya


System Call

SPIM simulator untuk seni bina MIPS menyediakan “exception handler” yang mensimulasikan sistem operasi kecil yang mebolehkan user memasukkan input dari keyboard dan memaparkan output pada monitor.

Assembly programs service by loading the system call (syscal) instruction.

Contoh exception handler yang digunakan dalam SPIM.

Li $v0, code     #load $v0 dgn “system call code”
                 #no. servis OS
                 #masukkan parameter utk servis
                 #registers $a0, $a1 atau $f12
Syscall          #invoke OS
                 #kembalikan nilai (jika ada)dalam $v0 atau $f0

Untuk keluar dari program, (bagi mengelakkan SPIM crash jika tiada arahan).

li $v0,10 #load $v0 with code 10 == exit
syscall   #kembali kan data

Muhammad Nasruddin Bin Rosli
B031210017


Muted Professor

No comments:

Post a Comment