simple as possible (sap) - 22 kb pertama (0000 h s/d 07ff h) untuk program monitor : serangkaian...

27
Simple As Possible (SAP) - 2 Abdul Syukur [email protected] http://skurlinux.blogspot.com 085374051884

Upload: others

Post on 24-Jan-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Simple As Possible

(SAP) - 2

Abdul [email protected]

http://skurlinux.blogspot.com

085374051884

Page 2: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

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

Heksadesimal

Register

Masukan 1

Register

Masukan 2

Program

Counter

MAR

Memori RAM

64 KB

Memory Data

Register

Register

Instruksi

Pengendali-

Pengurut

Akumulator A

ALU

TEMP

B

C

Register

Keluaran 3

Peraga

Heksadesimal

Register

Keluaran 48

16

8

16

8

8

8

8

16

8

8

8

8

8

8

8 8

16

8

8

8

CON

Serial Out

Flag2

Serial In

W

16

Page 3: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

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 instruksi + 1 instruksi No operation).

Page 4: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

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)– Memory Data Register (MDR, 1 buah)

Page 5: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Penambahan Lebar Bus dan PC

Penambahan lebar bus menjadi 16 bit untuk mendukunglebar alamat memori yang dikeluarkan oleh PC.

PC mengeluarkan 16 bit alamat berarti dapatmengalamati 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 ygbermanfaat untuk instruksi Jump dan pemanggilansubroutine.

Page 6: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

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 isiinput register dan output register ke monitor.

62 kB berikutnya untuk instruksi dan data.

Page 7: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

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).

– Zero Flag untuk menandai nilai pada register A nol (zero flag = 1) atau A bukan nol (zero flag = 0).

Page 8: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Peningkatan Jumlah Instruksi

Data yang masuk dari IR ke Pengendali & Pengurutsebanyak 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.

Dari 256 signal CON didapat 43 instruksi.

Page 9: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

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 diRAM.

Contoh instruksi dengan operand yang berbeda-beda :

Page 10: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Perangkat Instruksi (2)

ADD B : Kode operasi 80 dan tidakmembutuhkan memori untukoperand.

MVI A, 18 H : Kode operasi 3E membutuhkansatu alamat RAM untuk operand.

STA 4861 H : Kode operasi 32 membutuhkan 2 alamat RAM untuk operand.

Misal ketiga instruksi tersebut disimpan pada RAM secaraberurutan mulai alamat 1000 H, maka peta isi RAM sebagai berikut :

Page 11: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

RAM

Alamat Isi (Biner) Isi (Hexa) Instruksi

1000 H 1000 0000 80 ADD B

1001 H 0011 1110 3EMVI A, 18 H

1002 H 0001 1000 18

1003 H 0011 0010 32

STA 4861 H1004 H 0110 0001 61

1005 H 0100 1000 48

1006 H ….. ….. …..

Page 12: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Perangkat Instruksi SAP-2No Mnemonik Opcode

1 ADD B 80

2 ADD C 81

3 DCR A 3D

4 DCR B 05

5 DCR C 0D

6 HLT 76

7 INR A 3C

8 INR B 04

9 INR C 0C

10 LDA alamat 3A

11 MOV A, B 78

12 MOV A, C 79

13 MOV B, A 47

No Mnemonik Opcode

14 MOV B, C 41

15 MOV C, A 4F

16 MOV C, B 48

17 STA alamat 32

18 SUB B 90

19 SUB C 91

20 OUT D3

21 MVI A, byte 3E

22 MVI B, byte 06

23 MVI C, byte 0E

Page 13: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Perangkat Instruksi SAP-2No 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

37 RAR 1F

38 RET C9

39 XRA B A8

40 XRA C A9

41 XRI byte EE

42 IN byte DB

43 NOP 00

Page 14: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Instruksi-Instruksi SAP-2

1. LDA (Load The Accumulator)

Mengambil data dari memori dan dipindahkan keAkumulator.

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 kememori.

Format : STA alamat

Contoh : STA 1501H (isi RAM pada alamat 1501H dengan nilai ygada pada Akumulator)

Page 15: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Instruksi-Instruksi SAP-2 (2)

3. MVI (Move Immediate)

Mengisi register aritmatika (A, B, C) dengan nilaitertentu.

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

Contoh : MOV B, C (isi register B dgn data pd register C).

Page 16: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Instruksi-Instruksi SAP-2 (3)

5 & 6. ADD dan SUBMenambah atau mengurang isi reg A dgn nilairegister aritmatika lain dan hasil disimpan padaAkumulator.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)DCR C (C = C – 1)

Page 17: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Instruksi-Instruksi SAP-2 (4)

9. JMP (Jump)

Instruksi lompatan tidak bersyarat. Prosesor langsungmengalihkan eksekusi program sesuai dengan alamattujuan lompatan.

Format : JMP alamat

Contoh : JMP 2500H

PC 2500H

Instruksi ini memberitahu prosesor untuk menjalankaninstruksi pada alamat 2500H.

Proses ini mengubah nilai program counter denganalamat 2500H.

Page 18: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Instruksi-Instruksi SAP-2 (5)

10. JM (Jump if Minus)

Instruksi lompatan bersyarat. Prosesor akan memeriksaflag (Sign) keluaran dari ALU pada operasi sebelumya.

Jika sign flag bernilai 1, artinya hasilnya negatif, makalompatan dilakukan.

Jika sebaliknya maka lompatan tidak dilakukan.

Format : JM alamat

Page 19: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

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)

JM 2600H

Page 20: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Instruksi-Instruksi SAP-2 (7)

Setelah instruksi pertama dieksekusi nilai A positif.

Pada instruksi berikutnya (JM 1000H) kondisi syaratuntuk lompat tidak dipenuhi maka prosesor mengerjakaninstruksi berikutnya (SUB C).

Setelah instruksi ketiga isi A bernilai negatif maka padainstruksi ke 4 (JM 2600H) prosesor akan lompat danmengerjakan instruksi pada alamat 2600H.

Page 21: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

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 akandilakukan. Jika sebaliknya maka lompatan tidakdilakukan.

Format : JZ alamat

Contoh : JZ 2500H

Instruksi ini memberitahu prosesor untuk menjalankaninstruksi pada alamat 2500H jika zero flag bernilai 1.

Page 22: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

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 lompatanakan dilakukan. Jika sebaliknya maka lompatan tidakdilakukan.

Format : JNZ alamat

Contoh : JNZ 2500H

Instruksi ini memberitahu prosesor untuk menjalankaninstruksi pada alamat 2500H jika zero flag bernilai 0.

Page 23: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Latihan (1)

Berikut adalah potongan sebuah program pada SAP-2. Tentukan nilai akhir pada register Akumulator !

MVI A, 6A HMVI B, 2E HMVI C, 89 HSUB BDCR AADD COUTHLT

Page 24: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Latihan (2)

Berikut adalah potongan sebuah program pada SAP-2. Tentukan nilai akhir pada register Akumulator !

MVI A, 2C HMVI B, 19 HMVI C, 2A HADD BDCR CSUB COUTHLT

Page 25: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Latihan (3)

Berikut adalah potongan sebuah program pada SAP-2. Tentukan nilai akhir pada register Akumulator !

MVI A, 2C HMVI B, 19 HMVI C, 3E HADD BINR ADCR CSUB COUTHLT

Page 26: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Latihan (4)

Berikut adalah potongan sebuah program pada SAP-2. Tentukan nilai akhir pada register C !

MVI A, 17 HMVI B, 2D HADD BINR AMOV C, AHLT

Page 27: Simple As Possible (SAP) - 22 kB pertama (0000 H s/d 07FF H) untuk program monitor : serangkaian program untuk menampilkan isi input register dan output register ke monitor. ... Mengambil

Latihan (5)

Berikut adalah potongan sebuah program pada SAP-2. Tentukan nilai akhir pada RAM di alamat 3AB8 H !

LDA 3AB7 H, 3A HMVI B, 1D HMVI C, 3C HADD BSUB CADD 4210

STA 3AB8 HHLT