SlideShare a Scribd company logo
1
Belajar Bahasa Rakitan dengan SPIM A MIPS32 Simulator
Dosen: Ir. Sihar, M.T.
Departemen Sistem Komputer – Fak. Teknik
Bandung - 2003
Referensi:
[1]. https://course.ccs.neu.edu/csu4410/spim_documentation.pdf
[2]. http://pages.cs.wisc.edu/~larus/spim.html
[3]. http://pages.cs.wisc.edu/~larus/HP_AppA.pdf
[4]. http://web.cs.iastate.edu/~cs321/utils/mips/unixspim/spim-6.4/spim.html
[5]. Patterson, D.A., Hennessy, J.L. Computer Organization and Design: The Hardware/Software
Interface, 5th Edition. Morgan Kaufmann. 2003.
[6]. Simamora, S.N.M.P. “Diktat Pemrograman Dasar Bahasa Rakitan SPIM Simulator”. Dept.
Sistem Komputer, Fak. Teknik. ITHB. Bandung. 2002.
[7]. Simamora, S.N.M.P. “Diktat Pemrograman TASM 2.0”. Dept. T. Informatika, Fak. Teknik.
ITHB. Bandung. 2002
I. Mekanisme dan Tata-cara Instalasi Tools
Langkah-1: click file dengan extention *.msi
Langkah-2: click tombol Run, serta tunggu selanjutnya
2
Langkah-3: menunggu progess setelah tombol Run, serta tunggu selanjutnya
Langkah-4: click tombol Next, serta tunggu selanjutnya
Langkah-5: konfirmasi path dimana file diletakkan serta click tombol Next untuk proses
selanjutnya
3
Langkah-6: konfirmasi lebih lanjut sebelum proses instalasi akan dilakukan, dan click tombol
Next untuk proses selanjutnya
Langkah-7: tampilan progress saat proses instalasi, dan tunggu proses selanjutnya
4
Langkah-8: Proses instalasi telah selesai, dan click tombol Next untuk mengakhiri
II. Menuliskan source-code (*.s)
Dalam menuliskan source-code bahasa rakitan menggunakan editor Notepad, dan di-compile oleh
assembler PCSpim.
Contoh-1: -menampilkan string atau kata ‘Mari kuliah di Kampus ITHB Berprestasi’;
Nama source-code: cth1.s
.data
kataku: .asciiz "Mari kuliah di Kampus ITHB Berprestasi"
.text
main:
la $a0, kataku
li $v0, 4
syscall
Tampilan mekanisme proses translasi pada user-interface:
5
Tampilan pada console:
Contoh berikut menunjukan bahwa penamaan variabel dengan murni terdiri dari karakter tidak
membutuhkan substansi makna, misalkan sebuah akronim ‘str’.
Contoh-2: -menampilkan string atau kata ‘Dept. Sistem Komputer-ITHB Bandung’;
Nama source-code: cth2.s
.data
str: .asciiz "Dept. Sistem Komputer-ITHB Bandung"
.text
main:
la $a0, str
li $v0, 4
syscall
Contoh berikut menunjukan bahwa penamaan variabel dengan kombinasi terdiri dari karakter
dan bilangan, misalkan sebuah nama variabel ‘aju1’.
Contoh-3: -menampilkan string atau kata ‘Ayo kuliah di Dept. Sistem Komputer, ITHB
Bandung’;
Nama source-code: cth3.s
.data
aju1: .asciiz "Ayo kuliah di Dept. Sistem Komputer, ITHB Bandung"
.text
main:
la $a0, aju1
li $v0, 4
syscall
III. Beroperasi dengan statement arithmatika
Perhatikan konstruksi-algoritma berikut ini:
a1←0.25;
a1=a1∗2;
tampilkan a1;
Setiap konstanta, misalkan 2 tidak bisa serta-merta di-loading ke register agar langsung
dieksekusi dalam expression namun harus ditampungkan ke sebuah register.
Dituliskan dengan source-code: cth4.s
6
.data
aju1: .asciiz "Hasilnya adalah "
.text
.globl main
main:
li.s $f0, 0.25
li.s $f2, 2.0
mul.s $f12, $f0, $f2
la $a0, aju1
li $v0, 4
syscall
li $v0, 2
syscall
Perhatikan konstruksi-algoritma berikut ini:
aT←(-0.25);
aT=(aT+1)∗2;
tampilkan aT;
Dituliskan dengan source-code: cth5.s
.data
aju1: .asciiz "Hasilnya = "
.text
.globl main
main:
li.s $f0, -0.25
li.s $f2, 1.0
li.s $f4, 2.0
add.s $f12, $f0, $f2
mul.s $f12, $f12, $f4
la $a0, aju1
li $v0, 4
syscall
li $v0, 2
syscall
Perhatikan konstruksi-algoritma berikut ini:
xT←(1.09);
xL←(-0.75);
x=(xT−1)∗(xL÷5);
tampilkan x;
Dituliskan dengan source-code: cth6.s
.data
aju1: .asciiz "Hasil: "
.text
.globl main
main:
li.s $f0, 1.09
li.s $f2, -0.75
li.s $f4, 1.0
li.s $f6, 5.0
7
sub.s $f12, $f0, $f4
mul.s $f12, $f12, $f2
div.s $f12, $f12, $f6
la $a0, aju1
li $v0, 4
syscall
li $v0, 2
syscall
Perhatikan konstruksi-algoritma berikut ini:
t1←(-0.07);
t2←(-0.95);
t=(t1+(−0.2)) ÷ (t2+2);
tampilkan t;
Dituliskan dengan source-code: cth7.s
.data
aju1: .asciiz "Hasil: "
.text
.globl main
main:
li.s $f0, -0.07
li.s $f2, -0.95
li.s $f4, -0.2
li.s $f6, 2.0
add.s $f12, $f0, $f4
add.s $f14, $f2, $f6
div.s $f12, $f12, $f14
la $a0, aju1
li $v0, 4
syscall
li $v0, 2
syscall
Perhatikan konstruksi-algoritma berikut ini:
v1←(-3.07);
v2←(1.45);
pratondo=(v22−v1)) ÷ (v1∗2);
tampilkan pratondo;
Dituliskan dengan source-code: cth8.s
.data
luaran : .asciiz "Hasil: "
.text
.globl main
main:
li.s $f0, -3.07
li.s $f2, 1.45
li.s $f4, 2.0
mul.s $f12, $f2, $f2
8
sub.s $f12, $f12, $f0
mul.s $f16, $f0, $f4
div.s $f12, $f12, $f16
la $a0, luaran
li $v0, 4
syscall
li $v0, 2
syscall
Perhatikan konstruksi-algoritma berikut ini:
r0←(5.05);
r1←(-0.25);
r=2∗(r1+(−0.2)) ÷ r0 ÷ 4;
tampilkan r;
Dituliskan dengan source-code: cth9.s
.data
luaran : .asciiz "Hasil: "
.text
.globl main
main:
li.s $f0, 5.05
li.s $f2, -0.25
li.s $f4, 2.0
li.s $f6, -0.20
li.s $f8, 4.0
add.s $f12, $f2, $f6
mul.s $f12, $f12, $f4
div.s $f12, $f12, $f0
div.s $f12, $f12, $f8
la $a0, luaran
li $v0, 4
syscall
li $v0, 2
syscall

More Related Content

PDF
Prak strukturdata
PDF
Algoritma Matematika Informasi
PDF
about C Languages
PDF
Struktur Kendali Proses-alpro-I_sns
PDF
Bahasa Pemrograman dan Script
PDF
Solusi quiz 2_AlPro-I
DOCX
Laporan praktikum modul viii
PDF
Konsep pointer Univ. BALE
Prak strukturdata
Algoritma Matematika Informasi
about C Languages
Struktur Kendali Proses-alpro-I_sns
Bahasa Pemrograman dan Script
Solusi quiz 2_AlPro-I
Laporan praktikum modul viii
Konsep pointer Univ. BALE

Similar to What about spim-simulator (20)

DOCX
Menggunakan ise webpack 1
PDF
PDF
Matlab tutor sns
PDF
Latihan &kasus alpro-I_sns
PDF
Perkenalan Pemrograman C++
DOCX
Soal UAS Pemrograman Desktop kelas 11 semester genap tahun ajaran 2014-2015
PPTX
PENGEMBANGAN PROGRAM TERSTRUKTUR
PPT
Tistrukdat1
PDF
Java programming sns
DOCX
Laporan pratikum 1 semester | Listing Program Pratikum Visual Basic 2010 Seme...
PPTX
Teknik kompilasi
PDF
Introduction to-basic language-programming
DOCX
Laporan praktikum modul vii
PDF
Bank Soal UNAS RPL
PDF
Modul 2 - Tipe Data_ pusitell
PDF
Laporan Praktikum Algoritma
PDF
How to hack #IDSECCONF2014 ctf online challenge - nganggur
DOCX
PDF
Solusi quiz 3-ubale_sns
PDF
Allen d76 matlab-adjoe_
Menggunakan ise webpack 1
Matlab tutor sns
Latihan &kasus alpro-I_sns
Perkenalan Pemrograman C++
Soal UAS Pemrograman Desktop kelas 11 semester genap tahun ajaran 2014-2015
PENGEMBANGAN PROGRAM TERSTRUKTUR
Tistrukdat1
Java programming sns
Laporan pratikum 1 semester | Listing Program Pratikum Visual Basic 2010 Seme...
Teknik kompilasi
Introduction to-basic language-programming
Laporan praktikum modul vii
Bank Soal UNAS RPL
Modul 2 - Tipe Data_ pusitell
Laporan Praktikum Algoritma
How to hack #IDSECCONF2014 ctf online challenge - nganggur
Solusi quiz 3-ubale_sns
Allen d76 matlab-adjoe_
Ad

More from staffpengajar (20)

PDF
Lthn_kasus_M13_alpro.pdf
PDF
M15_alpro_.pdf
PDF
M09-jarKomp-1_.pdf
PDF
M10-jarKomp-1.pdf
PDF
Dasar Operator Arithmatika_python.pdf
PDF
artikel_IoT_PR_snmpsimamora.pdf
PDF
data_dan_DBase_.pdf
PDF
Japaness multiplification 3 variables and 4 variables
PDF
Randomize number vbscript_sns
PDF
sns77 vb script_politel
PDF
Diktat c++ d76_dev-cpp
PDF
Algoritma Matematika Informasi dalam Pemrograman C++
PDF
Artikel sns op-bndg_2000
PDF
sns about struct-cpp
PDF
Notes reliability engineering
PDF
Matlab sns_77
PDF
sns es oop_
PDF
Oop aju allen-UBB
PDF
M8 tif314 krywn_sns
PDF
tif314 m11 krywn_sns_
Lthn_kasus_M13_alpro.pdf
M15_alpro_.pdf
M09-jarKomp-1_.pdf
M10-jarKomp-1.pdf
Dasar Operator Arithmatika_python.pdf
artikel_IoT_PR_snmpsimamora.pdf
data_dan_DBase_.pdf
Japaness multiplification 3 variables and 4 variables
Randomize number vbscript_sns
sns77 vb script_politel
Diktat c++ d76_dev-cpp
Algoritma Matematika Informasi dalam Pemrograman C++
Artikel sns op-bndg_2000
sns about struct-cpp
Notes reliability engineering
Matlab sns_77
sns es oop_
Oop aju allen-UBB
M8 tif314 krywn_sns
tif314 m11 krywn_sns_
Ad

Recently uploaded (20)

PDF
PPT Yudisium Ceremony Agusus 2025 - new. pdf
PPTX
oioioooooooooooooo Penanganan P3K.pptx
PPTX
MATERI NARKOBA RTS badan anti narkoba.pptx
PDF
1.Materi Kebijakan Umum Program Revit.pdf
DOCX
BERLATIH MENCARI MODUL AJAR BAHASA INGGRIS
PPTX
Materi Besaran, Satuan, Pengukuran.pptx
PDF
lembar kerja LMS tugas pembelajaran mendalam
DOCX
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 11 SMA Terbaru 2025
PDF
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
PPT
SEJARAH kelas 12 SEMESTER SATU DAN DUA.ppt
PPTX
Bahan Tayang OJT Pembelajaran Mendalam KS
DOCX
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
PPTX
Modul 4 Asesmen-dalam-Pembelajaran-Mendalam.pptx
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 10 SMA Terbaru 2025
PPTX
Manajemen Risiko dalam Kegiatan Kepramukaan.pptx
PPTX
PROGRAM KOKURIKULER KELAS 9 TEMA 1_20250811_075823_0000.pptx
PPTX
Paparan Penyesuaian Juknis BOSP Tahun 2025
DOCX
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
PPT Yudisium Ceremony Agusus 2025 - new. pdf
oioioooooooooooooo Penanganan P3K.pptx
MATERI NARKOBA RTS badan anti narkoba.pptx
1.Materi Kebijakan Umum Program Revit.pdf
BERLATIH MENCARI MODUL AJAR BAHASA INGGRIS
Materi Besaran, Satuan, Pengukuran.pptx
lembar kerja LMS tugas pembelajaran mendalam
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
Modul Ajar Deep Learning PAI & BP Kelas 11 SMA Terbaru 2025
Laporan On The Job TRaining PM KS Siti Hikmah.pdf
SEJARAH kelas 12 SEMESTER SATU DAN DUA.ppt
Bahan Tayang OJT Pembelajaran Mendalam KS
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
Modul 4 Asesmen-dalam-Pembelajaran-Mendalam.pptx
Modul Ajar Deep Learning PAI & BP Kelas 10 SMA Terbaru 2025
Manajemen Risiko dalam Kegiatan Kepramukaan.pptx
PROGRAM KOKURIKULER KELAS 9 TEMA 1_20250811_075823_0000.pptx
Paparan Penyesuaian Juknis BOSP Tahun 2025
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025

What about spim-simulator

  • 1. 1 Belajar Bahasa Rakitan dengan SPIM A MIPS32 Simulator Dosen: Ir. Sihar, M.T. Departemen Sistem Komputer – Fak. Teknik Bandung - 2003 Referensi: [1]. https://course.ccs.neu.edu/csu4410/spim_documentation.pdf [2]. http://pages.cs.wisc.edu/~larus/spim.html [3]. http://pages.cs.wisc.edu/~larus/HP_AppA.pdf [4]. http://web.cs.iastate.edu/~cs321/utils/mips/unixspim/spim-6.4/spim.html [5]. Patterson, D.A., Hennessy, J.L. Computer Organization and Design: The Hardware/Software Interface, 5th Edition. Morgan Kaufmann. 2003. [6]. Simamora, S.N.M.P. “Diktat Pemrograman Dasar Bahasa Rakitan SPIM Simulator”. Dept. Sistem Komputer, Fak. Teknik. ITHB. Bandung. 2002. [7]. Simamora, S.N.M.P. “Diktat Pemrograman TASM 2.0”. Dept. T. Informatika, Fak. Teknik. ITHB. Bandung. 2002 I. Mekanisme dan Tata-cara Instalasi Tools Langkah-1: click file dengan extention *.msi Langkah-2: click tombol Run, serta tunggu selanjutnya
  • 2. 2 Langkah-3: menunggu progess setelah tombol Run, serta tunggu selanjutnya Langkah-4: click tombol Next, serta tunggu selanjutnya Langkah-5: konfirmasi path dimana file diletakkan serta click tombol Next untuk proses selanjutnya
  • 3. 3 Langkah-6: konfirmasi lebih lanjut sebelum proses instalasi akan dilakukan, dan click tombol Next untuk proses selanjutnya Langkah-7: tampilan progress saat proses instalasi, dan tunggu proses selanjutnya
  • 4. 4 Langkah-8: Proses instalasi telah selesai, dan click tombol Next untuk mengakhiri II. Menuliskan source-code (*.s) Dalam menuliskan source-code bahasa rakitan menggunakan editor Notepad, dan di-compile oleh assembler PCSpim. Contoh-1: -menampilkan string atau kata ‘Mari kuliah di Kampus ITHB Berprestasi’; Nama source-code: cth1.s .data kataku: .asciiz "Mari kuliah di Kampus ITHB Berprestasi" .text main: la $a0, kataku li $v0, 4 syscall Tampilan mekanisme proses translasi pada user-interface:
  • 5. 5 Tampilan pada console: Contoh berikut menunjukan bahwa penamaan variabel dengan murni terdiri dari karakter tidak membutuhkan substansi makna, misalkan sebuah akronim ‘str’. Contoh-2: -menampilkan string atau kata ‘Dept. Sistem Komputer-ITHB Bandung’; Nama source-code: cth2.s .data str: .asciiz "Dept. Sistem Komputer-ITHB Bandung" .text main: la $a0, str li $v0, 4 syscall Contoh berikut menunjukan bahwa penamaan variabel dengan kombinasi terdiri dari karakter dan bilangan, misalkan sebuah nama variabel ‘aju1’. Contoh-3: -menampilkan string atau kata ‘Ayo kuliah di Dept. Sistem Komputer, ITHB Bandung’; Nama source-code: cth3.s .data aju1: .asciiz "Ayo kuliah di Dept. Sistem Komputer, ITHB Bandung" .text main: la $a0, aju1 li $v0, 4 syscall III. Beroperasi dengan statement arithmatika Perhatikan konstruksi-algoritma berikut ini: a1←0.25; a1=a1∗2; tampilkan a1; Setiap konstanta, misalkan 2 tidak bisa serta-merta di-loading ke register agar langsung dieksekusi dalam expression namun harus ditampungkan ke sebuah register. Dituliskan dengan source-code: cth4.s
  • 6. 6 .data aju1: .asciiz "Hasilnya adalah " .text .globl main main: li.s $f0, 0.25 li.s $f2, 2.0 mul.s $f12, $f0, $f2 la $a0, aju1 li $v0, 4 syscall li $v0, 2 syscall Perhatikan konstruksi-algoritma berikut ini: aT←(-0.25); aT=(aT+1)∗2; tampilkan aT; Dituliskan dengan source-code: cth5.s .data aju1: .asciiz "Hasilnya = " .text .globl main main: li.s $f0, -0.25 li.s $f2, 1.0 li.s $f4, 2.0 add.s $f12, $f0, $f2 mul.s $f12, $f12, $f4 la $a0, aju1 li $v0, 4 syscall li $v0, 2 syscall Perhatikan konstruksi-algoritma berikut ini: xT←(1.09); xL←(-0.75); x=(xT−1)∗(xL÷5); tampilkan x; Dituliskan dengan source-code: cth6.s .data aju1: .asciiz "Hasil: " .text .globl main main: li.s $f0, 1.09 li.s $f2, -0.75 li.s $f4, 1.0 li.s $f6, 5.0
  • 7. 7 sub.s $f12, $f0, $f4 mul.s $f12, $f12, $f2 div.s $f12, $f12, $f6 la $a0, aju1 li $v0, 4 syscall li $v0, 2 syscall Perhatikan konstruksi-algoritma berikut ini: t1←(-0.07); t2←(-0.95); t=(t1+(−0.2)) ÷ (t2+2); tampilkan t; Dituliskan dengan source-code: cth7.s .data aju1: .asciiz "Hasil: " .text .globl main main: li.s $f0, -0.07 li.s $f2, -0.95 li.s $f4, -0.2 li.s $f6, 2.0 add.s $f12, $f0, $f4 add.s $f14, $f2, $f6 div.s $f12, $f12, $f14 la $a0, aju1 li $v0, 4 syscall li $v0, 2 syscall Perhatikan konstruksi-algoritma berikut ini: v1←(-3.07); v2←(1.45); pratondo=(v22−v1)) ÷ (v1∗2); tampilkan pratondo; Dituliskan dengan source-code: cth8.s .data luaran : .asciiz "Hasil: " .text .globl main main: li.s $f0, -3.07 li.s $f2, 1.45 li.s $f4, 2.0 mul.s $f12, $f2, $f2
  • 8. 8 sub.s $f12, $f12, $f0 mul.s $f16, $f0, $f4 div.s $f12, $f12, $f16 la $a0, luaran li $v0, 4 syscall li $v0, 2 syscall Perhatikan konstruksi-algoritma berikut ini: r0←(5.05); r1←(-0.25); r=2∗(r1+(−0.2)) ÷ r0 ÷ 4; tampilkan r; Dituliskan dengan source-code: cth9.s .data luaran : .asciiz "Hasil: " .text .globl main main: li.s $f0, 5.05 li.s $f2, -0.25 li.s $f4, 2.0 li.s $f6, -0.20 li.s $f8, 4.0 add.s $f12, $f2, $f6 mul.s $f12, $f12, $f4 div.s $f12, $f12, $f0 div.s $f12, $f12, $f8 la $a0, luaran li $v0, 4 syscall li $v0, 2 syscall