• Tidak ada hasil yang ditemukan

Simple As Possible (SAP) - 2

N/A
N/A
Protected

Academic year: 2018

Membagikan "Simple As Possible (SAP) - 2"

Copied!
27
0
0

Teks penuh

(1)

Simple As Possible

(SAP) - 2

(2)

Arsitektur Komputer SAP-2

 Persamaan dengan

SAP-1 :

Sama-sama komputer 8 bit.

 Kesamaan ini dapat

dilihat dari data yang diolah oleh ALU SAP-2 yang masih 8 bit.

Keyboard Memori RAM

64 KB Memory Data

(3)

Perbedaan SAP-1 dengan SAP-2

 Penambahan register-register baru.

 Penambahan lebar bus menjadi 16 bit (lebar data yang

dioperasikan ALU tetap 8 bit).

 RAM yang tersedia 64 KB.

 Penambahan kemampuan logika pada ALU.

 Adanya flag (bendera).

 Peningkatan jumlah instruksi dari 5 ke 43 instruksi (42

(4)

Penambahan Register

 Register-register pada SAP-1 (5 buah) :

– Input Register dan MAR (1 buah)

– Output Register (1 buah)

– Register Instruksi (1 buah)

– Register Aritmatika (2 buah : A dan B)

 Register-register pada SAP-2 (11 buah) :

– Input Register (2 buah)

– Output Register (2 buah)

– Register Instruksi (1 buah)

– Register Aritmatika (4 buah : A, B, C, TMP)

– MAR (1 buah)

(5)

Penambahan Lebar Bus dan PC

 Penambahan lebar bus menjadi 16 bit untuk mendukung

lebar alamat memori yang dikeluarkan oleh PC.

 PC mengeluarkan 16 bit alamat berarti dapat

mengalamati 216 alamat = 65.536 alamat, dari 0000 H

sampai FFFF H

 65.536 alamat dengan tiap alamat 8 bit maka :

– 65.536 * 8 bit = 524.288

– 524.288 : 8192 = 64 kByte

 PC dapat menerima data masukan dari bus W yg

(6)

RAM 64 KB

 Kapasitas RAM 64 kB dari alamat 0000 H sampai FFFF H.

 2 kB pertama (0000 H s/d 07FF H) untuk program

monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor.

(7)

Kemampuan Logika ALU & Flag

 SAP-1 belum punya ALU tetapi hanya Penambah &

Pengurang. SAP-2 sudah memiliki ALU.

 Adanya Flag :

– Sign Flag untuk menandai nilai pada register A negatif (sign flag = 1) atau A positif (sign flag = 0).

(8)

Peningkatan Jumlah Instruksi

 Data yang masuk dari IR ke Pengendali & Pengurut

sebanyak 8 bit.

 8 bit ini menjadi alamat bagi Pengendali & Pengurut.

 Kemampuan pengalamatannya 28 = 256 alamat, dari 00 H

sd FF H.

 Tiap alamat berisi 1 signal CON.

(9)

Perangkat Instruksi

 Instruksi terdiri dari 2 bagian, yaitu kode operasi

(operation code, opcode) dan yang dioperasikan (operand).

Kode operasi lebarnya 8 bit, menempati satu alamat di RAM.

(10)

Perangkat Instruksi (2)

ADD B : Kode operasi 80 dan tidak

membutuhkan memori untuk operand.

MVI A, 18 H : Kode operasi 3E membutuhkan

satu alamat RAM untuk operand.

STA 4861 H : Kode operasi 32 membutuhkan 2

alamat RAM untuk operand.

 Misal ketiga instruksi tersebut disimpan pada RAM secara

(11)

RAM

Alamat Isi (Biner) Isi (Hexa) Instruksi

1000 H 1000 0000 80 ADD B

1001 H 0011 1110 3E

MVI A, 18 H

1002 H 0001 1000 18

1003 H 0011 0010 32

STA 4861 H

1004 H 0110 0001 61

1005 H 0100 1000 48

(12)

Perangkat Instruksi SAP-2

No Mnemonik Opcode 1 ADD B 80 10 LDA alamat 3A 11 MOV A, B 78 12 MOV A, C 79 13 MOV B, A 47

(13)

Perangkat Instruksi SAP-2

No Mnemonik Opcode 24 JMP alamat C3 25 JM alamat FA 26 JNZ alamat C2 27 JZ alamat CA 28 ANA B A0 29 ANA C A1 30 ANI byte E6 31 CALL alamat CD

32 CMA 2F

33 ORA B B0 34 ORA C B1 35 ORI byte F6

36 RAL 17

No Mnemonik Opcode

(14)

Instruksi-Instruksi SAP-2

1. LDA (Load The Accumulator)

Mengambil data dari memori dan dipindahkan ke Akumulator.

Format : LDA alamat

Contoh : LDA 1500H (isi reg A dgn nilai pada alamat 1500H)

2. STA (Store The Accumulator)

Mengambil data dari Akumulator dan dipindahkan ke memori.

Format : STA alamat

(15)

Instruksi-Instruksi SAP-2 (2)

3. MVI (Move Immediate)

Mengisi register aritmatika (A, B, C) dengan nilai tertentu.

Format : MVI register, nilai

Contoh : MVI B, C4H (isi register B dengan nilai C4H)

4. MOV (Move)

Menyalin data dari satu register aritmatika ke register aritmatika lain.

Format : MOV register, register

(16)

Instruksi-Instruksi SAP-2 (3)

5 & 6. ADD dan SUB

Menambah atau mengurang isi reg A dgn nilai register aritmatika lain dan hasil disimpan pada Akumulator.

Format : ADD register atau SUB register Contoh : ADD B (A = A + B)

SUB C (A = A – C)

7 & 8. INR (Increment) dan DCR (Decrement)

Menambah atau mengurangi isi sebuah register aritmatika dengan 1.

Format : INR register atau DCR register Contoh : INR B (B = B + 1)

(17)

Instruksi-Instruksi SAP-2 (4)

9. JMP (Jump)

Instruksi lompatan tidak bersyarat. Prosesor langsung mengalihkan eksekusi program sesuai dengan alamat tujuan lompatan.

Format : JMP alamat

Contoh : JMP 2500H

PC 2500H

Instruksi ini memberitahu prosesor untuk menjalankan instruksi pada alamat 2500H.

(18)

Instruksi-Instruksi SAP-2 (5)

10. JM (Jump if Minus)

Instruksi lompatan bersyarat. Prosesor akan memeriksa flag (Sign) keluaran dari ALU pada operasi sebelumya. Jika sign flag bernilai 1, artinya hasilnya negatif, maka lompatan dilakukan.

Jika sebaliknya maka lompatan tidak dilakukan.

(19)

Instruksi-Instruksi SAP-2 (6)

 Contoh :

Asumsi : Nilai reg A = 45H, B = 10H, dan C=60H

SUB B : A = A - B

= 45H - 10H

A = 35H

JM 1000H

SUB C : A = A - C

= 35H - 60H

A = Hasilnya minus (kecil dari 0)

(20)

Instruksi-Instruksi SAP-2 (7)

 Setelah instruksi pertama dieksekusi nilai A positif.

Pada instruksi berikutnya (JM 1000H) kondisi syarat

untuk lompat tidak dipenuhi maka prosesor mengerjakan instruksi berikutnya (SUB C).

 Setelah instruksi ketiga isi A bernilai negatif maka pada

(21)

Instruksi-Instruksi SAP-2 (8)

11. JZ (Jump if Zero)

Instruksi lompatan bersyarat. Prosesor akan memeriksa (flag) Zero keluaran dari ALU sebelumnya. Jika flag Zero bernilai 1, artinya hasilnya 0, maka lompatan akan

dilakukan. Jika sebaliknya maka lompatan tidak dilakukan.

Format : JZ alamat

Contoh : JZ 2500H

(22)

Instruksi-Instruksi SAP-2 (9)

12. JNZ (Jump if not Zero)

Instruksi lompatan bersyarat. Prosesor akan memeriksa (flag) Zero keluaran dari ALU sebelumnya. Jika flag Zero bernilai 0, artinya hasilnya bukan 0, maka lompatan

akan dilakukan. Jika sebaliknya maka lompatan tidak dilakukan.

Format : JNZ alamat

Contoh : JNZ 2500H

(23)

Latihan (1)

 Berikut adalah potongan sebuah program pada SAP-2.

Tentukan nilai akhir pada register Akumulator !

MVI A, 6A H MVI B, 2E H MVI C, 89 H SUB B

(24)

Latihan (2)

 Berikut adalah potongan sebuah program pada SAP-2.

Tentukan nilai akhir pada register Akumulator !

MVI A, 2C H MVI B, 19 H MVI C, 2A H ADD B

(25)

Latihan (3)

 Berikut adalah potongan sebuah program pada SAP-2.

Tentukan nilai akhir pada register Akumulator !

MVI A, 2C H MVI B, 19 H MVI C, 3E H ADD B

(26)

Latihan (4)

 Berikut adalah potongan sebuah program pada SAP-2.

Tentukan nilai akhir pada register C !

MVI A, 17 H MVI B, 2D H ADD B

INR A

(27)

Latihan (5)

 Berikut adalah potongan sebuah program pada SAP-2.

Tentukan nilai akhir pada RAM di alamat 3AB8 H !

LDA 3AB7 H, 3A H MVI B, 1D H

MVI C, 3C H ADD B

SUB C

ADD 4210

Referensi

Dokumen terkait