Anda di halaman 1dari 5

##################>###

###############################################################################
######################n###

#7
################### ####bjbjU#U################### ###.##7|##7|
##(######################,#############################################l####
#############################################################^^######^^####
##^^##8###^##$###^##L##########ss######`#######`##"###4`######4`######J`#######
e#######e#######e######r######r######r######r######r######r######r##$###et##
###v##L####s##############################e######################c#######e######
#e#######e#######s######[i####################4`##############J`#####s######[i######[i######[i#######e############4`#############J`######r##########
####[i#######################################################e######r######[i####
#[i######o######"r######t###T####################################################
##############nr######J`#######`##

###h#####Z##^^#######e######:r##############nr#####Cs##0###ss######Br##,###
v#######e##T###v######nr######[i###########################################
##########SAP-2SAP-1 merupakan sebuah komputer karena sistem ini dapat menyimpan
program dan data sebelum memulai perhitungannya, dan kemudian secara otomatis
melaksanakan instruksi-instruksi program tanpa campur-tangan manusia. Namun
demikian SAP-1 merupakan mesin hitung yang masih primitif. Membandingkan komputer
SAP-1 dengan komputer modern, ibarat membandingkan manusia Neanderthal (salah satu
jenis menusia puba) dengan manusia modern. Ada sesuatu yang tidak terdapat dalam
komputer SAP-1, tetapi justru terdapat setiap komputer modern.SAP-1 merupakan tahap
berikutnya dalam evolusi ke komputer modern karena SAP-2 telah dilengkapi dengan
instruksi-instruksi jump ( lompat). Instruksi yang baru ini akan memaksa komputer
mengulangi atau melompati bagian dari sebuah program. Sebagaimana akan anda
temukan, instruksi lompat ini telah membuka duania baru dalam kemampuan
perhitungan.11-1 REGISTER DUA-ARAH Untuk mengurangi kapasitas kawat penyambungan
dalam SAP-2, kita akan menggunakan hanya sekelompok kawat antara setiap register
dan bus. Gagasan ini diperlihatkan pada Gambar 11-1a. Penyemat-penyemat masukan dan
keluaran diberi hubungan singkat (short); hanya sekelompok kawat yang dihubungkan
dengan bus.Apakah hubungan singkat pada penyemat-penyemat masukan dan keluaran
tersebut akan menimbulkan kesulitan? Tidak. Selama komputer beroperasi,salah satu
dari saluran-saluran LOAD atau ENABLE mungkin menjadi aktif, tetapi tidak pernah
kedua-duanya pada suatu saat yang sama. LOAD yang aktif berarti bahwa sebuah kata
biner mengalir dari bus menuju ke register dan selama operasi pengisian, saluran
keluaran berada dalam keadaan mengambang. Di pihak lain, ENABLE yang aktif berarti
bahwa sebuah bus, dan dalam hal ini, saluran masukan yang berada dalam keadaan
mengembang.Pabrik-pabrik IC dapat menyambungkan secara internal penyemat-penyemat
masukan dengan penyemat-penyemat keluaran dari sebuah register tiga-keadaan, H al
ini tidak hanya mengurangi kapasitansi kawat-kawat penyambungan, tetapi juga
mengurangi jumlah penyemat I/O. Contohnya, dalam Gmbar 11-1b hanya terdapat empat
buah penyemat I/O dan bukan delapan penyemat seperti dalam pembahasan yang lalu.
Gambar 11-1c memperlihatkan simbol bagi sebuah register tigs-keadaan dengan
penyemat-penyemat masukan dan keluaran yang tersambung secara internal. Tanda panah
di kedua ujun saluran menunjukkan bahwa lintasan bersifat dua-arah (bidirectional);
artinya data dapat berpindah secara bolak-balik.11-2 ARSITEKTURArsitektur SAP-2
dilukiskan oleh Gambar 11-2. Semua keluaran register ke bus W berupa saklar tigakeadaan. Keluaran yang tidak dihubungkan dengan bus bersifat dus-keadaan.
Sebagaimana sebelumnya, pengendali-pengurut mengirimkan sinyal-sinyal kendali
(tidak dilukiskan) kepada setiap register. Sinyal-sinyal kendali ini akan mengisi,
mengaktifkan, atau mempersiapkan register untuk tepi pulsa pawaktu positif yag
berikutnya. Uraian singkat dari masing-masing kotak dalam gambar arsitektur SAP-2
akan diberikan berikut ini.#Gambar 11-1. Register dua arahBandar MasukanSAP-2
mempunyai dua buah bandar masukan, bernomor 1 dan 2. Enkoder papan tombol
(keyboard) heksadesimal dihubungkan dengan bandar I untuk memasukkan instruksi dan
data heksadesimal melalui bandar ini. Perhatikan bahwa enkoder papan tombol
heksadesimal mengirimkan sebuah sinyal READY ke bit 0 dari bandar 2. Sinyal ini
menunjukkan kapan data di bandar I telah menjadi absah (valid).Perhatikan pula
bahwa sinyal SERIAL IN memasuki penyemat 7 dari bandar 2. Dalam pembahasan kemudian
akan diberikan suatu contoh yang memperlihatkan bagaimana cara mengubah data
masukan seri menjadi data masukan parelel.Pencacah ProgramKini, pencacah program
memiliki saluran 16-bit, dan karena itu dapat mencacah dariPC = 0000 0000 0000 0000
Sampai
PC = 1111 1111 1111 1111
Ini ekivalen dengan 0000H sampai FFFFH ,
atau 0 sampai 65.536 desimal.Sinyal CLR yang rendah akan mereset PC sebelum setiap
operasi komputer. Dengan demikian peorosesan data selalu dimulai dengan instruksi
yang disimpan dalam lokasi memori 0000H .MAR dan MemoriSelama siklus pengambilan,
MAR menerima alamat 16-bit dari pencacah program. Keluaran dua-keadaan dari MAR
selanjutnya mengirimkan alamat lokasi memori yang dikehendaki. Memori mempunyai
sebuah ROM 2K yang beralamat 0000H sampai 07FFH . ROM ini berisi sebuah program,
yang disebut monitor. Program ini menganalisasi komputer pada waktu dinyalakan.
Menafsirkan masukan-masukan papan tombol, dan sebagainya. Sisa dari memori sistem
merupakan sebuah RAM 62K yang beralamat dari 0800H sampai FFFFH .#Gambar 11-2

Arsitektur Blok SAP-2Register Data MemoriRegister data memori (Memory data


register; disingkat MDR) adalah sebuah register bufer 8-bit. Keluaran register ini
mengaktifkan RAM. Register data memori menerima data dari bus sebelum berlangsung
operasi menulis, dan akan mengirimkan data ke bus sesudah operasi membaca.Register
Instruksi (IR)Karena SAP-2 memiliki instruksi yang lebih banyak daripada SAP-1,
kita akan menggunakan 8-bit untuk kode operasi dan bukan 4-bit seperti dalam SAP-1.
Kode operasi 8-bit dapat menampung 256 instruksi. SAP-2 hanya mempunyai 42
instruksi, sehingga tidak akan terdapat masalah dalam pengkodean instruksi 8-bit.
Penggunaan kode operasi 8-bit juga memungkinkan kompatibilitas dengan perangkat
instruksi 8080/8085 yang juga disusun atas dasar kode operasi 8-bit.Sebagaimana
telah disebutkan sebelumnya, seluruh instruksi SAP identik dengan instruksi pada
8080/8085.Pengendali-PengurutPengendali-pengurut menghasilkan kata-kata kendali
atau mikroinstruksi yang akan mengkoordinasi atau mengarahkan operasi komputer.
Karena SAP-2 memiliki perangkat instruksi yang lebih luas, maka perangkat keras
dari bagian pengendali-pengurut menjadi lebih rumit. Dipihak lain meskipun kata CON
menjadi lebih panjang, tetapi ide pokoknya tetap sama: kata kendali atau
mikroinstruksi menentukan bagaimana register-register bereaksi terhadap tepi pulsa
detak positif berikutnya.AkumulatorKeluaran dua-keadaan dari akumulator dikirim ke
ALU; sedangkan keluaran tiga- keadaan dari akumulator ini dihubungkan dengan bus W.
Karena itu, kata 8-bit dalam akumulator secara kontinu menggerakkan ALU, akan
tetapi kkata yang sama juga muncul pada bus bilamana EA menjadi aktif.ALU dan
BenderaALU-ALU standar tersedia secara komersial sebagai rangkaian terpadu. ALU ini
memiliki 4 atau lebih dari 4 bit kendali yang menentukan operasi aritmetik atau
operasi logika pada kata-kata A dan B. ALU yang dipakai dalam SAP-2 mengandung
operasi aritmetik dan logika.Dalam buku ini, bendera (flag) merupakan sebuah flipflop yang mengikuti dan mengawasi perubahan keadaan selama komputer beroperasi.
Komputer SAP-2 mempunyai dua macam bendera. Bendera tanda (sign flag) akan
diaktifkan bilamana isi akumulatr berubah menjadi negatif selama eksekusi dari
beberapa instruksi. Bendera nol (zero flag) akan diaktifkan bilamana isi akumulator
menjadi nol.Register TMP, Register B, dan Register CSebagai pengganti peranan
register B dalam menahan data yang akan dijumlahkan atau dikurangkan dengan isi
akumulator, di sini digunakan sebuah register sementara (disingkat TMP dari kata
temporary). Register ini memberikan kebebasan lebih luas dalam menggunakan register
B. Di samping register TMP dan register B, SAP_2 juga menggunakan register C.
Dengan ini, pemindahan data selama komputer bekerja dapat dilakukan secara lebih
fleksibel.Bandar KeluaranSAP-2 mempunyai dua bandar keluaran, masing-masing diberi
nomor 3 dan 4. Isi akumulator dapat dimasukkan ke dalam bandar 3, yang menggerakkan
sebuah peraga heksadesimal. Dengan demikian kita dapat melihat data yang telah
diproses melalui peraga itu.Isi akumulator dapat pula dikirimkan ke bandar 4.
Perhatikan bahwa penyemat 7 dari bandar 4 mengirimkan sinyal sinyal ACKNOWLEDGE ke
enkoder heksadesimal. Sinyal ACKNOWLEDGE ini beserta sinyal READY merupakan bagian
dari suatu konsep yang disebut berjabat-tangan (hand-shaking), Pengertian ini akan
dibahas lebih lanjut kemudian.Perhatikan juga sinyal SERIAL OUT dari penyemat 0
bandar 4. Salah satu dari contoh-contoh yang diberikan kemudian akan menjelaskan
bagaimana mengubah data paralel dalam akumulator menjadi data keluaran seri.11-3
INSTRUKSI ACUAN MEMORISiklus pengambilan dalam SAP-2 adalah serupa dengan yang
telah dibahas sebelumnya, yaitu meliputi keadaan T1 (alamat), keadaan T2
(penambahan) dan keadaan T3 (memori). Jadi seluruh instruksi SAP-2 menggunakan
memori selama siklus pengambilan karena instruksi program dipindahkan dari memori
ke dalam register instruksi.Selama siklus eksekusi, memori mungkin digunakan atau
mungkin juga tidak tergantung pada tipe instruksi yang telah diambilnya. Instruksi
acuan (rujukan)- memori (memory-reference instuction, disingkat MRI) adalah satu
contoh instruksi yang menggunakan memori selama siklus eksekusi.Perangkat instruksi
komputer SAP-2 terdiri dari 42 instruksi. Berikut ini merupakan deskripsi dari
instruksi-instruksi rujukan-memori tersebut.LDA dan STALDA mempunyai arti yang sama
dengan pembahasan yang lalu, yaitu: mengisi akumulator dengan data memori yang
dialamatkan. Perbedaannya hanya terletak pada jumlah lokasi memori lebih banyak
yang dapat diakses dalam SAP-2, karena alamatnya meliputi nomor 0000H berarti
mengisi akumulator dengan isi lokasi memori beralamat 2000H .Untuk membedakan

bagian-bagian yang berlainan dari sebuah instruksi, kadang-kadang mnemonik disebut


kode operasi (op code) dan bagian instruksi LDA 2000H adalah operannya. Dengan
demikian, kode operasi memiliki arti ganda dalam pekerjaan komter; istilah ini
dapat berarti mnemonik atau dapat pula berarti kode biner yang dipakai guna
mempresentasikan menemonik.
Pemilihan arti yang dimaksud dapat terbaca jelas berdasakan konteks yang
bersangkutan.STA adalah mnemonik untuk store the accumulator (=simpan isi
akumulator). Setiap instruksi STA memerlukan sebuah alamat. STA 7FFFH berarti
menyimpan isi akumulator di lokasi memori 7FFFH . Jika:
A = 8AH Maka
eksekusi dari STA 7FFFH adalah menyimpan 8AH pada alamat 7 FFFH .MVIMVI adalah
mnemonik untuk move immediate (pindahan segera). Instruksi ini memberitahu komputer
untuk mengisi register tertentu dengan byte yang segera mengikuti kode operasi.
Misalnya:
MVI A, 37H Memberitahu kepada komputer untuk mengisi
akumulator dengan bilangan 37H . Sesudahinstruksi ini dilaksanakan, isi biner dari
akumulator menjadi:
A = 0011 0111Anda dapat menggunakan instruksi
MVI dengan melibatkan register-register A, B, dan C. Format untuk instruksiinstruksi ini adalah sbb.
MVI A, byte
MVI B, byte
MVI C, byte.
Kode-kode OperasiTabel 11-1 memperlihatkan kode-kode operasi untuk perangkat
instruksi SAP-2, yang juga meripakan kode-kode operasi 8080/8085. Seperti kita
lihat, 3A adalah kode operasi bagi LDA, 32 adalah kode operasi bagi STA, dst.
Gunakan tabel tersebut dalam mengikuti urain selanjutnya dari bab ini.CONTOH 11-1
Tunjukkan mnemonik bagi sebuah program, untuk mengisi akumulator dengan 49H ,
mengisi register B dengan 4AH , dan register C dengan 4BH . Kemudin buatlah program
untuk menyimpan data akumulator pada lokasi memori 6285H .JAWABANProgram yang
dimaksud adalah
Mnemonik
MVI A, 49H
MVI B, 4AH
MVI C,
4BH
STA 6285H
H LTTiga instruksi pertama mengisikan 49H , 4AH , dan
4BH ke dalam register A, B, dan C. STA 6285H menyimpan isi akumulator pada lokasi
6285H .Perhatikan penggunaan instruksi H LT dalam program diatas. Instruksi ini
mempunyai arti seperti sebelumnya; yaitu menghentikan pemrosesan data.TABEL 11-1
KODE OPERASI SAP-2Instruksi
Kode Operasi
Instruksi
Kode
OperasiADD B
80
MOV B,A
47ADD C
81
MOV B,C
41ANA B
A0
MOV C,Aa
4FANA C
AI
MOV,CB
48ANI byte
E6
MVI A, byte
3ECALL alamat
CD
MVI B, byte
06CMA
2F
MVI C, byte
0EDCR A
3D
NOP
00DCR B
05
ORA B
B0DRC C
0D
ORA C
BIH LT
76
ORI
byte
F6IN byte
DB
OUT byte
D3INR
A
3C
RAL
17INR B
04
RAR
IFINR C
OC
RET
C9JM alamat
FA
STA alamat
32JMP alamat
C3
SUB B
90JNZ alamat
C2
SUB C
91JZ alamat
CA
XRA B
A8LDA alamat
3A
XRA C
A9MOV A,B
78
XRI byte
EEMOV A,C
79#CONTOH 11-2Terjemahkan program pada Contoh 11-2 ke dalam bahasa mesin
8080/8085 dengan menggunakan kode operasi dari Tabel 11-1. Mulailah dari alamat
2000H #JAWABAN
Alamat
Isi
Simbolik
2000H
3EH
MVI A, 49
2001H
49H
2002H
06H
MVI B,4 AH 2003H
4AH
2004H
0EH
MVI C,4BH
2005H
4BH
2006H
32H
STA 6285H
2007H
85H
2008H
62H
2009H
76H
H LTDalam program bahasa-mesin ini terlihat adanya beberapa ide baru.
Dalam instruksi:
MVI A,49H Perhatikan bahwa kode operasi menempati
alamat pertama sedangkan byte operan menempati alamat yang kedua. Secara umum,
bagi semua instruksi 2-byte berlaku ketentuan: kode operasi menempati lokasi
memeori pertama yang disediakan dan byte data menempati lokasi memori berikutnya.

Instruksi:
STA 6285H Adalah sebuah instruksi 3-byte ( 1 byte untuk kode
operasi dan 2 byte untuk alamat). Kode operasi untuk STA adalah 32H . Byte ini
memasuki lokasi memori pertama yangdisediakan, yaitu 20006H . Alamat 6285 terdiri
dari 2 byte. Byte rendah (lower byte) 85H memasuki lokasi memori yang berikutnya,
dan byte atas (upper byte) 62H memasuki lokasi memori yang berikutnya lagi.Mengapa
alamat diprogram dengan byte rendah menenpati urutan pertama dan byte ke atas
menempati urutan kedua? Ini merupakan kekhusussan dari desain asli 8080. Untuk
memelihara kompatibilitas, 8085 dan beberapa mikroprosesor yang lain menggunakan
skema yang sama: byte rendah menempati memori yang lebih rendah, dan byte tinggi
menempati memori yang lebih tinggi.Instruksi terakhir, H LT, memiliki kode operasi
76H , dan disimpan dalam lokasi memori 2009H .Sebagai ikhtisar dapat diutarakan bahwa
instruksi MVI adalah instruksi 2-byte, instruksi STA adalah instruksi 3-byte, dan
instruksi H LT adalah instruksi 1-byte.11-4 INSTRUKSI-INSTRUKSI REGISTERInstruksi
rujukan-memori relatif lambat pelaksanaannya karena mereka memerlukan lebih dari
satu operasi akses memori selama siklus instruksi. Selain itu, kita sering
menghendaki pemindahan data langsung dari satu register ke register yang lain tanpa
harus melalui memori. Beberapa instruksi register sari SAP-2 yang dibahas berikut
ini, dirancang untuk memindahkan data dari satu register ke register yang lain
dalam waktu sesngkat mungkin.MOVMOV adalah mnemonik untuk instruksi memindahkan
(move). Instruksi ini memberitahu kepada komputer untuk memindahkan data dari satu
register ke register yang lain. Misalna:
MOV A,B.Memberitahukan
komputer untuk mrmindahkan data dalam register B ke akumulator. Operasi ini
bersifat tidak merusak (nondestructive), artinya data di dalam B hanya disalin
tetapi tidak dihapus. Sebagai contoh, jika:
A = 34H dan B = 9DH
Eksekusi dari MOV A, B menghasilkan:
A = 9DH
B =
9DH Anda dapat memindahkan data di antara register-register A, B, dan C. Format
untuk seluruh instruksi MOV dalam hal ini adalah
MOV A,B
MOV A,C
MOV B,A
MOV B,C
MOV
C,A
MOV C,BInstruksi-instruksi di atas merupakan instruksi yang
tercepat di dalam perangkat instruksi SAP-2, masing-masing hanya memerlukan satu
siklus mesin.ADD dan SUBADD berarti :tambahkan data dalam register tertentu pada
isi akumulator,. Misalnya:
ADD BBerarti menjumlahkan isi register B
dengan isi akumulator. Jika:
A = 04H
dan
B = 02H Maka eksekusi
dari ADD B menghasilkan:
A = 06H Demikian pula, SUB berarti
mengurangkan data dalam register yang dimaksud dari isi akumulator, SUB C akan
mengurangkan isi register C dari si akumulator.Format untuk instruksi ADD dan SUB
adalah sbb:
ADD B
ADD C
SUB B
SUB C
INR dan DCRSeringkali kita ingin menambahkan sesuatu pada atau mengurangi sesuatu
dari si register. INR adalah mnemonik untuk increment (penambahan). Instruksi ini
memberitahu kepada komputer untuk menambah isi register yang ditunjuk dengan satu
angka. CDR adalah mnemonik untuk decrement (pengurangan). Instruksi ini memberutahu
kepada komputer untuk mengurangi isi register yang ditunjuk dengan satu angka.
Format instruksi yang bersangkutan adalah:
INR A
INR B
I

Anda mungkin juga menyukai