Dokumen tersebut membahas tentang mnemonic-instruction yang merupakan instruksi dalam kode pendek yang merepresentasikan perintah kepada CPU untuk melakukan eksekusi. Terdapat tiga jenis pengalamatan yaitu 1-operand, 2-operand, dan 3-operand. Beberapa contoh mnemonic-instruction dan penjelasan pengalamatan juga diberikan.
1. TIF305 Organisasi danTIF305 Organisasi dan
Arsitektur KomputerArsitektur Komputer
Ir. Sihar, M.T.
T. Informatika / FTI
Bandung - 2016
Mnemonic-instruction
2. Daftar PustakaDaftar Pustaka
1) 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.
3. 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
4. Dalam hardware komputer jenis
pengalamatan (addressing) pada pendekatan
mnemonic-intruction terbagi atas tiga yaitu:
Pengalamatan 1-operand
Pengalamatan 2-operand
Pengalamatan 3-operand
Tujuan utama mnemonic-intruction
mentranformasikan expressions dalam
maksimal jumlah operand/variable yang
terdapat pada suatu statement.
5. ( )● 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 yanglasifikasi kode intruksi yang
digunakan dalamdigunakan dalam mmnemonic-nemonic-iintructionntruction
6. ( )● ADD artinya: tambah-kan isi sebuah variable/register ke isi
variable/register lain;
contoh: A A+B;←
(i) Pengalamatan 3-operand: ADD A,A,B
Artinya: tambah-kan isi variabel A ke isi variabel B dan hasilnya
ditampungkan ke variabel A.
(ii) Pengalamatan 2-operand: ADD A,B
Artinya: 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←
7. ( )● 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,B
Artinya: kurang-kan isi variabel A ke isi variable B, dan hasilnya
ditampungkan kembali ke variabel A.
(iii) Pengalamatan 1-operand
LOAD A ; Acc A←
SUB B ; Acc Acc - B←
STOR A : A Acc←
8. ( )● 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,B
Artinya: kali-kan isi A ke isi B, dan hasilnya tampung-kan kembali
ke A
(iii) Pengalamatan 1-operand:
LOAD A ; Acc A←
MUL B ; Acc Acc← ∗ B
STOR A : A Acc←
9. ( )● 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,B
Artinya: 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←
10. 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;
11. Lakukan pengalamatan 1-operand untuk statement berikut:
Z ← X ÷ (X * C) ;
Solusi:
LOAD X ; Acc ← X
MUL C ; Acc ← Acc * C
STOR C ; C ← Acc
LOAD X ; Acc ← X
DIV C ; Acc ← Acc ÷ C
STOR Z ; Z ← Acc
12. 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 ← A
ADD B ; Acc ← Acc + B
MUL A ; Acc ← Acc * A
STOR A ; A ← Acc
[Acc=DEC(1)]
[Acc=1+2(1)=310]
[Acc=3*1=310]
[A=DEC(3)]
maka: A=DEC(3) = 0x3;
13. Apabila diketahui statement berikut:
Z ← A − (X1 * C) ;
Solusi:
LOAD X1 ; Acc ← X1
MUL C ; Acc ← Acc * C
STOR C ; C ← Acc
LOAD A ; Acc ← A
SUB C ; Acc ← Acc − C
STOR Z ; Z ← Acc
Lakukan pengalamatan 2-operand dan 1-operand untuk
statement tersebut.
Pengalamatan 1-operand:
MUL X1,C ; X1 ← X1 * C
SUB A,X1 ; A ← A − X1
MOV Z,A ; Z ← A
Pengalamatan 2-operand:
14. Apabila diketahui statement berikut:
Y←(A−B)÷(D*E+C);
Solusi:
LOAD D ; Acc ← D
MUL E ; Acc ← Acc * E
ADD C ; Acc ← Acc+C
STOR D ; D ← Acc
LOAD A ; Acc ← A
SUB 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 − B
DIV A,D ; A ← A÷D
Pengalamatan 2-operand:
DIV D ; Acc ← Acc ÷ D
STOR Y ; Y ← Acc
MOV Y,A ; Y ← A
ADD D,C ; D ← D + C
15. a. Carilah isi register R1 dan R2 apabila diketahui mnemonic-instruction
berikut:
Solusi:
MOV R1,C ; R1 ← C
ADD A,B ; A ← A + B
MOV R2,A ; R2 ← A
SUB R1,R2 ; R1 ← R1−R2
Jika isi register A=DEC(1) dan perbandingan isi register B dan C adalah:
2:1, maka:
MOV R1,C
ADD A,B
MOV R2,A
SUB R1,R2
B=2.C
R1=C
A=1+2C
R2=A=1+2C
R1=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)10
Solusi:
R2=1+2(5) = (11)10
R1=-1-(5) = (-6)10
16. a. Carilah isi register R1 dan R2 apabila diketahui mnemonic-instruction
berikut:
Solusi:
MOV R1,C ; R1 ← C
SUB A,B ; A ← A − B
MOV R2,A ; R2 ← A
ADD R1,R2 ; R1 ← R1+R2
Jika isi register B=DEC(1) dan perbandingan isi register A dan C adalah:
2:1, maka:
MOV R1,C
SUB A,B
MOV R2,A
ADD R1,R2
A=2.C
R1=C
A=2C−1
R2=A=2C−1
R1=C+(2C−1)
=3C-1
maka, didapatkan: R2=(2C−1); R1=(3C-1);
b. Tentukan nilai terakhir isi register R1 dan R2 apabila C=(1.25)10
Solusi:
R2=2(1.25)−1 = (1.5)10
R1=3(1.25)-1 = (2.75)10
17. Apabila diketahui statement berikut:
Y←(A+B)*(D−E÷C);
Solusi:
LOAD E ; Acc ← E
DIV C ; Acc ← Acc ÷ C
SUB E ; Acc ← Acc−E
STOR D ; D ← Acc
LOAD A ; Acc ← A
ADD B ; Acc ← Acc + B
Lakukan pengalamatan 2-operand dan 1-operand untuk
statement tersebut.
Pengalamatan 1-operand:
DIV E,C ; E←E÷C
SUB D,E ; D←D−E
MUL A,D ; A ← A∗D
Pengalamatan 2-operand:
MUL D ; Acc ← Acc ∗ D
STOR Y ; Y ← Acc
MOV Y,A ; Y ← A
ADD A,B ; A←A+B
STOR E ; E ← Acc
LOAD D ; Acc ← D