Mpio FD100 Manuel d'utilisateur Page 33

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 50
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 32
naik berurutan. Waktu MCU reset atau
baru dinyalakan, Program Counter diisi
dengan address dari reset vector (vector
dibahas nanti). Pada instruksi JMP (Jump
- loncat ke suatu lokasi manapun) atau
Branch (sejenis Jump, lebih irit karena 1
Byte tapi tidak bisa jauh dari lokasi
terakhirnya) isinya digantikan dengan
address baru tujuan. Pada Call subroutine
atau Interrupt, isinya digantikan dengan
address yang di Call tapi sebelum loncat,
address lama dicatat di stack (dalam
RAM) sebagai tujuan kembali setelah
selesai melakukan call atau interrupt.
Stack adalah tumpukan sementara dengan
mekanisme secara LIFO (Last In First
Out). Data yang terakhir disimpan akan
keluar paling awal seperti menyimpan
barang di dalam sumur. Bedanya kalau
barang di sumur setelah diambil kembali
akan hilang isinya, di stack cuma di-copy
sedangkan isinya tidak perlu dihapus
karena adanya register khusus Stack
Pointer sebagai penunjuk lokasi di stack
yang dianggap sebagai lokasi kosong
tertinggi di tumpukan. Di atasnya di-
anggap tidak ada. Stack Pointer juga bisa
berfungsi sebagai penyimpan sementara,
tetapi harus hati-hati jangan sampai
terlupa meletakkan tanpa mengambil atau
sebaliknya karena akan mengacaukan fungsi RTS (ReTurn
from Subroutine - kembali dari call) dan RTI (ReTurn from
Interrupt - kembali dari interrupt).
Subroutine adalah sekelompok instruksi yang dipakai ber-
ulang-ulang. Daripada membuat routine tersebut beberapa
buah, lebih efisien bila dia dibuat sebagai bagian terpisah dan
cukup dipanggil bila diperlukan. Ini sangat menghemat
memory (ROM).
Interrupt adalah mekanisme prioritas. Sesuatu yang priori-
tasnya tinggi dan harus segera dilayani dimasukkan dalam
interrupt. Keadaan yang terjadi sekali sekali seperti penekan-
an tombol yang harus dilayani secepatnya agar tidak sampai
terlewatkan.
Analoginya sebagai berikut: saat sedang membaca buku, te-
lepon berbunyi (dengan asumsi telepon dianggap penting),
maka baca buku di-stop sambil ditandai, angkat telepon,
bicara, setelah selesai, lanjutkan baca pada tanda tadi.
Baca buku sebagai pekerjaan rutin, sedangkan telepon adalah
interruptnya. Selesai interrupt, lanjutkan hal rutin. Tetapi
lokasi terakhir bacaan dicatat di stack agar bisa dilanjutkan.
Call subroutine (BSR Branch to SubRoutine, JSR Jump to
SubRoutine) dan interrupt sama-sama mencatat address
terakhir agar bisa melanjutkan tugas yang tertunda, tetapi
subroutine masih dalam lingkup yang sama dengan kondisi
normal. Analoginya: waktu membaca Bab 2 kita harus me-
lompat ke Appendix (berisi penjelasan tambahan) agar bisa
memahami yang sedang dibaca. Interrupt keluar dari kondisi
normal, makanya ada proses tambahan yaitu penyimpanan
isi register CPU (Index, Accumulator, CCR). Register H ha-
rus disimpan secara manual oleh programmer karena alasan
kompatibelitas dengan HC05 (HC05 tidak punya register H)
yang merupakan orang tua HC08.
Program yang akan kita pelajari, tulis dan isi ke ROM terdiri
dari instruksi dan data yang dalam bahasa MCU disebut OP-
CODE (OPeration CODE) dan OPERAND. Ada yang hanya
opcode, hanya data (sekelompok operand biasanya dalam
bentuk tabel), atau opcode dan operand. Opcode yang inti-
NeoTekno
32
NeoTek Apr/Mei 2003
Gambar 3. Memory map HC08, I/O, RAM dan ROM pada satu map.
Gambar 4. Register CPU yang tidak masuk memory map.
Vue de la page 32
1 2 ... 28 29 30 31 32 33 34 35 36 37 38 ... 49 50

Commentaires sur ces manuels

Pas de commentaire