Topik 5 - PEMBINAAN PERADABAN MAJMUK DI MALAYSIA.pdf
68k utm complete
1. Sistem Terbenam Berasaskan Mikropemproses 68000
Muhammad Mun’im Ahmad Zabidi
Universiti Teknologi Malaysia
January 29, 2009
If you found this book useful, donate to the Gaza fund
5. Bab 1
Sistem Berasaskan Mikropemproses
Objektif
• Membandingkan ciri-ciri sistem terbenam dan sistem guna am
• Menyenaraikan komponen utama sistem berasaskan mikropemproses
• Menerangkan operasi dalaman mikropemproses
• Menjelaskan evolusi mikropemproses
Pengenalan
Bab ini merupakan latar belakang kepada sistem berasaskan mikropemproses. Anda akan melihat
aplikasi mikropemproses dan komponen-komponen dalamannya secara am. Anda akan melihat susunan
dalaman komputer dan bagai-mana ia melaksanakan aturcara dalam ingatan. Anda akan juga melihat
faktor-faktor yang perlu diketahui semasa memilih mikropemproses untuk sesuatu aplikasi. Akhir sekali,
kita akan melihat evolusi mikropemproses hingga ke hari ini.
1.1 Sistem Berasaskan Mikropemproses
Teknologi mikropemproses telah membolehkan banyak peranti elektronik mempunyai kecerdikan dan
memudahkan kehidupan manusia. Peralatan yang mengandungi mikropemproses boleh dikategorikan
kepada komputer guna am dan sistem terbenam.
Komputer Guna Am
Apabila perkataan komputer disebut, selalunya kita akan memikirkan komputer guna am. Terdapat
beberapa kategori utama komputer guna am:
Komputer peribadi (PC1 ) — Apabila disebut perkataan “komputer”, bentuk yang paling pantas
terlintas di fikiran mempunyai dua bentuk utama iaitu desktop dan laptop. Ia merupakan komputer
guna am yang paling murah dan lazimnya menggunakan peranti papan kekunci dan tetikus untuk
input, serta paparan dan pencetak untuk output.
Pelayan — Pelayan2 merupakan sebarang komputer yang dipasang sepanjang masa untuk melayan
permohonan dari pengguna. Pelayan adalah penggerak utama Internet, dengan menghidangkan
apa saja maklumat yang diperlukan pengguna. Disebabkan pelayan perlu beroperasi tanpa henti
1 personal computer
2 server
1
If you found this book useful, donate to the Gaza fund
6. 2 Bab 1. Sistem Berasaskan Mikropemproses
berta-hun-tahun lamanya, ia dibina menggunakan perkakasan yang lebih berkualiti ber-banding
komputer peribadi.
Kerangka utama — Komputer kerangka utama3 adalah sejenis pelayan yang dibuat oleh syarikat IBM.
Namanya merujuk kepada saiznya yang besar serta memerlukan bilik dengan penyejukan khusus.
Dengan adanya Internet, fungsi kerangka utama tidak lagi sepenting dahulu kerana fungsinya
boleh dilakukan oleh pelayan yang lebih murah.
Superkomputer — Superkomputer ditakrifkan sebagai komputer yang terpantas semasa ia mula-mula
diperkenalkan. Disebabkan teknologi komputer bergerak pantas, superkomputer hari ini akan
menjadi komputer biasa pada hari esok. Superkomputer digunakan bagi pengiraan intensif
seperti fizik kuantum, ramalan cuaca, permodelan molekul, simulasi (seperti simulasi pesawat
dalam terowong udara dan simulasi senjata nuklear), dan sebagainya. Ia selalunya dijumpai di
universiti-universiti utama, agensi ketenteraan dan makmal penyelidikan saintifik. Kebanyakan
superkomputer hari ini dibina dengan beribu-ribu mikropemproses biasa yang digabungkan
dengan penyambungan khusus. Versi kecil boleh dibina dengan empat pemproses ke atas dan
ini dikenali sebagai gugusan komputer4 .
Komputer guna am boleh melakukan pelbagai tugas menurut aturcara yang diisikan ke dalamnya
dan peralatan yang disambungkan kepadanya. Untuk menggunakannya dengan efisien, komputer guna
am memerlukan sistem pengoperasian. Dalam komputer peribadi, sistem pengoperasian yang kerap
digunakan adalah Windows dan Mac OS X, manakala banyak pelayan menggunakan Linux atau Unix.
Sistem Terbenam
Sistem terbenam5 merupakan sistem komputer yang terkandung dalam satu peralatan. Umumnya, ia
tidak kelihatan seperti komputer. Aplikasi sistem terbenam menggunakan lebih 98% daripada pengelu-
aran mikropemproses baru sedangkan pengeluaran selebihnya barulah digunakan dalam komputer guna
am. Berikut disenaraikan hanya segelintir sistem terbenam yang biasa kita temui:
Telefon bimbit Permainan video
Kamera digital Kad pintar
Pencetak Mesin tekanan darah
Modem Walkie-talkie
Ketuhar gelombang mikro Pendingin hawa
Sistem brek kereta Radio kereta
Laser perangkap laju TV litar tertutup
Sistem terbenam direka untuk melakukan hanya satu fungsi berbanding komputer guna am yang
boleh melakukan pelbagai fungsi. Jumlah sistem terbenam yang dikilang mencapai angka beberapa
bilion setiap tahun. Sebagai jurutera, anda mungkin dikehendaki merekabentuk sistem terbenam,
sedangkan anda hanya perlu membeli sebuah komputer peribadi. Jadual 1.1 meringkaskan perbezaan
sistem terbenam dengan komputer kegunaan am.
1.2 Perkakasan
Sebarang sistem berasaskan mikropemproses terbahagi kepada dua aspek utama iaitu perkakasan6 dan
perisian7 . Perkakasan adalah komponen-komponen yang boleh dilihat seperti papan litar, cip dan
3 mainframe
4 computer cluster
5 embedded systems
6 hardware
7 software
If you found this book useful, donate to the Gaza fund
7. 1.2. Perkakasan 3
Jadual 1.1: Perbandingan komputer kegunaan am dan sistem terbenam
Kategori Komputer Guna Am Sistem Terbenam
Aplikasi Boleh diubah oleh peng- Tidak boleh, aplikasi telah dite-
guna tapkan semasa rekabentuk
Antaramuka Amnya mesti ada papan Tidak tetap, ada kalanya mudah
pengguna kekunci dan skrin dengan beberapa butang dan
LED, ada kalanya sama
kompleks dengan komputer
guna am
Ciri penentu Kelajuan dan Lesapan kuasa, harga dan saiz
keserasian perisian
pendawaian. Perisian pula ialah aturcara yang terkandung dalam ingatan yang memboleh komputer
berfungsi seperti yang dikehendaki. Perkakasan perlu dibina manakala perisian perlu ditulis.
Perkakasan terdiri beberapa unsur standard iaitu pemproses, ingatan, dan peranti input/output (I/O).
Spesifikasi pemproses paling penting adalah jenis dan kelajuannya seperti Freescale 68000 beroperasi
pada 10 MHz. Spesifikasi ingatan terpenting ialah saiznya sama ada 32 kilobyte, 1 megabyte atau
2 gigabyte. Peranti I/O merupakan komponen perkakasan yang dipilih bergantung aplikasi termasuk
penukar analog/digital, penukar digital/analog, pengawal pemacu cakera, pemacu paparan video, dan
sebagainya.
Sistem Bas
Struktur asas bagi sebuah sistem komputer asas ditunjukkan dalam Rajah 1.1. Kesemua komponen
disambungkan melalui bas sistem iaitu sekelompok pengalir yang dikongsi oleh komponen-komponen
dalam sistem. Bas sistem terbahagi kepada bas alamat, bas data dan bas kawalan. Fungsi terperinci
ketiga-tiga bas ini akan diliputi kemudian.
Pemproses atau unit pemprosesan pusat (CPU8 ) ialah jantung keseluruhan sistem. Ia mengawal
keseluruhan operasi yang dilakukan oleh sistem. Pemproses melaksanakan aturcara yang tersimpan
dalam ingatan.
Ingatan berfungsi menyimpan aturcara dan data yang diperlukan oleh mikropemproses. Ingatan
terbahagi kepada dua jenis: ingatan baca-sahaja (ROM9 ) dan ingatan capaian rawak (RAM10 ). ROM
dikenali juga sebagai ingatan tidak meruap yang bermakna kandungannya kekal walaupun tanpa bekalan
kuasa. RAM pula dikenali juga sebaga ingatan meruap yang mana kandungannya lenyap apabila bekalan
kuasa diputuskan.
Fungsi ROM dan RAM berbeza dalam komputer guna am dan sistem terbenam. Dalam komputer
guna am, ROM mengandungi dua fungsi. Fungsi pertama ialah pengujian komponen-komponen kritikal
semasa sistem mula-mula dihidupkan. Setelah lulus peringkat ini, ROM melaksanakan fungsi keduanya
iaitu mengisikan sistem pengoperasian (seperti Windows atau Linux) ke dalam RAM. Setelah RAM
diisikan dengan sistem pengoperasian, ROM sudah tidak diperlukan lagi sepanjang operasi normal
sistem. Saiz RAM amat besar kerana ia perlu menempatkan sistem pengoperasian dan aplikasi.
Pengguna boleh mengisikan sebarang aplikasi daripada cakera keras ke dalam RAM. Disebabkan
maklumat dalam RAM lenyap apabila komputer ditutup, kesemua perisian ini perlu diisikan semula
dari cakera keras setiap kali komputer mula-mula dipasang.
Dalam sistem terbenam, fungsi ROM lebih penting kerana mengandungi keseluruhan aplikasi yang
8 central
processing unit
9 read-onlymemory
10 random access memory
If you found this book useful, donate to the Gaza fund
8. 4 Bab 1. Sistem Berasaskan Mikropemproses
Bas Alamat
Bas Data
Bas Kawalan
CPU
Ingatan Ingatan
Program Antaramuka Antaramuka
Data
(ROM) Selari Bersiri
(RAM)
Rajah 1.1: Rajah blok suatu sistem berasaskan mikropemproses.
menentukan fungsi peralatan. Disebabkan kandungan ROM tidak berubah, fungsi sistem akan kekal
sepanjang hayat. RAM hanya diperlukan untuk menyimpan data yang perlu semasa operasi sistem.
Segelintir sistem kecil boleh beroperasi tanpa RAM langsung.
Peranti input/output (I/O) diperlukan bagi membolehkan komputer ber-hubung dengan dunia luar.
Peranti I/O selari melibatkan operasi membaca suis, mengawal lampu dan memindahkan data dengan
peranti selari seperti penukar D/A, penukar A/D atau pemacu cakera. Peranti I/O bersiri membolehkan
perhubungan dengan komputer yang lebih besar atau dengan terminal operator. I/O bersiri agak lambat
tetapi ia amat mudah: cuma dua dawai (untuk menghantar dan menerima data) dan dawai bumi
diperlukan.
Ada lagi komponen-komponen yang tidak ditunjukkan dalam Rajah 1.1 seperti litar pemasaan dan
litar sampukan. Litar pemasaan mengawal kelajuan keseluruhan sistem dan biasanya terdiri daripada
litar berasaskan pengayun hablur. Litar sampukan pula, jika ada, membolehkan pemproses mengawal
banyak peranti input/output pada suatu masa.
Dalam pembinaan sistem terbenam yang mudah, kesemua komponen uta-ma iaitu pemproses,
ingatan dan peranti I/O boleh dikecilkan sehingga dapat dimuatkan dalam satu cip. Peranti ini dikenali
sebagai mikropengawal11 atau komputer dalam satu cip. Bagi sesuatu famili mikropengawal, terdapat
berbagai versi yang berbeza saiz ingatan dan jumlah peranti I/O walaupun menggunakan pemproses
yang sama. Walaupun ia tidak berkeupayaan tinggi, ia banyak digunakan dalam sistem kecil kerana ia
kecil, murah dan boleh beroperasi dengan kuasa bateri. Lazimnya ingatan dalam mikropengawal adalah
terhad dan tidak boleh ditambah jadi jurutera pereka mesti mahir mengoptimumkan penggunaan ingatan.
Konfigurasi peranti I/O juga tidak boleh dipinda maka sebelum membina sistem, jurutera pereka perlu
memilih versi yang benar-benar sepadan dengan sistem yang hendak dikawal.
Selain mikropemproses dan mikropengawal, sistem terbenam terdapat juga dalam bentuk sistem
dalam cip (SoC12 ). Jika mikropengawal boleh dibeli di pasaran dengan mudah dan digunakan dalam
pelbagai sistem, SoC direka khusus untuk sesuatu produk seperti telefon bimbit dan pemain MP3.
Berbanding mikropengawal, ia jauh lebih kompleks kerana mempunyai peranti I/O maju seperti
pengawal LCD grafik, antaramuka USB, pengawal kad SD, penyahkod audio MP3 dan seumpamanya.
Kos untuk mereka SoC amat tinggi tetapi menjimatkan kos keseluruhan pembuatan sesuatu produk
kerana dapat mengurangkan jumlah komponen dan saiz produk.
Operasi Ingatan
Ingatan boleh dianggap menyimpan maklumat berbentuk satu senarai panjang. Setiap unsur dalam
senarai ini mempunyai alamat (lokasi) dan data (isi). Peranti ingatan mempunyai penyambungan kepada
bas alamat, bas data dan input kawalan. Bas alamat, bersifat input, menentukan lokasi mana yang sedang
dicapai. Jumlah talian alamat menentukan jumlah kedudukan yang terdapat dalam ingatan. Bagi bas
11 microcontroller
12 System-on-Chip
If you found this book useful, donate to the Gaza fund
9. 1.2. Perkakasan 5
Alamat Data
Alamat
Data
Isyarat Baca
kawalan Tulis
Rajah 1.2: Ingatan.
alamat n bit, terdapat 2n alamat. Bas data, bersifat input dan output, memindahkan data masuk dan
keluar ingatan. Jumlah bit yang boleh dicapai pada sesuatu masa ditentukan oleh jumlah talian data.
Bas kawalan menentukan operasi yang akan dilakukan terhadap ingatan.
Sebagai contoh, mikro-pemproses 6800 mempunyai bas alamat 16 bit dan bas data 8 bit. Oleh itu,
saiz ingatannya ialah 216 = 65536 alamat dan setiap alamat mengandungi 8 bit (atau 1 byte). Bagi
mikropemproses 68k, bas alamatnya bersaiz 24 bit jadi ia mempunyai 224 = 16777216 alamat. Setiap
alamat menyimpan satu byte. Bagaimanapun, dua alamat bergandingan boleh dicapai serentak. Oleh itu
bas datanya bersaiz 16 bit.
Dua operasi boleh dilakukan terhadap ingatan: baca dan tulis. Operasi mana yang dilakukan
ditentukan oleh isyarat BACA dan TULIS yang dihantar dari CPU ke ingatan sebagai sebahagian
daripada bas kawalan. Dalam operasi baca, maklumat dipindahkan dari ingatan ke pemproses. Untuk
operasi ini, alamat maklumat yang dikehendaki diberikan oleh pemproses kepada ingatan. Seterusnya,
perintah BACA dikeluarkan. Apabila ingatan melihat kedua-dua maklumat ini, ia mengeluarkan data
yang terletak di alamat yang dinyatakan ke bas data. Data ini akhirnya dibaca oleh CPU.
Operasi tulis memindahkan data dari CPU ke dalam ingatan. Dalam operasi ini, bas data tidak
menjadi output ingatan tetapi berfungsi sebagai input. Untuk menulis secebis data ke dalam ingatan,
CPU memberikan alamat di mana data akan disimpan ke bas alamat. Seterusnya, data yang akan
disimpan dikeluarkan ke bas data. Akhir sekali, perintah TULIS diberi. Apabila ingatan melihat
kesemua maklumat ini, ia menyimpan data ke di alamat yang dinyatakan.
(a) Membaca ingatan. (b) Menulis ingatan.
Rajah 1.3: Dua operasi yang boleh dilakukan terhadap ingatan.
Operasi Pemproses
Bagi memahami operasi mikropemproses, kita akan melihat secara ringkas rekabentuk dalaman CPU.
Setiap pemproses mengandungi tiga komponen asas:
If you found this book useful, donate to the Gaza fund
10. 6 Bab 1. Sistem Berasaskan Mikropemproses
CPU
Unit
Kawalan Bas Alamat
ALU Bas Data
Bas Kawalan
Daftar
Rajah 1.4: Unit Pemprosesan Pusat.
• Daftar13
• Unit kawalan14
• Unit aritmetik dan logik (ALU15 )
Daftar mikropemproses menyimpan maklumat yang sedang digunakan. Terdapat daftar yang
kelihatan kepada pengaturcara dan ada juga yang terlindung. Unit kawalan mengawal operasi
mikropemproses dan seterusnya keseluruhan sistem. ALU pula digunakan untuk memproses data.
CPU boleh dikelaskan menurut jumlah bit yang diproses serentak, yang bergantung kepada saiz
ALU, daftar dan bas data. Saiz yang lebih lebar membolehkan data bersaiz besar diproses lebih pantas.
Sebagai contoh, data sebesar 32 bit dipindahkah dalam hanya satu langkah dengan bas data 32 bit tetapi
memerlukan 4 langkah dengan bas data 8 bit.
Mikropemproses 68000 mempunyai daftar 32 bit tetapi saiz ALU dan bas datanya hanya 16 bit.
Oleh kerana kedua-dua saiz data digunakan, 68000 dirujuk sebagai pemproses 16/32 bit. Sebagai
perbandingan, saiz bas data, ALU dan daftar pemproses 68HC11 kesemuanya 8 bit.
Kesemua pemproses berfungsi dengan melaksanakan suruhan yang dipungut dari ingatan. Masa
perlaksanaan setiap suruhan dinamai kitar suruhan atau kitar pungut-laksana. Kitar suruhan terdiri
daripada dua fasa utama:
• Pungut16 — ambil suruhan dari ingatan
• Laksana17 — tafsir dan laksana suruhan
Semasa fasa pungut, pemproses mengambil satu suruhan dari ingatan. Untuk mencapai ke suruhan
ini, alamat suruhan diisikan dahulu ke daftar yang dinamai pembilang aturcara (PC18 ). Pemproses
membaca suruhan yang terkandung di alamat yang dinyatakan dalam PC. Suruhan ini kemudiannya
diisi ke daftar suruhan (IR 19 ). IR lazimnya tidak termasuk dalam senarai daftar-daftar pemproses yang
boleh dicapai secara langsung oleh pengaturcara.
Semasa fasa laksana, pemproses mentafsir atau menentukan jenis suruhan yang terkandung dalam
IR. Suruhan adalah suatu nombor perduaan yang difahami oleh unit kawalan. Kombinasi bit dalam
suruhan menentukan apakah operasi yang perlu dilakukan serta kedudukan data yang diproses oleh
13 register
14 control unit
15 Arithmetic and Logic Unit
16 fetch
17 execute
18 program counter
19 instruction register
If you found this book useful, donate to the Gaza fund
11. 1.3. Perisian 7
suruhan tersebut. Setelah suruhan ditafsirkan, barulah pemproses boleh melakukan tugas yang
dikehendaki.
Senarai semua jenis suruhan yang boleh dilakukan digelar set suruhan20 . Set suruhan sesuatu
mikropemproses bergantung kepada keupayaan mikropemproses tersebut. Sebagai contoh, sebuah
pemproses 32 bit lazimnya mempunyai suruhan darab dan ia boleh mendarab dengan pantas dan
mudah. Sebaliknya, sistem 8 bit lazimnya tiada suruhan darab. Jika operasi darab diperlukan, ia
terpaksa dilaksanakan dengan berpuluh-puluh suruhan dan memakan masa yang lebih lama. Setelah
mikropemproses menamatkan satu kitar suruhan, ia akan memungut lalu melaksanakan suruhan
seterusnya sehingga komputer dimatikan.
1.3 Perisian
Perisian adalah istilah am yang merangkumi satu atau banyak aturcara atau program yang dilaksanakan
dalam komputer. Sesuatu aturcara terdiri daripada banyak suruhan. Aturcara boleh dianggap suatu
gubahan muzik sedangkan suruhan adalah satu not yang keluar dari satu alat muzik. Untuk memainkan
lagu yang menarik, kita perlu tahu mengeluarkan bunyi dengan not yang betul pada masa yang tepat.
Dengan cara yang sama, kita perlu tahu kesan setiap suruhan dan mengatur suruhan-suruhan di dalam
suatu aturcara.
Dalam penulisan aturcara, mula-mula kita perlu mendapatkan algoritma atau konsep penyelesaian
masalah. Seterusnya, algoritma perlu diterjemah menjadi suatu aturcara yang boleh difahami komputer.
Inilah proses penulisan aturcara atau pengekodan21 , yang boleh dilakukan dalam pelbagai bahasa
pengaturcaraan. Dalam sistem berasaskan mikropemproses, terdapat beberapa bahasa pengaturcaraan
utama iaitu bahasa mesin, bahasa himpunan dan bahasa tahap tinggi.
Bahasa Mesin
Bahasa mesin22 ialah bahasa tabii komputer berbentuk kod perduaan. Ia mengawal operasi tahap rendah
yang paling mudah atau primitif. Setiap operasi primitif tidak lebih daripada operasi memindahkan
kelompok-kelompok bit dari satu tempat ke tempat lain dalam komputer, operasi asas aritmetik seperti
tambah dan tolak, dan sebagainya.
Pengguna boleh mengaturcara komputer dengan bahasa mesin secara mendapatkan kod perduaan
bagi setiap suruhan kemudian mengisikan suruhan ke dalam ingatan secara manual.. Ia boleh dilakukan
untuk mikropemproses mudah tetapi agak remeh untuk 68000. Bahasa ini tidak cekap kerana
pengaturcaraannya lambat dan kesilapan terlalu mudah berlaku.
Bahasa Himpunan
Untuk memudahkan penulisan bahasa mesin, aturcara ditulis dalam bahasa himpunan23 . Suruhan-
suruhan dalam bahasa himpunan berbentuk kod senang ingat atau mnemonik. Aturcara punca diterjemah
ke bahasa mesin dengan penghimpun24 . Bahasa himpunan, sama seperti bahasa mesin, adalah khusus
kepada setiap mikropemproses. Ini bermakna aturcara himpunan untuk sesuatu mikropemproses tidak
difahami oleh mikropemproses lain.
Apabila penghimpun menghasilkan bahasa mesin yang akan dilaksanakan di sistem dengan
mikropemproses yang lain, ia dinamai penghimpun silang25 . Contohnya, penghimpun ASM68K
menghimpun bahasa himpunan 68000 tetapi dilaksanakan komputer peribadi. Aturcara yang dihasilkan
20 instruction set
21 coding
22 machine language
23 assembly language
24 assembler
25 cross assembler
If you found this book useful, donate to the Gaza fund
12. 8 Bab 1. Sistem Berasaskan Mikropemproses
oleh penghimpun digelar juga kod objek26 . Selain menukar aturcara punca ke bentuk objek, penghimpun
menghasilkan fail senarai27 . Fail senarai menunjukkan mnemonik, lokasi ingatan yang digunakan, dan
nilai perenambelasan setara bagi setiap suruhan.
Bahasa himpunan harus digunakan untuk membina sistem berasas mikropemproses yang optimum.
Ini kerana aturcara bahasa himpunan padat, pantas dan berupaya mengawal setiap komponen perkakasan
dalam sistem. Namun begitu, pereka tidak boleh mengabaikan bahasa mesin sama sekali jika ingin
melakukan pengaturcaraan secara berkesan.
Bahasa Tahap Tinggi
Bahasa tahap tinggi membolehkan aturcara lebih mudah ditulis dan mudah dialihkan ke sebarang
mikropemproses lain jika perlu. Bagaimanapun, kod objek yang dihasilkan oleh pengkompil bahasa
tahap tinggi selalunya beroperasi dengan lebih perlahan dan saiz kod objek yang terhasil lebih besar
berbanding kod objek yang dikeluarkan oleh penghimpun. Dua bahasa tahap tinggi yang popular dalam
pembinaan sistem terbenam ialah C dan BASIC.
C ialah bahasa yang amat popular kerana ia berupaya mengawal sumber-sumber perkakasan hampir
sama seperti bahasa himpunan. Dengan penggunaan pengkompil, aturcara punca dalam C ditukar ke
kod objek. Sesetengah pengkompil membolehkan suruhan bahasa himpunan diselitkan dalam aturcara
C membolehkan kedua-dua bahasa digabungkan dalam satu aturcara.
BASIC28 ialah bahasa tahap tinggi yang paling mudah dipelajari. Penyata-penyata aturcara punca
diterjemah semasa perlaksanaan ke bahasa mesin menggunakan pentafsir. Ini menyebabkan aturcara
BASIC beroperasi dengan amat perlahan. Terdapat juga pengkompil BASIC yang menghasilkan
aturcara bahasa mesin terus daripada aturcara punca. Ini sedikit sebanyak mempercepatkan perlak-
sanaannya.
1.4 Evolusi Mikropemproses
Mikropemproses yang pertama ialah Intel 4004 yang diperkenalkan pada tahun 1971. Ia merupakan
peranti 4 bit yang asalnya direka untuk membina alat kira. Pada tahun berikutnya, Intel memperkenalkan
peranti 8008 iaitu mikropemproses 8 bit yang pertama. Cip ini diikuti oleh 8080 dan 8085. Produk
mikropemproses pertama dari Motorola ialah MC6800 pada tahun 1974. Cip ini juga merupakan peranti
8 bit. Suatu cip yang rekabentuknya berasal daripada MC6800 ialah 6502 yang dibina oleh MOS
Technology Corporation. Cip 6502 digunakan dalam Apple II, iaitu komputer peribadi yang pertama.
Mikropemproses 16 bit pertama ialah 8086 yang dikeluarkan oleh Intel pada tahun 1978. Cip kedua
dalam siri ini – 8088 – digunakan dalam IBM PC asal. Kedua-dua cip ini merupakan asas kepada
peranti 80286, 80386, 80486, Pentium dan pemproses-pemproses lain yang berasaskan Pentium. Setiap
cip merupakan pembaikan kepada cip sebelumnya dan membentuk siri yang dikenali sebagai x86. Siri
x86 dikembangkan ke 32 bit bermula dengan pemproses 80386, dikenali sebagai siri IA-32 oleh Intel.
Seterusnya siri x86 dikembangkan ke 64 bit bermula dengan AMD Opteron dan Intel Core sebagai siri
AMD64 dan EM64T.
Motorola memperkenalkan pemproses 68000 pada tahun 1979. Peranti ini mengasaskan mikropem-
proses famili 68k yang termasuk 68000, 68008, 68010, 68020, 68030, 68040 dan 68060. Siri ini pada
asalnya direka sebagai pemproses dalam komputer guna am terutamanya dalam komputer Apple, tetapi
pada hari ini ia hanya dijumpai dalam sistem terbenam selepas tiada lagi perkembangan siri ini selepas
tahun 1993. Dalam satu perkembangan berkaitan, bahagian firma Motorola yang mereka pemproses
(Motorola Semiconductor Products Sector) dipisahkan dari syarikat induk pada 2004 membentuk firma
Freescale. Pada hari ini, pemproses Motorola 68k lebih tepat lagi disebut Freescale 68k.
26 objectcode
27 listing
file
28 Beginner’s All-purpose Symbolic Instruction Code
If you found this book useful, donate to the Gaza fund
13. 1.5. Pemilihan Mikropemproses 9
1.5 Pemilihan Mikropemproses
Boleh dikatakan semua komputer peribadi pada hari ini menggunakan siri x86, sama ada dibuat oleh
syarikat Intel, AMD dan lain-lain. Siri x86 ada juga digunakan dalam sistem terbenam prestasi tinggi
yang agak besar seperti robot.
Dalam pembinaan sistem terbenam, pemilihan pemproses tidak condong kepada siri x86 sahaja
kerana terdapat pelbagai faktor lain seperti penggunaan kuasa, saiz dan kos. Terdapat pelbagai jenis
mikropemproses yang digunakan dalam sistem terbenam. Ini berbeza dengan komputer guna am yang
pilihan pemprosesnya terhad. Beberapa faktor perlu dipertimbangkan semasa membanding dan memilih
mikropemproses untuk sesuatu tugas.
Jurutera pereka boleh memilih peranti yang sesuai dengan aplikasi dari mikropengawal 4 atau
8 bit hinggalah ke pemproses penuh 32 dan 64 bit. Dari Freescale sahaja terdapat mikropengawal
ColdFire, M*Core, PowerPC, 68HC11, 68HC05, 68HC08 dan beberapa lagi. Dari firma lain terdapat
mikropengawal ARM, PIC, MSP430, Rabbit, AVR, TMS320, Nios, MicroBlaze dan berpuluh-puluh
lagi.
Satu kaedah yang paling mudah bagi membezakan kelajuan sistem ialah juta suruhan sesaat
(MIPS29 ). Contohnya, mikropemproses 68000 boleh mencapai 0.6 MIPS pada kelajuan 8 MHz tetapi
68040 boleh mencecah 40 MIPS. Unit MIPS boleh digunakan untuk membandingkan pemproses dari
siri yang sama seperti dalam siri 68k atau dalam siri x86. Bagaimanapun, unit ini tidak begitu tepat
bagi membanding pemproses dari siri yang berbeza contohnya satu pemproses dari siri 68k dengan satu
pemproses lain dari siri x86.
Saiz dan kuantiti data yang perlu diproses menentukan saiz mikropemproses yang diperlukan.
Contohnya, suatu sistem pemain video dengan grafik tiga dimensi perlu melukis imej di kaca TV
dengan sangat pantas dan ingatannya pula perlu mempunyai ingatan yang besar untuk menyimpan
maklumat bagi setiap bintik yang dipaparkan. Aplikasi ini tidak mungkin dapat diselesaikan dengan
mikropemproses 8 bit. Sebaliknya, sebuah sistem penggera mungkin mendapat input sejam sekali dan
maklumat yang di bawah kawalannya hanya memerlukan beberapa puluh byte untuk disimpan. Dalam
aplikasi ini, pemproses 8 bit lebih daripada mencukupi.
Integrasi sistem menggambarkan keupayaan pengembangan sesuatu cip mikropemproses atau
mikropengawal. Jika peranti input/output banyak tersedia dalam cip asas, peralatan tambahan tidak
lagi diperlukan. Ini dapat mengecilkan saiz papan litar dan mengurangkan penggunaan kuasa.
Bagaimanapun, terlalu banyak peranti yang tidak digunakan akan menambahkan kos pembuatan.
Jika komputer yang direka hendak dikeluarkan dengan banyak, dan keuntungan ingin dimaksi-
mumkan, kita perlu memilih komputer terkecil yang mampu melakukan tugas dikehendaki. Mikropem-
proses 4 bit, misalnya, masih banyak digunakan untuk kerana kosnya yang amat rendah.
Satu lagi faktor yang perlu dipertimbangkan dalam pembuatan dalam sistem berasas mikropem-
proses ialah lesapan kuasa. Sistem yang jimat kuasa boleh bergantung hanya kepada bateri sebaliknya
sistem yang kurang cekap kuasa mungkin memerlukan unit bekalan kuasa yang disambungkan kepada
soket arus ulang-alik. Sudah tentulah sistem yang bergantung kepada bateri amat mudah dibawa ke
mana-mana. Mikropemproses yang kurang cekap kuasa juga mungkin memerlukan kipas penyejukan.
Faktor ini menyebabkan rekabentuk cesi peralatan perlu diubah dan kerapkali menjadi lebih besar dan
kurang mudah alih.
Masa ke pasaran ialah masa yang diperlukan untuk menyiapkan sesuatu rekabentuk. Ia bergantung
kepada kemahiran perekabentuk dan kewujudan kelengkapan dan komponen yang diperlukan. Sesuatu
mikropemproses mempunyai kos dan lesapan kuasa yang rendah serta keupayaan yang tinggi tidak
semestinya dipilih jika tiada jurutera dalam sesuatu organisasi tersebut pernah menggunakannya. Perlu
diingat, masa untuk mereka sistem yang kedua jauh lebih singkat berbanding dengan rekabentuk
pertama. Kehadiran komponen perkakasan dan perisian yang diperlukan juga penting untuk menyiapkan
sesuatu projek dalam masa yang singkat.
29 million instructions per second
If you found this book useful, donate to the Gaza fund
14. 10 Bab 1. Sistem Berasaskan Mikropemproses
Latihan
1. Komponen atau litar manakah yang bukan sebahagian
daripada pemproses?
(a) RAM
(b) ALU
(c) Daftar
(d) Unit kawalan
(e) Pembilang aturcara
2. Pilih pernyataan yang paling sesuai bagi menerangkan mikropemproses.
(a) Cip yang mengandungi hanya pemproses
(b) Cip yang mengandungi kesemua komponen komputer
(c) Kurang luwes (fleksible) dalam rekabentuk sistem berbanding mikropengawal
(d) Memerlukan hanya satu cip untuk membina sistem yang lengkap
(e) Biasanya kurang menggunakan kuasa berbanding mikropengawal
3. Yang manakah antara yang berikut tidak mengandungi mikropemproses?
(a) Pelayan
(b) Ketuhar gelombang mikro
(c) MyKad
(d) PDA
(e) Tukul
4. ROM bermakna
(a) Run Once Memory
(b) Residual Oxidation Memory
(c) Reprogrammable Once Memory
(d) Read-Only Memory
(e) Random Oscillator Modulation
5. Berikut disenarakan beberapa saiz bas alamat. Untuk setiap satu, kira saiz ruang ingatan bagi
komputer berkenaan.
(a) 16 bit
(b) 20 bit
(c) 24 bit
(d) 32 bit
If you found this book useful, donate to the Gaza fund
15. Bab 2
Ciri Perisian 68000
Objektif
• Menerangkan latar belakang famili 68k
• Melakar model pengaturcaraan 68000
• Menjelaskan organisasi ingatan
• Menerangkan format suruhan mesin
2.1 Famili 68k
Bab ini merupakan pengenalan kepada senibina mikropemproses 68000 dan famili 68k. Peranti ini
adalah pemproses pertama yang dikaji dengan mendalam. Berikut ialah sebab kenapa mikropemproses
ini sesuai dikaji:
• Ia popular.
• Reka bentuknya kemas
• Set suruhannya komprehensif
Ia mempunyai ciri-ciri yang memudahkan rekabentuk sistem pengendalian dan pengaturcaraan
bahasa tahap tinggi.
Pemproses pada hari ini sememangnya kompleks dan akan terus menjadi semakin kompleks. Oleh
itu mikropemproses pertama yang dipelajari sepatutnya lebih kompleks.
Peranti MC68000 adalah pengasas siri 68k yang asalnya direka untuk menjadi unit pemprosesan
pusat (CPU) dalam komputer guna am. Ia disusuli oleh beberapa komponen yang berbeza kelajuan dan
keupayaan. Jadual 2.1 meringkaskan perbezaan CPU dalam famili 68k.
Awalan MC menunjukkan bahawa peranti ini dibuat oleh Motorola atau Freescale. Sekiranya dibuat
oleh rakan niaganya seperti SGS-Thomson atau Hitachi, awalan yang berbeza akan digunakan.
Pada hari ini, famili 68k tidak lagi digunakan dalam komputer guna am tetapi meluas digunakan
dalam sistem terbenam dalam bentuk yang berbeza-beza, antaranya:
• Pemproses terbenam1 — merupakan pemproses asal dengan diubah nama untuk tujuan pemasaran
seperti MC68EC000.
• Mikropengawal — menggabungkan pemproses teras seperti CPU32 (yang paling mirip 68020)
dengan ingatan dan peranti I/O asas seperti penukar analog ke digital (ADC), antaramuka bersiri,
pembilang, pemasa dan litar-litar yang seumpamanya dalam satu cip.
1 embedded controller
11
If you found this book useful, donate to the Gaza fund
16. 12 Bab 2. Ciri Perisian 68000
Jadual 2.1: Unit pemprosesan pusat (CPU) dalam siri 68k
Bas Bas
Komponen Tahun Ciri Penting
Data Alamat
MC68000 1979 16 24 Asas siri 68k
MC68008 1982 8 24 Asas siri 68k MC68008
MC68010 1983 16 24 MC68000 dengan ingatan maya
MC68020 1984 32 24 Pemproses 32 bit pertama dalam famili 68k
MC68030 1987 32 32 MC68020 diperbaiki dengan ditambah MMU
MC68040 1990 32 32 MC68030 diperbaiki dengan ditambah FPU
MC68060 1993 64 32 MC68040 dengan 2 ALU dengan 1 FPU dan kelajuan 1
suruhan/kitar
• Sistem dalam cip (SoC) – merupakan mikropengawal yang amat kompleks. Jika mikropengawal
boleh digunakan dalam pelbagai sistem, SoC direka khusus untuk satu produk dan mengandungi
peranti I/O yang kompleks seperti LCD, grafik, USB dan wayarles. Contoh SoC dari siri 68k ialah
peranti Dragonball yang pernah digunakan dalam PDA PalmPilot.
Teknologi pembuatan semikonduktor juga telah berubah. Pada asalnya MC68000 dibuat dengan
teknologi NMOS, tetapi kini peranti yang paling mirip iaitu MC68HC000 dibuat dengan teknologi
CMOS. Penggunan teknologi CMOS mengurangkan lesapan kuasa dari 1 W ke 100 mW sahaja.
Selain peranti-peranti yang menggunakan pemproses berasaskan 68000, terdapat siri mikropengawal
Coldfire yang menggunakan pemproses lebih moden. Dengan menggunakan seni bina dalaman RISC,
pemproses ini mempunyai prestasi yang tinggi pada kos yang rendah.
Keserasian aturcara adalah ciri penting ahli-ahli famili 68k. Aturcara yang ditulis untuk peranti
68000 boleh dilaksanakan oleh ahli-ahli famili yang lebih maju seperti 68020 atau ColdFire. Setelah
memahami suruhan-suruhan MC68000 asas, mudah untuk kita mengaturcara pemproses-pemproses lain
dalam famili ini.
2.2 Model Pengaturcaraan
Model pengaturcaraan menunjukkan daftar CPU yang boleh dicapai oleh pengaturcaraan dan peta
ingatan. Komponen-komponen lain CPU seperti daftar suruhan, ALU, dan unit kawalan tidak
ditunjukkan kerana tidak berada di bawah kawalan pengaturcara.
Pemproses 68000 mengandungi daftar berikut:
• Lapan daftar data2 32 bit (D0-D7)
• Tujuh daftar alamat3 32 bit (A0-A6)
• Dua penuding tindanan4 (USP dan SSP)
• Satu pembilang aturcara5 32 bit (PC)
• Satu daftar status6 16 bit (SR)
2 data register
3 address register
4 stack pointer
5 program counter
6 status register
If you found this book useful, donate to the Gaza fund
17. 2.2. Model Pengaturcaraan 13
Rajah 2.1: Set daftar 68000.
Daftar Data
Daftar data mempunyai pelbagai fungsi tetapi fungsi utamanya ialah menyimpan data yang akan dan
telah diproses oleh ALU. Setiap daftar data bersaiz 32 bit. Setiap bit diberi nombor kedudukan dengan
bit 0 terletak paling bawah dan bit 31 terletak teratas. Secebis data bersaiz 32 bit (kata panjang)
menggunakan keseluruhan daftar. Data bersaiz 16 bit (kata) hanya menggunakan 16 bit bawah, iaitu
bit 0 hingga 15. Data bersaiz 8 bit (byte) hanya menggunakan bit 0 hingga 7. Rujuk Rajah 2.1. Garisan-
garisan kelabu menunjukkan sempadan untuk byte, kata dan kata panjang.
Kesemua daftar ini bersifat umum yakni apa sahaja yang boleh dilakukan terhadap sesuatu daftar
boleh dilakukan terhadap 7 daftar lain. Sesetengah mikropemproses lain mempunyai daftar data yang
setiap satu mempunyai fungsi tertentu — tetapi tidak halnya dengan 68000.
Daftar Alamat
Daftar alamat, A0 hingga A7, digelar sedemikian kerana maklumat yang disimpan di dalamnya
melambangkan lokasi suatu objek dalam ingatan. Setiap daftar alamat bertindak sebagai penuding.
Kita tidak boleh melakukan operasi byte di dalam daftar alamat kerana alamat hanya bersaiz 16 bit
atau 32 bit. Walaupun setiap daftar besarnya 32 bit, 68000 hanya menggunakan 24 bit terendah apabila
mencapai ingatan menghasilkan julat alamat sebesar 224 (16M) byte.
Terdapat suruhan-suruhan 68000 yang beroperasi hanya terhadap daftar alamat. Operasi byte
terhadap daftar alamat tidak dibenarkan. Apabila nilai 16 bit diisikan, ia dipanjangkan ke 32 bit.
Daftar alamat serbaguna, A0 hingga A6, berkelakuan sama. Apa sahaja yang boleh dilakukan kepada
sesuatu daftar boleh juga dilakukan kepada enam daftar lain.
Disebabkan bas alamat 68000 adalah 24 bit, hanya 24 daripada 32 bit yang terdapat dalam daftar
alamat digunakan untuk mencapai ingatan.
If you found this book useful, donate to the Gaza fund
18. 14 Bab 2. Ciri Perisian 68000
Penuding Tindanan
Penuding tindanan merupakan daftar alamat A7 atau SP. Dalam kebanyakan operasi, kelakuannya sama
seperti daftar A0 hingga A6. Bagaimanapun, penuding tindanan mempunyai fungsi yang lebih khusus
iaitu untuk melaksanakan tindanan dan subrutin.
Pemproses 68k mempunyai dua mod pemprosesan iaitu mod penyelia atau mod pengguna. Untuk
menyokong dua mod ini, terdapat dua penuding tindanan iaitu penuding tindanan penyelia (SSP7 )
dan penuding tindanan pengguna (USP8 ). Penuding tindanan semasa diset menurut mod pemprosesan,
dan dirujuk sebagai SP atau A7. Kewujudan dua mod dan dua penuding tindanan membolehkan 68k
melaksanakan sistem pengoperasian9 . Sistem pengoperasian membolehkan sistem terus beroperasi jika
terdapat ralat dalam perisian. Bagi sistem mudah, hanya SSP digunakan.
Pembilang Aturcara
Pembilang aturcara (PC) menuding kepada suruhan yang akan dilaksanakan. Daripada 32 bit yang ada
di sini, hanya 24 bit dapat dikeluarkan ke bas alamat kerana itulah saiz fizikal bas alamat. Pemproses
lanjutan dalam famili 68k menggunakan kesemua 32 bit. Untuk melaksanakan sesuatu suruhan, daftar
PC diisi dengan alamat suruhan tersebut. Semasa suruhan dinyahkod oleh unit kawalan, PC ditambah
supaya menuding ke suruhan yang berikutnya. Dengan itu, setelah suruhan dilaksanakan, CPU telah
mempunyai maklumat yang cukup untuk memungut suruhan berikutnya.
Daftar Status
Daftar status dibahagikan kepada dua seksyen: byte sistem dan byte pengguna. Apabila 68000 berada
dalam mod penyelia, keseluruhan daftar boleh dibaca dan diubah. Dalam mod pengguna, kedua-dua
byte boleh dibaca tetapi hanya byte rendah boleh diubah.
Byte Pengguna
Bit-bit dalam daftar status yang paling kerap digunakan oleh pengaturcara ialah yang terdapat dalam byte
pengguna. Byte pengguna yang dikenali juga sebagai daftar kod syarat10 (CCR). Setiap bit dalam CCR
dinamai bendera. CCR menyimpan analisis operasi CPU terakhir. Fungsi setiap bendera diterangkan
secara ringkas di sini:
• C (carry) — Bernilai 1 apabila terdapat bawa semasa operasi tambah atau pinjam semasa operasi
tambah. Dalam operasi anjak, ia mengandungi bit yang dianjak keluar dari kendalian.
• V (overflow) — Bernilai 1 apabila limpahan aritmetik berlaku. Limpahan aritmetik berlaku
apabila operasi terhadap integer bertanda melebihi ruang yang yang disediakan.
• Z (zero) — Bernilai 1 apabila hasil operasi sifar.
• N (negative) — Bernilai 1 apabila hasil operasi negatif.
• X (extend) — Menyalin nilai C untuk operasi aritmetik. Dalam kebanyakan suruhan lain nilainya
tidak berubah.
Kesan setiap suruhan terhadap nilai bendera tidak sama. Terdapat suruhan yang mengubah kesemua
bendera, ada juga yang mengubah hanya beberapa bit dan ada suruhan yang langsung tidak mengubah
sebarang bendera. Untuk mengetahui kesan sesuatu suruhan terhadap CCR, set suruhan perlu dirujuk.
7 supervisor
stack pointer
8 user
stack pointer
9 operating system
10 condition codes register
If you found this book useful, donate to the Gaza fund
19. 2.3. Organisasi Ingatan 15
Rajah 2.2: Daftar status.
Byte Sistem
Bit-bit dalam byte sistem digunakan bagi mengawal operasi keseluruhan sistem. Butir terperinci
penggunaan bit-bit ini diliputi dalam Bab 13.
• I2 –I0 — Tiga bit serangkai ini dikenali sebagai bit topeng sampukan11 . Bit-bit ini mengawal tahap
sampukan yang disambut oleh CPU. Jika dibenarkan melalui bit-bit ini, sampukan menyebabkan
pemproses meninggalkan sebentar kerja yang sedang dilakukan bagi membuat suatu operasi yang
lebih penting. Ciri ini membolehkan masa CPU digunakan dengan lebih optimum. Nilai I2 -I0
semasa reset ialah 111.
• S (supervisor) — Pemproses 68000 boleh berada sama ada dalam mod pengguna atau mod
penyelia. Jika S=1, pemproses berada dalam mod penyelia. Ada tiga perbezaan mod-mod ini.
Dalam mod penyelia penunjuk tindanan yang digunakan ialah SSP, keseluruhan daftar status boleh
dicapai, dan kesemua suruhan boleh digunakan. Dalam mod pengguna, penunjuk tindanan yang
aktif ialah USP, hanya byte rendah daftar status boleh dicapai dan beberapa suruhan tidak boleh
dilaksanakan. Nilai bit S semasa reset ialah 1.
• T (trace) — Jika T = 1, 68000 beroperasi dalam mod surih: selepas setiap suruhan, pemproses
masuk ke rutin nyahpepijat12 bagi menyemak nilai daftar CPU dan isi ingatan. Nilai bit T semasa
reset ialah 0 dan suruhan-suruhan dilaksanakan secara normal. Bit T hanya boleh diset ke 1 jika
sistem telah disiapkan dengan rutin khas bagi mengendalikannya.
2.3 Organisasi Ingatan
Set suruhan 68000 boleh menyokong pemprosesan secara langsung lima jenis data. Lima jenis data ini
ialah:
• Bit
• Digit BCD13 (4 bit setiap satu, tetapi diproses berpasangan)
• Byte (8 bit)
• Kata14 (16 bit)
11 interruptmask bits
12 debug routine
13 binary coded decimal
14 word
If you found this book useful, donate to the Gaza fund
20. 16 Bab 2. Ciri Perisian 68000
• Kata panjang15 (32 bit)
Suruhan-suruhan boleh memproses satu atau lebih daripada jenis-jenis ini, tetapi tidak semua
suruhan boleh memproses kesemua jenis. Jika sesuatu suruhan boleh memproses lebih daripada satu
jenis data, imbuhan .B (byte), .W (word) atau .L (longword) ditambah kepada mnemonik suruhan untuk
memilih saiz data yang dikehendaki.
Bagaimana dengan aksara, rentetan, titik-apung dan sebagainya? Data daripada jenis ini dijana
melalui pengaturcaraan. Suruhan-suruhan individu tidak boleh mengendalikan data ini sebaliknya
turutan suruhan atau subrutin mesti ditulis jenis-jenis data ini.
Ingatan digunakan untuk menyimpan aturcara dan data. Ini berbeza dengan daftar yang hanya boleh
menyimpan data. Ingatan lebih perlahan tetapi lebih besar berbanding daftar.
Bas alamat peranti 68000 saiznya 24 bit menjadikan 68000 boleh mencapai 224 = 24 x 220 = 16
megabyte ingatan. Ia boleh dilihat sebagai satu senarai petak atau sel, yang setiap satu menyimpan satu
nilai 8 bit atau byte. Sel ingatan dinombor dari sifar sehingga muatan maksimum ingatan. Satu megabyte
bersamaan 220 atau 1048576. Oleh itu 16 megabyte mengandungi 167771216 kedudukan atau alamat.
Rajah 2.3(a) menunjukkan peta ingatan yang menunjukkan satu byte bagi setiap alamat.
Alamat ingatan biasanya dituliskan dalam perenambelasan. Dalam dokumentasi Motorola/Freescale,
nombor perenambelasan dinyatakan dengan simbol $. Jadi julat alamat 68000 ialah dari $000000 (0)
15 longword
(a) Satu byte sebaris. (b) Satu kata sebaris.
Rajah 2.3: Dua kaedah mengatur ingatan.
Rajah 2.4: Menyimpan kata panjang dalam ingatan
If you found this book useful, donate to the Gaza fund
21. 2.4. Pengenalan kepada Set Suruhan 68000 17
hingga $FFFFFF (16777121610 ).
Bas data 68000 saiznya 16 bit. Ini menjadikan pemproses 68000 mampu mencapai sejumlah 16 bit
data ingatan dalam satu langkah. Setiap kata hanya boleh disimpan bermula dari alamat genap. Oleh
itu, kata pertama dalam ingatan mempunyai alamat $000000, kata kedua di $000002, kata ketiga di
$000004 dan seterusnya. Jika kita menganggap ingatan hanya mengandungi kata, julat alamat ingatan
ialah $0000000 hingga $FFFFFE.
Peta ingatan boleh dilukis semula untuk memaparkan satu kata setiap baris. Alamat-alamat berbeza
sebanyak dua dari satu baris ke baris berikutnya. Rajah 2.3(b) memaparkan peta ingatan yang standard
dalam pengaturcaraan 68000.
Sama seperti kata, kata panjang juga mesti bermula dari alamat genap. Alamat-alamat bagi kata-kata
panjang bersebelahan berbeza sebanyak empat. Jika kata panjang pertama mempunyai alamat n, kata
panjang akan berada di alamat n+4, dan seterusnya. Bagaimanapun, n ialah sebarang nilai genap. Rajah
2.4 menunjukkan pandangan ingatan semasa menyimpan kata-kata panjang.
Kata dan kata panjang tidak boleh bermula dari alamat ganjil. Cip 68000 menghalang operasi baca
atau tulis yang melanggar syarat ini (contohnya, cuba membaca kata dari alamat ganjil). Jika operasi
seperti ini dicuba, suatu kekecualian terjadi kerana terdapat ralat alamat. Bab 13 akan menerangkan
lebih lanjut mengenai konsep kekecualian.
Maklumat yang disimpan dalam ingatan terdiri daripada data dan suruhan. Data berbentuk nombor
yang boleh diproses dengan operasi aritmetik atau aksara yang boleh diolah sebagai rentetan. Suruhan
memberitahu pemproses bagaimana data perlu diproses. Semua data dan aturcara berbentuk nombor
perduaan dan pengaturcara perlu memastikan komputer tidak mengelirukan suruhan dengan data.
2.4 Pengenalan kepada Set Suruhan 68000
Set suruhan menentukan operasi yang boleh dipilih untuk fungsi-fungsi pemindahan data, aritmetik,
kawalan aturcara dan sebagainya Mikropemproses 68000 mempunyai cuma 54 suruhan asas, tetapi bila
dikira kesemua variasinya, jumlahnya melebihi 1000! Setiap suruhan mesti mengandungi:
• Kod operasi
• Saiz kendalian
• Kedudukan kendalian
Kod operasi atau opkod menentukan operasi yang perlu dilakukan. Saiz kendalian menentukan sama
ada operasi bertindak kepada data byte, kata atau kata panjang. Kedudukan kendalian memberitahu CPU
alamat berkesan kendalian iaitu bagaimana kendalian dicapai, sama ada dalam daftar atau ingatan.
Jadual 2.2 menyenaraikan set suruhan 68000. Setiap mnemonik melambangkan satu kod operasi.
Satu huruf menentukan panjang kendalian sama ada byte (B), kata (W) atau kata panjang (L).
Contohnya, suruhan bagi memindahkan kendalian 16 bit dari kedudukan punca ke destinasi berupa:
MOVE.W punca,destinasi
yang mana punca dan destinasi menentukan kedudukan kendalian. Setiap suruhan yg boleh dilakukan
oleh 68000 mempunyai opkod berlainan. Suruhan-suruhan boleh dikategorikan menurut jumlah
kendalian iaitu dua kendalian, satu kendalian atau tiada kendalian langsung. Berikut adalah contoh
tiga suruhan yang sah:
MOVE.W D0,D1 ;suruhan dua kendalian
CLR.W D1 ;suruhan satu kendalian
NOP ;suruhan tanpa kendalian
Suruhan-suruhan selalunya dikategorikan menurut operasi asas yang dilakukannya:
If you found this book useful, donate to the Gaza fund
22. 18 Bab 2. Ciri Perisian 68000
• pemindahan data
• aritmetik
• logik
• putar dan anjak
• olahan bit
• BCD
• kawalan aturcara
• kawalan sistem
Sesetengah suruhan mempunyai variasi yang beroperasi secara yang lebih khusus. Jadual 2.3
menunjukkan variasi suruhan asas.
Suruhan-suruhan akan diliputi secara berperingkat-peringkat. Suruhan pemindahan data diliputi
dalam Bab 3 (mod alamat). Suruhan aritmetik, logik, putar dan anjak, olahan bit dan BCD merupakan
suruhan yang mengubah atau memproses data. Ini diliputi dalam Bab 5 (suruhan olahan data). Suruhan
kawalan aturcara diliputi dalam Bab 6 dan Bab 7. Akhir sekali, disebabkan suruhan kawalan sistem
lebih khusus, ia diliputi dalam Bab 13.
2.5 Beberapa Suruhan Asas
Untuk memberi pengenalan kepada set suruhan 68000, tiga suruhan asas diterangkan di bawah iaitu
CLR, MOVE dan ADD.
Suruhan CLR
Suruhan CLR (clear) ialah suruhan satu kendalian dengan format
CLR.s <ea>
yang mana s ialah B, L, atau W dan <ea> adalah alamat berkesan destinasi. Operasi ini memadam atau
meletakkan sifar di destinasi yang ditetapkan. Operasi ini boleh ditakrifkan secara padat menggunakan
RTL16 seperti berikut
0 → destinasi
yang bermaksud gantikan destinasi dengan sifar.
Keterangan lengkap mengenai suruhan CLR didapati dalam Users Manual. Keterangan mengenai
suruhan menjelaskan destinasi yang dibenarkan, dalam bentuk mod alamat17 . Ciri-ciri lain yang
diperincikan termasuk saiz data yang dibenarkan bagi sesuatu suruhan, kesan terhadap CCR, dan format
bahasa mesin.
16 Register Transfer Language
17 addressing mode
If you found this book useful, donate to the Gaza fund
23. 2.5. Beberapa Suruhan Asas 19
Jadual 2.2: Set suruhan 68000.
Mnemonik Makna Fungsi
ABCD Add decimal with extend Tambah BCD dengan bendera X
ADD Add binary Tambah
AND Logical AND AND logik
ASL Arithmetic shift left Anjak aritmetik kiri
ASR Arithmetic shift right Anjak aritmetik kanan
Bcc Branch conditionally Cabang bersyarat
BCHG Bit test and change Uji bit dan tukar
BCLR Bit test and clear Uji bit dan padam
BRA Branch always Cabang sentiasa
BSET Bit test and set Uji bit dan set
BSR Branch to subroutine Cabang ke subrutin
BTST Bit test Uji bit
CHK Check register with bounds Semak daftar dengan batasan
CLR Clear operand Padam kendalian
CMP Compare Banding
DBcc Decrement and branch conditionally Susut dan cabang bersyarat
DIVS Signed divide Bahagi bertanda
DIVU Unsigned divide Bahagi tak bertanda
EOR Exclusive OR ATAU eksklusif
EXG Exchange registers Tukarganti daftar
EXT Sign extend Panjangkan tanda
JMP Jump to effective address Lompat
JSR Jump to subroutine Lompat ke subrutin
LEA Load effective address Isi alamat berkesan
LINK Link stack Kait tindanan
LSL Logical shift left Anjak logik kiri
LSR Logical shift right Anjak logik kanan
MOVE Move source to destination Alih punca ke destinasi
MULS Sign multiply Darab bertanda
MULU Unsigned multiply Darab tak bertanda
NBCD Negate decimal with extend Nafi BCD dengan bendera X
NEG Negate Nafi
NOP No operation Tiada operasi
NOT One’s complement Pelengkap satu
OR Logical OR OR
PEA Push effective address Letak alamat ke tindanan
RESET Reset external devices Reset peranti luar
ROL Rotate left Putar kiri
ROR Rotate right Putar kanan
ROXL Rotate left through extend Putar kiri menerusi X
ROXR Rotate right through extend Putar kanan menerusi X
RTE Return from exception Kembali daripada kekecualian
RTR Return and restore Kembali dan perbetul
RTS Return from subroutine Kembali daripada subrutin
SBCD Subtract decimal with extend Tolak BCD dengan bendera X
Scc Set conditionally Set bersyarat
STOP Stop processor Henti pemproses
SUB Subtract binary Tolak
SWAP Swap data register halves Tukarganti atas/bawah daftar
TAS Test and set operand Uji dan set kendalian
TRAP Trap Perangkap
TRAPV Trap on overflow Perangkap jika limpahan
TST Test operand Uji kendalian
UNLK Unlink stack Buang kaitan tindanan
If you found this book useful, donate to the Gaza fund
24. 20 Bab 2. Ciri Perisian 68000
Jadual 2.3: Variasi set suruhan 68000.
Mnemonik Makna Fungsi
ADDA Add address Tambah alamat
ADDI Add immediate Tambah data terdekat
ADDQ Add quick Tambah pantas
ADDX Add with extend Tambah dengan bendera X
ANDI Logical AND immediate AND data terdekat
ANDI to CCR Logical AND immediate to CCR AND data terdekat dengan CCR
ANDI to SR Logical AND immediate to SR AND data terdekat dengan SR
CMPA Compare address Banding alamat
CMPI Compare immediate Banding data terdekat
CMPM Compare memory Banding ingatan
EORI Logical exclusive OR immediate OR eksklusif data terdekat
Logical exclusive OR immediate OR eksklusif data terdekat
EORI to CCR
to CCR dengan CCR
Logical exclusive OR immediate OR eksklusif data terdekat
EORI to CCR
to SR dengan SR
MOVE from SR Move from SR to destination Alih daripada SR ke destinasi
MOVE to CCR Move from source to CCR Alih daripada punca ke CCR
MOVE to SR Move from source to SR Alih daripada punca ke SR
Alih penunjuk tindanan
MOVE USP Move user stack pointer
pengguna
MOVEA Move address Alih ke daftar alamat
MOVEM Move multiple registers Alih berbilang daftar
MOVEP Move peripheral data Alih data periferal
MOVEQ Move quick Alih pantas
NEGX Negate with extend Nafi dengan bendera X
ORI Logical OR immediate OR data terdekat
ORI to CCR Logical OR immediate to CCR OR data terdekat dengan CCR
ORI to SR Logical OR immediate to SR OR data terdekat dengan SR
SUBA Subtract address Tolak daripada daftar alamat
SUBI Subtract immediate Tolak data terdekat
SUBQ Subtract quick Tolak pantas
SUBX Subtract with extend Tolak dengan bendera X
Contoh:
Jika daftar D0 mengandungi $FA1234DE, apakah isinya selepas suruhan CLR.W D1?
Penyelesaian:
Suruhan CLR.W D1 memadam hanya kata rendah D1. Kata atas tidak terjejas. Oleh itu, D1 menjadi
$FA120000.
Suruhan MOVE
Suruhan pemindahan data terpenting ialah MOVE (gerak). Suruhan ini mempunyai dua kendalian
dengan format
MOVE.s <sea>,<dea>
yang mana s ialah B, L atau W. Kendalian <sea> ialah alamat berkesan punca dan kendalian <dea>
ialah alamat berkesan destinasi. Suatu salinan data di kendalian punca disalin ke kendalian destinasi.
If you found this book useful, donate to the Gaza fund
25. 2.6. Pengenalan kepada Mod Alamat 21
Walaupun suruhan ini diberi nama gerak, operasi sebenarnya menyalin data kerana kendalian punca
tidak berubah. Suruhan ini boleh memindahkan data antara daftar dengan ingatan. RTL untuk suruhan
ini ialah
punca → destinasi
yang bermaksud data dari punca dipindahkan ke destinasi.
Suruhan ADD
Salah satu suruhan aritmetik ialah ADD (tambah). Suruhan ini mempunyai dua kendalian dengan format
ADD.s <sea>,<dea>
yang mana s ialah B, L atau W. RTL untuk suruhan ini ialah
punca + destinasi → destinasi
Kendalian punca ditambahkan kepada kendalian destinasi kemudian hasil tambah disimpan di
kendalian destinasi. Oleh itu, nilai kendalian destinasi berubah selepas suruhan dilaksanakan.
2.6 Pengenalan kepada Mod Alamat
Mod alamat ialah penentu bagi mendapatkan data yang terletak dalam daftar atau dalam ingatan. Mod
alamat memberitahu pemproses bagaimana ia mendapatkan kedudukan kendalian sebenar. Kedudukan
sebenar lebih dikenali sebagai alamat berkesan18 dan dijana semasa perlaksanaan suruhan.
Peranti 68000 adalah pemproses berkuasa tinggi dengan mod-mod alamat yang canggih. Ini
memudahkan pengaturcaraan bahasa himpunan kerana sesuatu kedudukan data boleh dicapai dengan
menggunakan jumlah suruhan yang sedikit. Pemproses 68000 mempunyai 14 mod alamat kesemuanya
yang boleh dikumpulkan kepada enam mod asas.
• Daftar langsung19 — Alamat berkesan ialah daftar yang dinyatakan.
• Mutlak20 — Alamat berkesan terkandung di dalam suruhan dan digunakan secara langsung
(mutlak) tanpa perubahan.
• Daftar tak langsung21 — Alamat berkesan terletak di dalam daftar. Kendalian terletak di alamat
yang terdapat di dalam daftar.
• Terdekat22 — Kendalian adalah sebahagian daripada suruhan dan tidak perlu dicari lagi.
• Relatif pembilang aturcara23 — Alamat berkesan dikira dengan mengambil nilai PC dan
menambah atau menolak nilai sesaran24 . Harus diingati PC sentiasa menuding ke suruhan
berikutnya.
• Tersirat25 — Kendalian ialah daftar yang dinyatakan oleh mnemonik dalam suruhan seperti SR,
USP, SSP atau PC.
18 effective address atau ringkasnya ea
19 register direct
20 absolute
21 register indirect
22 immediate
23 program counter relative
24 offset
25 inherent
If you found this book useful, donate to the Gaza fund
26. 22 Bab 2. Ciri Perisian 68000
Pengalamatan Daftar Langsung
Dalam mod pengalamatan daftar langsung alamat atau lokasi kendalian dinyatakan secara langsung
sebagai sebagai sebahagian daripada suruhan. Oleh itu, tiada sebarang pengiraan diperlukan bagi
mendapatkan alamat berkesan. Dalam pengalamatan daftar langsung, kendalian terletak di dalam suatu
daftar data atau alamat.
Format am bagi suruhan CLR menggunakan pengalamatan daftar data langsung ialah
CLR.s Dn
yang mana kendalian dengan panjang s yang dipadam terletak dalam daftar Dn, yang bermakna salah
satu daripada D0, D1, , D7. Oleh itu
CLR.W D1
memadam kata rendah dalam daftar D1. Suruhan MOVE memerlukan dua kendalian dengan format
MOVE.s Dm,Dn
Oleh itu, suruhan
MOVE.B D0,D1
menyalin D0[7:0] ke D1[7:0].
Pengalamatan Mutlak
Dalam mod pengalamatan mutlak alamat atau lokasi kendalian dinyatakan secara langsung sebagai
sebagai sebahagian daripada suruhan. Oleh itu, tiada sebarang pengiraan diperlukan bagi mendapatkan
alamat berkesan. Dalam pengalamatan mutlak, kendalian terletak di dalam suatu lokasi ingatan.
Kendalian kata dan kata panjang mesti diletakkan dalam lokasi genap.
Format am bagi suruhan CLR menggunakan pengalamatan mutlak ialah
CLR.s XXXX
yang mana kendalian bersaiz s yang dipadam terletak dalam lokasi XXXX di ingatan. Oleh itu
CLR.W $2000
memadam kata yang terletak di alamat 2000 perenambelasan. Nilai XXXX dianggap perpuluhan kecuali
jika diawali oleh simbol $ untuk menandakan bahawa ini ialah nilai perenambelasan. Suruhan
MOVE.W 2000,D2
bermakna salin 16 bit dari lokasi 2000 perpuluhan ke D2[15:0].
Pengalamatan Tak Langsung
Dalam mod pengalamatan tak langsung, suatu daftar alamat digunakan sebagai punca alamat suatu
kendalian dalam ingatan. Isi daftar alamat dianggap penuding ke lokasi tersebut. Kendalian kata
dan kata panjang mesti diletakkan dalam lokasi genap. Mod ini dikenali dengan tanda kurungan yang
mengelilingi nama satu daftar alamat seperti dalam suruhan berikut
CLR.B (A0)
Dalam suruhan ini, satu byte yang terletak di ingatan akan dipadam. Alamat byte ialah apa-apa nilai
yang terdapat dalam daftar A0.
If you found this book useful, donate to the Gaza fund
27. 2.7. Format Suruhan Mesin 23
Pengalamatan Relatif
Dalam mod pengalamatan relatif nilai alamat kendalian didapati dengan menambah suatu sesaran kepada
nilai dalam pembilang aturcara. Alamat berkesan didapati dengan melalui ungkapan
PC + sesaran → ea
Nilai sesaran mempunyai tanda positif atau negatif. Simbol * merujuk kepada nilai semasa pembilang
aturcara. Oleh itu
BRA *+2
menyebabkan operasi cabang ke alamat dua byte ke hadapan.
Pengalamatan Terdekat
Dalam mod pengalamatan terdekat menyatakan suatu nilai malar. Nilai ini terletak di dalam suruhan.
Contohnya
MOVE.B #’m’,D2
Menyalin nilai ASCII untuk m ke dalam daftar D0. Simbol # difahami oleh penghimpun untuk
menandakan pengalamatan terdekat. Mod terdekat tidak dibenarkan sebagai kendalian destinasi.
2.7 Format Suruhan Mesin
Pemproses 68000 melaksanakan aturcara yang mengandungi suruhan bahasa mesin. Pengaturcara
jarang-jarang menulis aturcara dalam bahasa mesin kerana adalah lebih produktif menulis aturcara
bahasa himpunan kemudian menterjemahkannya ke bahasa mesin. Bagaimanapun, kefahaman men-
genai format bahasa mesin membolehkan pengaturcara mempergunakan keupayaan mikropemproses
sepenuhnya.
Setiap suruhan mesin untuk 68000 terdiri daripada sekurang-kurangnya satu kata 16 bit. Ia
boleh mengandungi sehingga empat kata lanjutan. Kata pertama dalam suruhan, iaitu kata operasi26 ,
mengandungi maklumat tentang operasi, saiz data dan mod alamat. Kata lanjutan ditambah kepada
suruhan untuk kendalian terdekat, alamat berkesan punca dan alamat berkesan destinasi. Rujuk
Rajah 2.5 untuk susun atur suatu suruhan.
Bit-bit yang mentakrifkan suruhan bermula dari bit tertinggi (bit 15) kata operasi. Jumlah bit sebenar
bagi takrifan suruhan bergantung kepada suruhan. Pemproses 68000 akan menyemak dahulu nibel
tertinggi (bit 15:12) . Maksud nibel ini ditunjukkan di Jadual 2.4. Baki bit dalam kata operasi digunakan
untuk menjelaskan lagi operasi yang perlu dilakukan.
26 control word
Rajah 2.5: Format suruhan mesin
If you found this book useful, donate to the Gaza fund
28. 24 Bab 2. Ciri Perisian 68000
Jadual 2.4: Kod operasi pemproses 68000.
Bit 15:12 Operasi Bit 15:12 Operasi
0000 Olahan bit/MOVEP/Terdekat 1000 OR/DIV/SBCD
0001 Gerak byte 1001 SUB/SUBX
0010 Gerak kata panjang 1010 Emulator A
0011 Gerak kata 101 CMP/EOR
0100 Pelbagai 1100 AND/MUL/ABCD/EXG
0101 ADDQ/SUBQ/Scc/DBcc 1101 ADD/ADDX
0110 Bcc/BSR 1110 Anjak/Putar
0111 MOVEQ 1111 Emulator F
Rajah 2.6 menunjukkan format am untuk suruhan satu kendalian. Bit 15:6 mentakrifkan operasi
yang akan dilakukan. Bit 5:0 ialah medan alamat berkesan yakni maklumat mengenai kedudukan
kendalian. Ia terbahagi kepada medan mod dan medan daftar. Pemproses 68000 mempunyai 14 mod
alamat. Salah satu mod asas ialah mod daftar langsung, yang mana maklumat yang diolah terletak dalam
daftar data (D0-D7). Mod daftar langsung ditentukan oleh bit 000 dalam medan mod dan nombor daftar
(0-7) dalam medan daftar. Rujuk Jadual 2.5 untuk mod-mod alamat yang dibenarkan.
Rajah 2.6: Format am suruhan mesin satu kendalian.
Jadual 2.5: Mod alamat bagi MC68000
Mod Daftar Mod alamat Sintaks
000 rrr Daftar data langsung Dn
001 rrr Daftar alamat langsung An
010 rrr Daftar alamat tak langsung (ARI) (An)
011 rrr ARI dengan pascatokok (An)+
100 rrr ARI dengan prasusut -(An)
101 rrr ARI dengan ofset N(An)
110 rrr ARI dengan ofset dan indeks N(An,Xm)
111 000 Mutlak pendek $XXXX
111 001 Mutlak panjang $XXXXXXXX
111 010 PC relatif dengan ofset N(PC)
111 011 PC relatif dengan ofset dan indeks N(PC,Xm)
111 100 Terdekat #$XXXX
Untuk menunjukkan bagaimana pola bit suruhan mesin didapati, kita kaji semula suruhan CLR,
MOVE dan ADD.
If you found this book useful, donate to the Gaza fund
29. 2.7. Format Suruhan Mesin 25
Suruhan Mesin untuk CLR
Rajah 2.7a ialah format suruhan mesin untuk operasi CLR. Pola 0100 dalam bit 15:12 digunakan oleh
berbagai-bagai suruhan. Oleh itu, pola 0010 dalam bit 11:8 digabungkan dengan pola 0100 dalam nibel
teratas mentarifkan operasi CLR. Rajah 2.7(b) menunjukkan format mesin untuk suruhan CLR.B D0.
(a) Format am untuk CLR.
(b) Contoh bagi suruhan CLR.B D0.
Rajah 2.7: Suruhan mesin untuk CLR.
Suruhan Mesin untuk MOVE
Suruhan MOVE merupakan suruhan dua kendalian dengan satu kendalian punca dan satu kendalian
destinasi. Format am suruhan MOVE ditunjukkan dalam Rajah 2.8(a). Terdapat tiga format berbeza
untuk setiap saiz data yang dibenarkan.
Dalam suruhan MOVE, alamat berkesan untuk kendalian punca mempunyai format yang sama
dengan alamat berkesan suruhan satu kendalian, iaitu medan mod di kiri (bit 5:3) dan medan daftar
di kanan (bit 2:0). Untuk kendalian destinasi, kedudukan medan terbalik, iaitu medan mod di kanan (bit
8:6) dan medan daftar di kiri (11:9). Keadaan ini mudah mengelirukan jika kita bekerja dalam bahasa
mesin sepenuhnya, tetapi itulah hasil kerja perekabentuk 68000 akibat ingin memudahkan mikrokodnya.
(a) Format am untuk MOVE.
(b) Contoh bagi suruhan MOVE.W D7,D0.
Rajah 2.8: Suruhan mesin untuk MOVE.
If you found this book useful, donate to the Gaza fund
30. 26 Bab 2. Ciri Perisian 68000
Rajah 2.8(b) menunjukkan format mesin untuk suruhan MOVE.W D7,D0 iaitu 0011 0000 0000
0111. Suruhan ini memindahkan kata bawah D7 ke kata bawah D0. Kata bawah D0 akan berubah
manakala kata atas D0 serta keseluruhan D7 tidak berubah.
Suruhan Mesin untuk ADD
Suruhan ADD adalah suruhan dua kendalian tetapi format mesinnya tidak serupa dengan suruhan
MOVE. Untuk suruhan ADD, salah satu atau kedua-dua kendaliannya mestilah daftar data. Nibel teratas
kata operasi ialah 1101. Bit 11:9 menentukan daftar data yang digunakan. Bit 8:6 ialah medan opmod
yang menentukan mod operasi. Jika destinasi hasil tambah ialah daftar data, medan opmod bernilai 000,
001 atau 010 untuk kendalian byte, kata atau kata panjang. Jika destinasi hasil tambah bukan daftar data,
medan opmod bernilai 100, 101 atau 110.
(a) Format am untuk ADD.
(b) Contoh bagi suruhan ADD.W D1,D0.
Rajah 2.9: Suruhan mesin untuk ADD.
If you found this book useful, donate to the Gaza fund
31. 2.8. Latihan 27
2.8 Latihan
1. Apakah saiz bas data dan saiz bas alamat 68000?
2. Berapakah jumlah bit dalam daftar status 68000 yang digunakan? Berapa bitkah yang boleh
digunakan dalam mod pengguna?
3. Apakah daftar yang mesti diberikan satu nilai awal sebelum melaksanakan suatu aturcara?
4. Apakah nilai bendera C dalam jika daftar status berisi nilai $2705?
5. Kata panjang $01020305 terletak di alamat $2020. Byte $03 terletak dalam alamat mana?
6. Berikan format mesin untuk suruhan CLR.B D7.
7. Berikan format mesin untuk suruhan MOVE.L D5,D3.
8. Berikan format mesin untuk suruhan ADD.W D2,D3.
9. D0 berisi $11223344 sebelum MOVE.W #$2211,D0 dilaksanakan. Apakah isinya selepas suruhan
ini?
10. D0 berisi $49828934 dan D1 berisi $92385938 sebelum suruhan MOVE.B D0,D1 dilaksanakan.
Apakah nilai kedua-dua daftar selepas suruhan ini?
11. Apakah yang salah dengan suruhan MOVE.W #200,$FFF?
12. Suatu nilai kata panjang terletak di alamat $2020. Apakah alamat kata panjang yang menuruti
nilai ini?
13. D4 berisi $FFFFFFF sebelum suruhan MOVE #1,D4 dilaksanakan. Apakah isinya selepas
suruhan ini?
14. Apakah perbezaan antara suruhan MOVE.W #$2000,D0 dengan MOVE.W $2000,D0?
15. Jika alamat $1000 berisi 1919 dan D1 berisi $20202020, apakah nilai D1 selepas suruhan ADD
$1000,D1?
16. Tukar suruhan mesin $4241 ke bentuk bahasa himpunan setara.
17. Tukar suruhan mesin $3007 ke bentuk bahasa himpunan setara.
18. Dengan menggunakan nilai perenambelasan untuk kesemua jawapan anda, tentukan operasi dan
lokasi yang terbabit dalam suruhan-suruhan berikut
(a) CLR.L $8000
(b) MOVE.W 2000,3000
(c) MOVE.W $2000,D0
(d) MOVE.W 2000,D0
If you found this book useful, donate to the Gaza fund
32. 28 Bab 2. Ciri Perisian 68000
If you found this book useful, donate to the Gaza fund
33. Bab 3
Bahasa Himpunan
Objektif
• Menerangkan proses penulisan aturcara
• Penggunaan penghimpun
• Menulis aturcara asas
Pengenalan
Bab ini memperkenalkan anda kepada proses penulisan aturcara untuk pemproses 68k. Anda akan meli-
hat langkah-langkah dalam penulisan aturcara bahasa himpunan. Seterusnya anda akan diperkenalkan
kepada penyata-penyata bahasa himpunan.
3.1 Pembangunan Perisian
Pembangunan perisian adalah proses bagi menyediakan aturaca yang boleh dilaksanakan dalam
mikropemproses. Tugas yang perlu mikropemproses lakukan harus ditukarkan ke bentuk bahasa mesin
yang difahami oleh pemproses. Terdapat beberapa fasa iaitu analisis masalah, pengekodan aturcara, dan
perlaksanaan.
Analisis Masalah
Analisis masalah adalah fasa bagi menukarkan tugas yang perlu dilakukan kepada suatu bentuk abstrak
yang tidak khusus kepada mana-mana mesin atau pemproses. Dalam fasa ini, pengaturcara akan
menghasilkan sama ada carta alir (flowchart) atau pseudokod. Salah satu keadah ini boleh digunakan
untuk tujuan rekod dan dokumentasi. Carta alir berbentuk grafik dan lebih mudah difahami. Walaupun
boleh dihasilkan dengan tangan dengan cepat, carta alir dalam bentuk salinan lembut agak sukar
dihasilkan tanpa perisian yang khusus. Pseudokod pula adalah program olok-olok yang biasanya ditulis
dalam bahasa pengaturcaraan yang menyerupai C atau Pascal. Ia tidak boleh dilaksanakan terus kerana
ia menggunakan sintaks C atau Pascal yang dipermudahkan. Kaedah pseudokod lebih mudah bagi
penulisan dokumentasi menggunakan perisian pemprosesan perkataan.
Pengekodan
Fasa kedua dalam penulisan adalah pengekodan. Dalam fasa ini, pengaturcara menyediakan aturcara
dalam bentuk fail punca1 menggunakan penyunting. Aturcara yang terkandung dalam fail ini boleh
1 source file
29
If you found this book useful, donate to the Gaza fund