Senin, 13 Januari 2014

SET INSTRUKSI

TRANSFER DATA

Transfer data :
1.      Menetapkan operasi operand sumber dan operand tujuan.
2.      Lokasi-lokasi tersebut dapat berupa memori, register, atau bagian paling atas daripada stack.
3.      Menetapkan panjang data yang dipindahkan.
4.      Menetapkan mode pengalamatan.
Tindakan CPU untuk melakukan transfer data adalah :
·         Memindahkan data dari suatu lokasi ke lokasi lain.
·         Apabila memori dilibatkan :
a.       Menetapkan alamat memori.
b.      Menjalankan transformasi alamat memori virtual ke alamat memori actual.
c.       Mengawali pembacaan/penulisan memori.

Operasi set instruksi untuk transfer data :
ü  MOVE : Memindahkan word atau blok dari sumber ke tujuan.
ü  STORE : Memindahkan word dari processor ke memori.
ü  LOAD : Memindahkan word dari memori ke processor.
ü  EXCHANGE : Menukar isi sumber ke tujuan.
ü  CLEAR/RESET : Memindahkan word 0 ke tujuan.
ü  SET : Memindahkan word 1 ke tujuan.
ü  PUSH : Memindahkan word dari sumber ke bagian paling atas stack.
ü  POP : Memindahkan word dari bagian paling atas sumber.



ARITHMETIC
Arithmetic:
Tindakan CPU untuk melakukan operasi arithmetic :
Ø Transfer data sebelum atau sesudah.
Ø Melakukan fungsi dalam ALU.
Ø Menset kode kondisi dan flag.

Operasi set instruksi untuk arithmetic :

1.      ADD : Penjumlahan
2.      SUBTRACT : Pengurangan
3.      MULTIPLY : Perkalian
4.      DIVIDE : Pembagian
5.      ABSOLUTE
6.      NEGATIVE
7.      DECREMENT
8.      INCREMENT

        Ket : Operasi no.5-8 merupakan instruksi operand tunggal.


LOGICAL

Logical :
Tindakan CPU untuk melakukan operasi logical :
Ø Transfer data sebelum atau sesudah.
Ø Melakukan fungsi dalam ALU.
Ø Menset kode kondisi dan flag.

Operasi set instruksi untuk operasi logical :
1.    AND, OR, NOT, EXOR.
2.    COMPARE : Melakukan perbandingan logika.
3.    TEST : Menguji kondisi tertentu.
4.    SHIFT : Operand menggeser ke kiri atau ke kanan menyebabkan konstanta pada ujung bit.
5.    ROTATE : Operand menggeser ke kiri atau ke kanan dengan ujung yang terjalin.





TRANSFER CONTROL



Transfer Control :
Tindakan CPU untuk transfer control :
     Mengupdate program counter untuk ke subrutin, call, atau return.
    
     Operasi set instruksi untuk transfer control :
1.      JUMP (Cabang) : Pemindahan tidak bersyarat dan memuat PC dengan alamat tertentu.
2.      JUMP BERSYARAT : Menguji persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan apa tergantung dari persyaratan.
3.      JUMP SUBRUTIN : melompat ke alamat tertentu.
4.      RETURN : Mengganti isi register dan register lainnya yang berasal dari lokasi tertentu.
5.      EXECUTE : Mengambil operand dari lokasi tertentu dan mengeksekusi sebagai instruksi.
6.      SKIP : Menambah PC sehingga melompati instruksi berikutnya.
7.      SKIP BERSYARAT : Melompat atau tidak melakukan apa-apa berdasarkan pada persyaratan.
8.      HALT : Menghentikan eksekusi program.
9.      WAIT (HOLD) : Melanjutkan eksekusi pada saat persyaratan dipenuhi.
1.   NO OPERATION : Tidak ada operasi yang dilakukan.
 








X = (A+B*C) / (D-E*F)

3 Alamat :                                            
MPY T, B, C
ADD T, T, A
MPY Y, E, F
SUB Y, D, Y
DIV T, T, Y

2 Alamat :
MOV T, B
MPY T, C
ADD T, A
MOV Y, E
MPY Y, F
MOV R, D
SUB R, Y
DIV T, R

1 Alamat :
LOAD E
MPY F
STOR Y
LOAD D
SUB Y
LOAD B
MPY C
ADD A
DIV Y
STOR Y

0 Alamat :
PUSH A
PUSH B
PUSH C
MPY
ADD
PUSH D
PUSH E
PUSH F
MPY
SUB
DIV
POP Y

Note : Saya harus mendahulukan penempatan D sebelum pengurangan/SUBTRACT
 (D – E * F) pada setiap alamat, karena apabila E*F=Y, maka D – Y dan bukan Y – D. Contoh : Hasil Y = 3 dan D = 1 , maka
D – Y = 1 – 3 = - 2

Berbeda dengan, Y – D = 3 – 1 = 2

Tidak ada komentar:

Posting Komentar