m12_tif305_sns_ubb
TRANSCRIPT
TIF305 Organisasi dan TIF305 Organisasi dan Arsitektur KomputerArsitektur Komputer
Ir. Sihar, M.T.T. Informatika / FTIBandung - 2016
Mnemonic-instruction
Daftar PustakaDaftar Pustaka1) Irvine, Kip R. ”Assembly Language for Intel-Based
Computers Fifth Edition”. Florida International University, School of Computing and Information Sciences, Pearson Education, Inc., 2007.
2) Simamora, S.N.M.P. “Diktat Tuntunan Praktis Bahasa Rakitan menggunakan Turbo Assembler 2.0”. Program studi T. Komputer. Politeknik TELKOM. Bandung. 2008.
3) Simamora, S.N.M.P. ”Diktat Kuliah SK-303 Organisasi dan Arsitektur Komputer”. Dept. Teknik Elektro, Fak.Teknik, ITHB, Bandung, 2002.
4) Simamora, S.N.M.P. Modul Belajar Praktis Algoritma dan Pemrograman. Penerbit Deepublish, Yogyakarta. 2016. ISBN: 978-602-401-318-9.
5) Simamora, S.N.M.P. "Diktat Organisasi dan Arsitektur Komputer". Program studi T. Informatika. Fak. Teknologi Informasi. Univ. BALE. Bandung. 2012.
6) Simamora, S.N.M.P. “Diktat Pengantar Assembler”. Dept. Sistem Komputer-Fak.Teknik. ITHB. Bandung. 2002.
Mnemonic-instruction: sejumlah instruksi dalam kode pendek yang merepresentasikan isi perintah kepada Central Processing Unit
(CPU) untuk tujuan melakukan eksekusi.
Jenis pengalamatan yang digunakan ada 3 yakni: 1-operand, 2-operand, dan
3-operand
Umumnya mnemonic-instruction digunakan dalam translator jenis
assembler (bahasa rakitan)
Karakteristik mnemonic-instruction: hanya dikenal dalam lingkungan bahasa rakitan sepert: TASM, MASM,NASM, mikrokontroler (ATMega series); kode sintaks pendek namun baris-kode (code-lines) banyak; umumnya dijalankan pada lingkungan sistem operasi DOS
Dalam hardware komputer jenis pengalamatan (addressing) pada pendekatan mnemonic-intruction
terbagi atas tiga yaitu:
Pengalamatan 1-operand
Pengalamatan 2-operandPengalamatan 3-
operand
Tujuan utama mnemonic-intruction mentranformasikan expressions dalam maksimal jumlah operand/variable yang terdapat pada suatu statement.
(●)LOAD: ambil data dari main-memory dan tampungkan ke accumulator (Acc);
contoh: LOAD A ; Acc ← A(●)STOR: tampungkan data ke main-memory
dari accumulator contoh: STOR A; A ← Acc(●)MOV: copy-kan isi sebuah
register/variable/lokasi ke register/variable/lokasi lain;
contoh: MOV A,B; A ← B
Perbedaan antara mnemonic-instruction LOAD / STOR dengan MOV adalah intruksi LOAD maupun STOR digunakan antar main-memory dari/ke register; sedangkan MOV digunakan antar register.
KKlasifikasi kode intruksi yang lasifikasi kode intruksi yang digunakan dalam digunakan dalam mmnemonic-nemonic-
iintructionntruction
(●) ADD artinya: tambah-kan isi sebuah variable/register ke isi variable/register lain;
contoh: A ← A+B;(i) Pengalamatan 3-operand: ADD A,A,BArtinya: tambah-kan isi variabel A ke isi variabel B
dan hasilnya ditampungkan ke variabel A.(ii) Pengalamatan 2-operand: ADD A,BArtinya: tambah-kan isi variabel A ke isi variabel B
dan hasilnya ditampungkan kembali ke variabel A.
(iii) Pengalamatan 1-operand: LOAD A ; Acc ← A ADD B ; Acc ← Acc + B STOR A : A ← Acc
(●) SUB artinya: kurang-kan isi sebuah variable/register ke isi variable/register lain;
contoh A ← A – B;(i) Pengalamatan 3-operand: SUB A,A,B Artinya: kurang-kan isi variabel A ke isi variable
B, lalu hasilnya ditampungkan ke variabel A.(ii) Pengalamatan 2-operand SUB A,BArtinya: kurang-kan isi variabel A ke isi variable B,
dan hasilnya ditampungkan kembali ke variabel A.
(iii) Pengalamatan 1-operand LOAD A ; Acc ← A SUBB ; Acc ← Acc - B STOR A : A ← Acc
(●) MUL artinya: kali-kan isi sebuah variable/register ke variable/register lain;
contoh A ← A * B;(i) Pengalamatan 3-operand: MUL A,A,B Artinya: kali-kan A ke B dan hasilnya tampung-
kan ke A(ii) Pengalamatan 2-operand: MUL A,BArtinya: kali-kan isi A ke isi B, dan hasilnya
tampung-kan kembali ke A(iii) Pengalamatan 1-operand: LOAD A ; Acc ← A MULB ; Acc ← Acc B STOR A : A ← Acc
(●) DIV artinya: bagi-kan isi sebuah variable/register ke isi variable/register lain
contoh A ← A ÷ B;(i) Pengalamatan 3-operand: DIV A,A,B Artinya: bagi-kan isi A ke B dan hasilnya
tampung-kan ke A(ii) Pengalamatan 2-operand: DIV A,BArtinya: bagi-kan isi A ke isi B, dan hasilnya
tampungkan kembali ke A(iii) Pengalamatan 1-operand: LOAD A ; Acc ← A DIV B ; Acc ← Acc ÷ B STOR A : A ← Acc
Jelaskan arti mnemonic-instruction untuk statement berikut ini:ADD R1,R2;
Solusi:
Artinya: tambah-kan isi R2 kepada R1, dan simpan-kan pada R1
Mnemonic-instruction untuk statement berikut ini:ADD R1,R2;
Lakukan pengalamatan 1-operand untuk statement berikut:Z X (X * C) ;
Solusi:LOAD X ; Acc XMUL C ; Acc Acc * CSTOR C ; C AccLOAD X ; Acc XDIV C ; Acc Acc CSTOR Z ; Z Acc
Tentukan nilai A dalam hexal dengan pengalamatan 1-operand jika: B=2.A dan A=DEC(1) untuk statement berikut:A A * (B + A) ;
Solusi:LOAD A ; Acc AADD B ; Acc Acc + BMUL A ; Acc Acc * ASTOR A ; A Acc
[Acc=DEC(1)][Acc=1+2(1)=310]
[Acc=3*1=310]
[A=DEC(3)]
maka: A=DEC(3) = 0x3;
Apabila diketahui statement berikut:Z A (X1 * C) ;
Solusi:
LOAD X1 ; Acc X1MUL C ; Acc Acc * CSTOR C ; C AccLOAD A ; Acc ASUB C ; Acc Acc CSTOR Z ; Z Acc
Lakukan pengalamatan 2-operand dan 1-operand untuk statement tersebut.
Pengalamatan 1-operand:MUL X1,C ; X1 X1 * CSUB A,X1 ; A A X1MOV Z,A ; Z A
Pengalamatan 2-operand:
Apabila diketahui statement berikut:Y(AB)(D*E+C);
Solusi:
LOAD D ; Acc DMUL E ; Acc Acc * EADD C ; Acc Acc+CSTOR D ; D AccLOAD A ; Acc ASUB B ; Acc Acc B
Lakukan pengalamatan 2-operand dan 1-operand untuk statement tersebut.
Pengalamatan 1-operand:MUL D,E ; D D * E
SUB A,B ; A A BDIV A,D ; A AD
Pengalamatan 2-operand:
DIV D ; Acc Acc DSTOR Y ; Y Acc
MOV Y,A ; Y A
ADD D,C ; D D C
a. Carilah isi register R1 dan R2 apabila diketahui mnemonic-instruction berikut:
Solusi:MOV R1,C ; R1 CADD A,B ; A A + BMOV R2,A ; R2 ASUB R1,R2 ; R1 R1R2
Jika isi register A=DEC(1) dan perbandingan isi register B dan C adalah: 2:1, maka:
MOV R1,CADD A,BMOV R2,ASUB R1,R2B=2.C
R1=CA=1+2C
R2=A=1+2CR1=C-(1+2C) =-1-C
maka, didapatkan: R2=(1+2C); R1=(-1-C);
b. Tentukan nilai terakhir isi register R1 dan R2 apabila C=(5)10Solusi:
R2=1+2(5) = (11)10 R1=-1-(5) = (-6)10
a. Carilah isi register R1 dan R2 apabila diketahui mnemonic-instruction berikut:
Solusi:MOV R1,C ; R1 CSUB A,B ; A A BMOV R2,A ; R2 AADD R1,R2 ; R1 R1R2
Jika isi register B=DEC(1) dan perbandingan isi register A dan C adalah: 2:1, maka:
MOV R1,CSUB A,BMOV R2,AADD R1,R2A=2.C
R1=CA=2C1
R2=A=2C1R1=C(2C1) =3C-1
maka, didapatkan: R2=(2C1); R1=(3C-1);
b. Tentukan nilai terakhir isi register R1 dan R2 apabila C=(1.25)10Solusi:
R2=2(1.25)1 = (1.5)10 R1=3(1.25)-1 = (2.75)10
Apabila diketahui statement berikut:Y(A+B)*(DEC);
Solusi:
LOAD E ; Acc EDIV C ; Acc Acc C
SUB E ; Acc AccESTOR D ; D AccLOAD A ; Acc AADD B ; Acc Acc B
Lakukan pengalamatan 2-operand dan 1-operand untuk statement tersebut.
Pengalamatan 1-operand:DIV E,C ; EECSUB D,E ; DDE
MUL A,D ; A AD
Pengalamatan 2-operand:
MUL D ; Acc Acc DSTOR Y ; Y Acc
MOV Y,A ; Y A
ADD A,B ; AAB STOR E ; E AccLOAD D ; Acc D