Mikroprosesor
Bab 3: Arsitektur Mikroprosesor
SMS32V23, SMS32V50
Arsitektur Mikroprosesor
SMS32V50
• 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
ACCUMULATOR TEMP. REG.
ALU
8-BIT INTERNAL DATA BUS
ACCUMULATOR=5 Sebelum proses berlangsung TEM. REG. =2 Sebelum proses berlangsung
Arsitektur Mikroprosesor
SMS32V50
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).
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.
Proses Kompilasi Instruksi
Format Heksadesimal Format Assembly
Level Manusia Level Mesin
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.
Arsitektur Mikroprosesor SMS32V50
Keadaan RAM pada Prosesor SMS32V50
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.
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
Arsitektur Mikroprosesor
SMS32V50
• 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
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
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
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
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
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
Arsitektur Mikroprosesor SMS32V50
Mode Pengalamatan:
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?
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
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?
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?
Arsitektur Mikroprosesor SMS32V50
Mode Pengalamatan:
Ilustrasi Direct Addressing:
Mikroprosesor AL
BL CL DL
MOV AL,[10]
Memori
00 01 FF
10
MOV [01],CL
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
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
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
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
Arsitektur Mikroprosesor SMS32V50
Copy data dari register ke register:
Mikroprosesor AL
BL CL DL
Tidak boleh!
FF
10
X
BFPUSH AL
POP BL
MOV AL,5 PUSH AL
POP BL
DATA 5 MOV AL,5
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
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
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
Arsitektur Mikroprosesor SMS32V50
Instruksi Aritmetika dan Logika
Arsitektur Mikroprosesor SMS32V50
Instruksi Aritmetika dan Logika
Arsitektur Mikroprosesor SMS32V50
Instruksi Aritmetika dan Logika
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?
Arsitektur Mikroprosesor SMS32V50
Instruksi lompatan (Jump)
Arsitektur Mikroprosesor SMS32V50
Instruksi lompatan (Jump)
Arsitektur Mikroprosesor SMS32V50
Instruksi Compare
Arsitektur Mikroprosesor SMS32V50
Instruksi Stack
Arsitektur Mikroprosesor SMS32V50
Prosedur dan Interupsi
Arsitektur Mikroprosesor SMS32V50
Input dan Output
Arsitektur Mikroprosesor SMS32V50
Input dan Output
Arsitektur Mikroprosesor
SMS32V50
Arsitektur Mikroprosesor
SMS32V50