• Tidak ada hasil yang ditemukan

TUGAS MIKROPROSSESOR

N/A
N/A
Muhamad Zaenurrahman

Academic year: 2025

Membagikan "TUGAS MIKROPROSSESOR"

Copied!
45
0
0

Teks penuh

(1)

Mikroprosesor

Bab 3: Arsitektur Mikroprosesor

SMS32V23, SMS32V50

(2)

Arsitektur Mikroprosesor

SMS32V50

(3)

• ALU melaksanakan penjumlahan,

pengurangan dan operasi logika khusus pada pasangan byte masukan

• Akumulator merupakan register yang berfungsi sebagai penyimpan data

sementara dalam CPU (mikroprosesor). Ia dapat berstatus sebagai sumber masukan dan tujuan hasil operasi ALU, dapat diakses oleh pemrogram.

Arsitektur Mikroprosesor

SMS32V50

(4)

ACCUMULATOR TEMP. REG.

ALU

8-BIT INTERNAL DATA BUS

ACCUMULATOR=5 Sebelum proses berlangsung TEM. REG. =2 Sebelum proses berlangsung

Arsitektur Mikroprosesor

SMS32V50

(5)

Arsitektur Mikroprosesor SMS32V50

• Register Serbaguna (general purpose regiter):

8-bit

REGISTER AL REGISTER BL REGISTER CL REGISTER DL

Salah satu fungsi register serbaguna adalah sebagai akumulator (accumulator).

(6)

Arsitektur Mikroprosesor SMS32V50

• Register Khusus (Special Purpose Register):

8-bit

REGISTER IP

IP: Instruction Pointer, atau pada mikroprosesor lain dinamakan PC (program counter) berisi kode alamat instruksi yang akan diambil oleh

mikroprosesor. NiIainya akan bertambah setiap instruksi selesai diambil dari memori.

(7)

Proses Kompilasi Instruksi

Format Heksadesimal Format Assembly

Level Manusia Level Mesin

(8)

Arsitektur Mikroprosesor SMS32V50

Contoh assembly:

MOV AL,2 ADD AL,3 END

Kode mesinnya:

D0 00 02 B0 00 03 00

• Karena pemrogram tidak memberitahu alamat awal instruksi yang akan disimpan, dalam RAM instruksi D0 00 02 disimpan berturut-turut pada alamat 00, 01, dan 02. Sedangkan instruksi B0 00 03 disimpan pada alamat 03, 04, dan 05.

(9)

Arsitektur Mikroprosesor SMS32V50

Keadaan RAM pada Prosesor SMS32V50

(10)

Arsitektur Mikroprosesor SMS32V50

• Ketika program dijalankan, mikroprosesor

mengambil instruksi pertama yang ditempatkan pada alamat 00 s.d. 02. Informasi tentang alamat awal instruksi ditunjukkan oleh isi IP=00.

• Setelah instruksi pada alamat 00 diambil,

mikroprosesor melaksanakannya. Selanjutnya, mikroprosesor mengambil dan melaksanakan instruksi berikutnya yang terdapat pada alamat 03 s.d. 05. Nilai alamat dari instruksi ini

ditunjukkan oleh IP=03.

(11)

Tugas:

Perhatikan program assembly dan kode mesinnya berikut ini

MOV AL,5 DO 00 05

SUB AL,2 B1 00 02

ADD AL,1 B0 00 01

INC AL A4 00

MOV CL,4 D0 02 04

DEC CL A5 02

END 00

Anggap alamat program dimulai pada 00.

Gambarkan lokasi-lokasi memori yang ditempati oleh kode-kode mesin tersebut.

Tuliskan isi IP setiap sebuah baris instruksi dilaksanakan.

Arsitektur Mikroprosesor

SMS32V50

(12)

Arsitektur Mikroprosesor

SMS32V50

(13)

SP: Stack Pointer atau Penunjuk Tumpukan, merupakan register yang menunjukkan alamat

teratas dari memori stack. Pada SMS32V50 alamat tertinggi dari stack adalah BF heksadesimal.

• Stack adalah sejumlah alamat memori yang bersifat LIFO (last in first out)

• Operasi memasukkan data ke dalam stack dinamakan operasi PUSH

• Operasi mengambil data dari stack dinamakan POP

Arsitektur Mikroprosesor SMS32V50

REGISTER SP

8-bit

(14)

Arsitektur Mikroprosesor SMS32V50

DATA 1 DATA 2 DATA 3 DATA 4

STACK

DATA 5

OPERASI PUSH

DATA 1 DATA 2 DATA 3 DATA 4

STACK

DATA 5 SP=BB

SP=BA

BF BE BD BC

(15)

Arsitektur Mikroprosesor SMS32V50

DATA 1 DATA 2 DATA 3 DATA 4

DATA 5

OPERASI POP

DATA 1 DATA 2 DATA 3 DATA 4 SP=BA

SP=BB

BF BE BD BC

DATA 5 BB

(16)

Arsitektur Mikroprosesor SMS32V50

SR: Status Register, pada mikroprosesor lain seperti MOTOROLA dinamakan CCR (condition code

register),dan pada mikroprosesor INTEL dinamakan flags register (register bendera).

Register ini berfungsi untuk menunjukkan status hasil

pemrosesan ALU. SMS32V50 memiliki 4-bit register status atau register bendera yakni:

I S O Z

(17)

Arsitektur Mikroprosesor SMS32V50

Register Status/Bendera pada SMS32V50:

1. Bendera zero atau Z akan set (bernilai 1) jika hasil kalkulasi ALU nol. Gambar kiri menunjukkan

keadaan register bendera SMS32V50 ketika hasil perhitungan ALU menunjukkan nilai 0 dan gambar kanan untuk hasil perhitungan bernilai tidak nol.

2. Bendera sign atau S akan set jika hasil kalkulasi negatif. Gambar kiri untuk hasil kalkulasi bernilai negatif dan gambar kanan untuk hasil positif.

I S O Z

1 0

0 0

I S O Z

0 0

0 0

(18)

Arsitektur Mikroprosesor SMS32V50

Register Bendera pada SMS32V50:

3. Bendera overflow atau O akan set jika hasil pemrosesan nilai terlalu besar dibandingkan panjang akumulator

yang tersedia. Gambar kiri keadaan register bendera pada saat terjadi overflow, dan sebelah kanan tidak terjadi overflow.

4. Bendera interrupt atau I, akan set jika perintah interupsi tersedia. See CLI and STI.

I S O Z

0 1

0 0

I S O Z

0 0

0 0

0 0

0

1 0 0 0 0

(19)

Arsitektur Mikroprosesor SMS32V50

Mode Pengalamatan:

(20)

Arsitektur Mikroprosesor SMS32V50

Addressing Mode (Mode Pengalamatan) MOV:

1. Immediate Addressing (Pengalamatan Segera)

Mode pengalamatan ini digunakan untuk copy data ke dalam register.

Contoh:

MOV AL,5 arti: copy 5 ke AL Sumber: data

Tujuan:

register Contoh lain:

Copy data A1 heksadesimal ke akumulator BL?

Copy data B2 heksadesimal ke akumulator CL?

Copy data A1 heksadesimal ke akumulator DL?

(21)

Arsitektur Mikroprosesor SMS32V50

Mode Pengalamatan:

Ilustrasi Immediate Addressing (Pengalamatan Segera) Mikroprosesor

AL BL CL DL

DATA 5 MOV AL,5

DATA A1 MOV DL,A1

(22)

Arsitektur Mikroprosesor SMS32V50

Mode Pengalamatan:

2. Direct Addressing (Pengalamatan Langsung)

Mode pengalamatan ini digunakan untuk copy isi memori ke akumulator atau sebaliknya.

Contoh Bentuk I:

MOV AL,[10] arti: copy isi alamat

memori 10 heksadesimal ke AL

Sumber: alamat memori Tujuan:

register Contoh lain:

Copy isi alamat 15 heksadesimal ke akumulator BL?

Copy isi alamat C2 heksadesimal ke akumulator CL?

Copy isi alamat 3E heksadesimal ke akumulator DL?

(23)

Arsitektur Mikroprosesor SMS32V50

Mode Pengalamatan:

Contoh Bentuk II Direct Addressing:

MOV [2A],AL arti: copy isi AL ke

alamat memori 2A Sumber: register

Tujuan: alamat memori

Contoh lain:

Copy isi BL ke alamat memori E5?

Copy isi CL ke alamat memori 25?

Copy isi DL ke alamat memori 4A?

(24)

Arsitektur Mikroprosesor SMS32V50

Mode Pengalamatan:

Ilustrasi Direct Addressing:

Mikroprosesor AL

BL CL DL

MOV AL,[10]

Memori

00 01 FF

10

MOV [01],CL

(25)

Arsitektur Mikroprosesor SMS32V50

Mode Pengalamatan

Contoh instruksi dengan mode pengalamatan immediate dan direct:

Susun instruksi assembly mikroprosesor SMS32V50 untuk menjumlahkan bilangan 2 dan 3 heksadesimal dan

hasilnyan disimpan pada alamat 20 heksadesimal!

Jawab:

MOV AL,2 immediate addressing ADD AL,3 immediate addressing MOV [20],AL direct addressing

END

(26)

Arsitektur Mikroprosesor SMS32V50

Mode Pengalamatan

Tugas:

1. Susun instruksi assembly mikroprosesor SMS32V50 untuk mengisi akumulator AL dengan data 5 heksadesimal, mengurangkan isi AL dengan isi alamat memori A1, menjumlahkan isi AL dengan isi alamat memori A2, menjumlahkan isi AL dengan data 3, dan hasilnya disimpan pada alamat memori 15 heksadesimal.

2. Perhatikan program berikut ini!

MOV AL,5 Berapa isi alamat 10

MOV [10],AL setelah semua baris

MOV AL,2 program dilaksanakan?

MOV [11],AL

MOV BL,[10]

ADD AL,BL

MOV BL,[11]

ADD AL,BL

(27)

Arsitektur Mikroprosesor SMS32V50

Untuk perintah aritmetika dan logika (ADD, SUB, MUL, DIV, MOD, AND, OR, XOR):

Mikroprosesor AL

BL CL DL

MOV BL,[A1]

Tidak boleh!

FF

A1

SUB AL,[A1]

SUB AL,BL

X

(28)

Arsitektur Mikroprosesor SMS32V50

Copy data ke alamat memori:

Mikroprosesor AL

BL CL

DL MOV(direct addressing)[10],AL

Tidak boleh!

00 01 FF

10

DATA 5

MOV AL,5 (immediate addressing)

X

(29)

Arsitektur Mikroprosesor SMS32V50

Copy data dari register ke register:

Mikroprosesor AL

BL CL DL

Tidak boleh!

FF

10

X

BF

PUSH AL

POP BL

MOV AL,5 PUSH AL

POP BL

DATA 5 MOV AL,5

(30)

Arsitektur Mikroprosesor SMS32V50

Mode Pengalamatan

Tugas:

1. Susun instruksi assembly mikroprosesor SMS32V50 untuk mengisi alamat memori 40 dengan data 5, alamat memori 41 dengan data 2, mengisi akumulator AL dengan 3 heksadesimal, increment isi AL,

mengurangkan AL dengan isi alamat memori 41, menjumlahkan isi AL dengan isi alamat memori 40, dan hasilnya disimpan pada alamat

memori 50 heksadesimal serta di copy ke register DL.

2. Perhatikan program berikut ini!

MOV AL,5 Berapa isI alamat A1

MOV [A1],AL setelah semua baris

MOV AL,7 program dilaksanakan?

MOV BL,[A1]

SUB AL,BL

PUSH AL

POP BL

(31)

Arsitektur Mikroprosesor SMS32V50

Mode Pengalamatan:

3. Indirect Addressing (Pengalamatan Tak Langsung)

Mode pengalamatan ini digunakan untuk copy isi memori yang ditunjukkan oleh isi suatu register ke akumulator atau sebaliknya.

Contoh Bentuk I:

MOV AL,[BL] arti: copy isi alamat yang ditunjukkan BL ke AL

Sumber: alamat memori Tujuan:

register Contoh lain:

MOV AL,2 Berapa isi AL setelah semua

(32)

Arsitektur Mikroprosesor SMS32V50

Mode Pengalamatan:

3. Indirect Addressing (Pengalamatan Tak Langsung) Contoh Bentuk II:

MOV [BL],AL arti: copy isi AL ke alamat

yang ditunjukkan BL Sumber: register

Tujuan: Alamat memori

Contoh lain:

MOV AL,2 Berapa alamat memori

ADD AL,3 yang ditunjukkan oleh BL dan berapa isinya?

MOV BL,40

(33)

Arsitektur Mikroprosesor SMS32V50

Instruksi Aritmetika dan Logika

(34)

Arsitektur Mikroprosesor SMS32V50

Instruksi Aritmetika dan Logika

(35)

Arsitektur Mikroprosesor SMS32V50

Instruksi Aritmetika dan Logika

(36)

Arsitektur Mikroprosesor SMS32V50

Instruksi Aritmetika dan Logika

Tugas:

1. Susun instruksi untuk mengisi alamat 20 dengan 5

heksadesimal, mengisi alamat 21 dengan 2 heksadesimal, mengurangkan isi alamat 20 dengan 2 heksadesimal

menggunakan AL, menambahkan isi alamat 21 dengan 3

heksadesimal menggunakan BL , memindahkan isi AL ke DL, AND isi DL dengan FF, OR isi AL dengan DL, mengalikan isi AL dengan BL, hasilnya disimpan pada alamat 20.

2. Berapa isi alamat 20 setelah semua instruksi dijalankan?

(37)

Arsitektur Mikroprosesor SMS32V50

Instruksi lompatan (Jump)

(38)

Arsitektur Mikroprosesor SMS32V50

Instruksi lompatan (Jump)

(39)

Arsitektur Mikroprosesor SMS32V50

Instruksi Compare

(40)

Arsitektur Mikroprosesor SMS32V50

Instruksi Stack

(41)

Arsitektur Mikroprosesor SMS32V50

Prosedur dan Interupsi

(42)

Arsitektur Mikroprosesor SMS32V50

Input dan Output

(43)

Arsitektur Mikroprosesor SMS32V50

Input dan Output

(44)

Arsitektur Mikroprosesor

SMS32V50

(45)

Arsitektur Mikroprosesor

SMS32V50

Referensi

Dokumen terkait

alamat memori, alamat port, atau data immediate dari sebuah instruksi.  Operand adalah sasaran dari instruksi.  Pada bagian operand terbagi menjadi dua.. bagian yaitu sumber

Memori adalah komponen yang digunakan untuk menyimpan instruksi-instruksi biner yang akan dijalankan oleh mikroprosesor, serta data yang digunakan untuk bekerja.... Dalam pandangan

merupakan alamat data dan instruksi yang terdapat di dalam memori utama, atau register.. yang berisi bagian alamat yang digunakan dalam perhitungan

Port 2 akan memberikan byte alamat bagian tinggi ( high byte ) selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data

Hal ini menunjukkan bahwa aliran komunikasi data pada bus .Komunikasi data dua arah ini ditunjukkan mikroprosesor ke memori/IO alamat dan data yang sekaligus untuk

Memori adalah komponen yang digunakan untuk menyimpan instruksi-instruksi  biner yang akan dijalankan oleh mikroprosesor, serta data yang digunakan untuk bekerja.. Dalam pandangan

Instruksi MOV r, M berfungsi untuk mentransfer data dari lokasi memori yang alamatnya berada pada pasangan register HL ke suatu register 8 bit.. Alamat memori M ditunjukkan oleh

Instruksi Pembacaan Memori SRAM LD Rn,X+/Y+/Z+ Load Indirect and Post Increment Instruksi ini akan mengisi Rn dengan nilai yang tersimpan dimemori pada lokasi yang ditunjuk oleh