m12_tif305_sns_ubb

17
TIF305 Organisasi dan TIF305 Organisasi dan Arsitektur Komputer Arsitektur Komputer Ir. Sihar, M.T. T. Informatika / FTI Bandung - 2016 Mnemonic-instruction

Upload: staffpengajar

Post on 10-Feb-2017

82 views

Category:

Education


3 download

TRANSCRIPT

Page 1: M12_tif305_sns_ubb

TIF305 Organisasi dan TIF305 Organisasi dan Arsitektur KomputerArsitektur Komputer

Ir. Sihar, M.T.T. Informatika / FTIBandung - 2016

Mnemonic-instruction

Page 2: M12_tif305_sns_ubb

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.

Page 3: M12_tif305_sns_ubb

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

Page 4: M12_tif305_sns_ubb

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.

Page 5: M12_tif305_sns_ubb

(●)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

Page 6: M12_tif305_sns_ubb

(●) 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

Page 7: M12_tif305_sns_ubb

(●) 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

Page 8: M12_tif305_sns_ubb

(●) 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

Page 9: M12_tif305_sns_ubb

(●) 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

Page 10: M12_tif305_sns_ubb

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;

Page 11: M12_tif305_sns_ubb

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

Page 12: M12_tif305_sns_ubb

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;

Page 13: M12_tif305_sns_ubb

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:

Page 14: M12_tif305_sns_ubb

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

Page 15: M12_tif305_sns_ubb

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

Page 16: M12_tif305_sns_ubb

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

Page 17: M12_tif305_sns_ubb

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