Anda di halaman 1dari 7

MODUL 3 Instruksi Aritmatika, Logika, dan Program Kontrol

Atthoriq Anang Nugraha (119400012)


Dosen Pengampu : Wahyu Fadil Satrya, S.T, M.Sc.
Tanggal Percobaan: 23/04/2021
FOTO
TT2207-Praktikum Teknik Telekomunikasi 2
Praktikum Teknik Telekomunikasi 2 – Institut Teknologi Sumatera

Abstrak (instruction set) adalah sekumpulan lengkap


instruksi yang dapat di mengerti oleh sebuah CPU.
Pada praktikum ini membahas mengenai Set instruksi sering juga disebut sebagai bahasa
Instruksi Aritmatika, Logika dan Program Konrol mesin (machine code), karna aslinya juga
dengan percobaan melalui software Emu8086 yang berbentuk biner kemudian dimengerti sebagai
bertujuan untuk memahami aritmatika dasar bahasa assembly. Untuk konsumsi manusia
mikroprosesor lalu mempelajari cara manipulasi (programmer), biasanya digunakan representasi
bit-bit dalam operasi mikroprosesor serta membuat yang lebih mudah dimengerti oleh manusia. [1]
sebuah program secara terstruktur. Adapun
analisis yang didapatkan dari hasil dalam 2. STUDI PUSTAKA
menjalankan program konversi nilai dan umur 2.1 Data procecessing: Arithmetic dan Logic
adalah praktikan mendapat pemahaman mengenai Instructions
penggunaan opcode dan fungsi yang tepat, seperti Data processing adalah jenis pemrosesan
JMP (Instruksi Logic) untuk mengarahkan dalam yang dapat mengubah data menjadi informasi
menjalankan perintah dalam pemanipulasian bit bit, atau pengetahuan. Pemrosesan data ini sering
CMP (Instruksi Aritmatika) untuk memberikan menggunakan komputer sehingga bisa berjalan
batasan agar data dapat dikonversi secara secara otomatis. Setelah diolah, data ini biasanya
sistematis serta Perlu pengetahuan dan mempunyai nilai yang informatif jika dinyatakan
pemahaman lebih dalam agar dalam pembuatan dan dikemas secara terorganisir dan rapi, maka
program dapat sesuai dengan yang diinginkan istilah pemrosesan data sering dikatakan sebagai
sistem informasi. Kedua istilah ini mempunyai
berdasarkan dasar operasi aritmatika dan logika.
arti yang hampir sama, pemrosesan data
Program yang berjalan namun tidak sesuai
mengolah dan memanipulasi data mentah
diakibatkan kesalahan praktikan, penggunaan menjadi informasi (hasil pengolahan), sedangkan
fungsi insturuksi yang kurang tepat, dan kurang sistem informasi memakai data sebagai bahan
pemahanan dalam sistematika penyusunan masukan dan menghasilkan informasi sebagai
program.
produk keluaran. Berikut adalah intruksi
mikroprosesor,
Kata kunci: Instruksi, Assembly, Program, Kontrol
a. MOV, format: MOV destination,Source
1. PENDAHULUAN b. PUSH, format : PUSH source
Instruction set adalah sekumpulan lengkap c. POP, format : POP destination
instruksi yang dapat dimengerti oleh sebuah CPU
d. IN, format : IN accumulator,port
dengan sebuah kamus berisi daftar perintah apa
saja yang dapat dilakukan (didukung) oleh sebuah e. OUT, format : OUT port accumulator
prosesor, dan biasanya terikat dengan sebuah
f. ADD , format : ADD destination,source
keluarga arsitektur prosesor tertentu (misal x86,
x64). Instruksinya berbentuk machine code (bahasa g. SUB, format : SUB destination , source
mesin), aslinya seluruhnya dalam bilangan biner.
h. MUL, format : MUL source
Untuk programmer, biasanya digunakan
representasi yang lebih mudah dimengerti bahasa i. DIV, format : DIV source
yang dapat dimengerti manusia, dikenal dengan
j. NEG. format : NEG destination
bahasa Assembly.
k. DEC, format : DEC destination
Set instruksi didefinisikan sebagai suatu
aspek dalam arsitektur komputer yang dapat l. INC, format : INC destination
dilihat oleh para pemrogram. Set instruksi
m. AN, format : AND destination, source
Laporan Praktikum – Institut Teknologi Sumatera 1
n. OR, format : OR destination, source • WAIT (HOLD) : melanjutkan eksekusi
pada saat persyaratan dipenuhi
o. cXOR, format : XOR destination, source
• NO OPERATION : tidak ada operasi yang
dilakukan
Keterangan :
• MOVE, memindahkan word atau blok dari
sumber ke tujuan. 3. METODOLOGI
Praktikum dilaksanakan pada hari Jumat, 23
• STORE : memindahkan word dari prosesor
April 2021 jam 14.00 WIB. Dilaksanakan dengan
ke memori.
metode daring melalui video coference aplikasi Zoom.
• LOAD : memindahkan word dari memori ke Praktikan mejalankan praktikum menggunakan
prosesor. aplikasi software Emu8086 dengan cara pengerjaan
praktikum adalah sebagai berikut,
• EXCHANGE : menukar isi sumber ke tujuan
• CLEAR / RESET : memindahkan word 0 ke • Menulis Program – Coverter Nilai
tujuan. 1. Buka program emu8086
2. Klik new dan anda bisa memulai menulis
• SET : memindahkan word 1 ke tujuan.
program baru
• PUSH : memindahkan word dari sumber ke 3. Mulai membuat program converter nilai
bagian paling atas stack. dengan aturan dibawah ini
4. Jalankan dengan menekan tombol
• POP : memindahkan word dari bagian paling
emulate.
atas sumber. [1]
5. Setelah itu, maka akan muncul kotak
dialog emulator yang menerangkan isi
2.2 Transfer Control register dan memori.
6. Amati hasil yang diperoleh
Tindakan CPU untuk transfer control :
7. Berikan komentar pada setiap
Mengupdate program counter untuk subrutin ,
fungsi/instruksi
call /return. Operasi set instruksi untuk transfer
8. Kumpulkan laporan beserta source code
control :
• JUMP (cabang) : pemindahan tidak CMP CX,20
bersyarat dan memuat PC dengan alamat JB nilaid
tertentu. JE nilaid
CMP CX,50
• JUMP BERSYARAT : menguji JB nilaic
persyaratan tertentu dan memuat PC JE nilaic
dengan alamat tertentu atau tidak CMP CX,70
melakukan apa tergantung dari JB nilaib
persyaratan. JE nilaib
JA nilaia
• JUMP SUBRUTIN : melompat ke alamat
tertentu. • Menulis Program – Coverter Umur
• RETURN : mengganti isi PC dan register 1. Tulis sebuah program yang
lainnya yang berasal dari lokasi tertentu. memanfaatkan pengetahuan kalian
mengenai modul 1,2, dan 3
• EXECUTE : mengambil operand dari lokasi 2. Berikan komentar pada setiap
tertentu dan mengeksekusi sebagai fungsi/instruksi
instruksi 3. Kumpulkan laporan beserta source code
• SKIP : menambah PC sehingga melompati
instruksi berikutnya.
• SKIP BERSYARAT : melompat atau tidak
melakukan apa-apa berdasarkan pada
persyaratan
• HALT : menghentikan eksekusi program.

Laporan Praktikum – Institut Teknologi Sumatera 2


CMP CX,5
JB bayi
JE bayi
CMP CX,10
JB anak
JE anak
CMP CX,20
JB remaja
JE remaja
CMP CX,50
JB dewasa
JE dewasa
JA tua Gambar 4. Hasil Kasus Nilai D

Hasil dari program-program di atas


4. HASIL DAN ANALISIS
Setelah melaksanakan praktikum dimulai dengan transfer control JMP untuk
didapatkan hasil sebagai berikut, melompat ke tempat perintah yang akan dimulai.
Selanjutnya penulisan msg untuk menampilkan
perintah atau pesan dalam bentuk tulisan dengan
• Program Konversi Nilai
menuliskan $ agar perintah atau pesan berhenti
tidak berulang. Penulisan MOV AH,09h digunakan
untuk perintah yang menunjukan 09h menuju ke
register AH Degnan penulisan LEA dx, msg yang
berfungsi untuk memindahkan opcode msg yang
lalu dicetak ke program dan INT 21h yang
difungsikan untuk mencetak ke output.
Penggunaan opcode Call_Get_String digunakan
agar dapat menginput data-data yang diperlukan
(Nama, NIM, dll) yang diikuti Putc 13 dan Putc 10
Gambar 1. Hasil Kasus Nilai A agar dapat pindah ke baris berikutnya dengan
menuliskan bahasa asembly untuk mengkonversi
nilai dengan penggunaan opcode CMP dengan
fungsinya untuk membandingkan nilai yang
diberikan batasan. Sebagai contoh penulisan CMP<
CX,20, CMP CX,50, CMP CX,70, dsb. Apabila
penulisan program sudah tepat maka program
akan berjalan sesuai masukan yang diberikan dan
penggunaan define_scan_num, define_get_string
untuk dapat memberikan masukan angka atau
huruf pada program.
Gambar 2. Hasil Kasus Nilai B
Penggunaan opcode atau fungsi CMP
CX,20, CMP CX,50, CMP CX, 70 berfungsi dalam
penentuan konversi nilai yang sudah menjadi
tujuan awal program tersebut dibuat, seperti ke 4
kasus nilai yang tertera pada gambar memiliki
indeks yang berbeda ketika nilai input berbeda
karena sudah ada batasan yang dibentuk praktikan
agar nilai tersebut dapat di klasifikasikan. Apabila
praktikan ingin program berulang maka diakhir
program tidak perlu di tambahkan opcode end
(setelah ret).
Dalam penulisan msg dapat diubah sesuai
Gambar 3. Hasil Kasus Nilai C keinginan apabila fungsi yang digunakan untuk
Laporan Praktikum – Institut Teknologi Sumatera 3
menampilkan tulisan pada ‘msg` apabila
penggunaan fungsi LEA disusun dengan tepat dan
nilai nilai yang dikoversi pun dapat diatur melalui
penulisan fungsi CMX yang diatur angkanya.

• Program Konversi Umur

Gambar 8. Kasus Umur Dewasa


Pada praktik pada program ke dua dari
hasil yang didapat terdapat kesalahan praktikan
dalam menyusun program yang mengakibatkan
hasil program tidak memenuhi harapan, yaitu
penggunaan fungsi untuk melakukan pengulangan
apabila nilai input 0 atau nilai input negatif yang
Gambar 5. Hasil Kasus Umur 0 belum bisa didapat. Dapat dilihat pada gambar 5
dan 6 tidak terjadi pengulangan dan
ketidaksesuaian indeks ketika angka negatif. Pada
hal ini praktikan perlu mempelajari lebih dalam
mengenai instruksi dan fungsi pengulangan agar
dapat menjalankan program sesuai harapan.
Program ke dua yang dibuat praktikan tidak jauh
berbeda dengan program pertama yaitu,
penggunaan Batasan menggunakan CMP CX dan
fungsi JMP untuk pengarahan menjalankan
perintah. Hal yang dapat dipelajari praktikan
adalah penggunaan instruksi dan penyusunan
dalam penulisan diperlukan ketelitian dan
Gambar 6. Hasil Kasus Umur Negatif
pemahaman yang tepat agar program dapat
berjalan.
Kesalahan terletak pada fungsi
pengulangan, namun pada kasus umur remaja dan
dewasa program dapat dijalankan dengan baik
dikarenakan program yang tertera pada 7 dan 8
tidak perlu menggunakan fungsi pengulangan.
Program yang disusun tidak jauh berbeda dengan
program pada praktik pertama dengan fungsi dan
penyusunan serta kegunaan dapat dipahami pada
penejelasan praktik program satu. Penggunaan
fungsi atau opcode arimatika dan penempatan
yang tepat sangat diperlukan agar data yang input
Gambar 7. Kasus Umur Remaja
dapat di konversi (output) dengan sesuai, seperti
yang digunakan program yang sudah dibuat
adalah penggunaan CMP (Perbandingan).

Laporan Praktikum – Institut Teknologi Sumatera 4


5. KESIMPULAN LAMPIRAN
Berdasarkan praktikum yang dilaksanakan
praktikan dapat disimpulkan :
• Program Konversi Nilai
1. Pemahaman aritmatika dasar bukan saja
INCLUDE 'emu8086.inc'
dapat dipahami ketika melaksanakan .model small
praktikan, namun perlu dipelajari lebih .code
lanjut mengenai teori teori arimatika dan org 100h
logic dasar mikroprossesor agar ketika
menyusun program tidak terjadi kesulitan START: JMP mulai
seperti MOV, IN, OUT dsb. Penggunaan msg0 db 13,10,"Konversi
aritmatika menjadi agar pengklasifikasian nilai",13,10,'$'
angka dapat tersturktur dan sistematis. msg1 db "Nama : $"
msg2 db "NIM : $"
2. Pemanipulasian bit-bit mikroprossesor msg3 db 13,10,"masukkan nilai anda
dilakukan pada praktikum adalah :$"
penggunaan JMP untuk mengarahkan msg4 db "Index nilai anda adalah :
untuk menjalankan perintah tanpa syarat $"
atau penggunaan pemanipulasian bit lain msg5 db 13,10,13,10,"terima kasih
nya(Instruksi logic, AND, OR, dan XOR) telah menggunakan program ini...$"
msg6 db 'Nilai A $'
untuk efisiensi program agar tidak menjadi
msg7 db 'Nilai B $'
suatu program yang panjang. msg8 db 'Nilai C $'
3. Pembuatan program secara struktur dapat msg9 db 'Nilai D $'
dilakukan dengan catatan sudah
mulai:
memahami fungsi atau opcode yang akan
mov ah,09h
disusun untuk di program nantinya.
lea dx,msg0
Kurangnya pemahaman dapat int 21h
mengakibatkan program tidak dapat
dijalankan . lea dx,msg1
mov ah,09
int 21h
call get_string
DAFTAR PUSTAKA Putc 13
putc 10
[1] I. G. S. Widharma, “Set Intruksi Ilmu lea dx,msg2
Komputer,” Instruction Set, pp. 34-36, 2020. mov ah,09
int 21h
call get_string
putc 13
putc 10

mov ah,09h
lea dx,msg3
int 21h

call scan_num

putc 13
putc 10

mov ah,09h
lea dx,msg4
int 21h

CMP CX,20
JB nilaid
JE nilaid

CMP CX,50
JB nilaic

Laporan Praktikum – Institut Teknologi Sumatera 5


JE nilaic • Program Konversi Umur

CMP CX,70 INCLUDE 'emu8086.inc';untuk


JB nilaib mendefisikan bahasa yang diingukan
JE nilaib .model small ;kode memory yang
JA nilaia dijalankan
.code ;untuk menyimpan
nilaid: program
LEA DX,msg9 org 100h
JMP hasil
START: JMP mulai
nilaic: msg0 db 13,10,"Program Konversi
LEA DX,msg8 Umur ",13,10,'$'
JMP hasil msg1 db "Nama : $"
msg2 db "Nomor Induk Mahasiswa :
nilaib: $"
LEA DX,msg7 msg3 db 13,10,"masukkan umur anda
JMP hasil :$"
msg4 db "Index umur anda adalah :
nilaia: $"
LEA DX,msg6 msg5 db 13,10,13,10,"terima kasih
JMP hasil telah menggunakan program ini...$"
msg6 db 'tua $'
hasil: msg7 db 'dewasa $'
mov ah,09 msg8 db 'remaja $'
int 21h msg9 db 'Balita $'

mov ah,09h mulai:


lea dx,msg5 mov ah,09h
int 21h lea dx,msg0
int 21h
putc 13
putc 10 lea dx,msg1
mov ah,09
define_scan_num int 21h
define_get_string call get_string
ret Putc 13
putc 10

lea dx,msg2
mov ah,09
int 21h
call get_string
putc 13
putc 10

mov ah,09h
lea dx,msg3
int 21h

call scan_num

putc 13
putc 10

mov ah,09h
lea dx,msg4
int 21h

CMP CX,5
JB balita
JE balita

Laporan Praktikum – Institut Teknologi Sumatera 6


CMP CX,20
JB remaja
JE remaja

CMP CX,50
JB dewasa
JE dewasa
JA tua

balita:
LEA DX,msg9
JMP hasil

remaja:
LEA DX,msg8
JMP hasil

dewasa:
LEA DX,msg7
JMP hasil

tua:
LEA DX,msg6
JMP hasil

hasil:
mov ah,09
int 21h

mov ah,09h
lea dx,msg5
int 21h

putc 13
putc 10

define_scan_num
define_get_string

ret

Laporan Praktikum – Institut Teknologi Sumatera 7

Anda mungkin juga menyukai