Pemrograman MC6805

MAIN PAGE

KONSEP MIKROKONTROLER
Pendahuluan
Sistem Input
Sistem Output
CPU
Clock dan Memori
Program Komputer
Sistem Mikrokontroler

MEMORI & I/O PARALEL
Pendahuluan
Jenis-jenis Memori
I/O Tipe Memori
Register Kontrol
Peta Memori

ARSITEKTUR KOMPUTER
Pendahuluan
Register-register CPU
Reset

PEMROGRAMAN MC6805
Pendahuluan
Alamat IMEDIATE
Alamat INHERENT
Alamat EXTENDED
Alamat DIRECT
Alamat INDEXED
Alamat RELATIVE
Assembler Directives
File Kode Objek
Rangkuman Instruksi

PERIPERAL ON-CHIP
Port Serial
ADC
EEPROM
Timer
COP

Mode Pengalamatan EXTENDED

Dalam mode pengalamatan extended, alamat dari operan terkandung dalam dua byte yang mengikuti kode operasi. Pengalamatan extended ini dapat digunakan untuk mengakses semua lokasi dalam memori mikrokontroler termasuk I/O, RAM, ROM, dan EPROM. Karena itu operasi ini membutuhkan tiga byte, satu untuk kode operasi, dan dua untuk alamat dari operan.

0200 C6 03 65 LDA $0365

Pertama CPU akan membaca kode operasi C6 yang menginstruksikan akumulator untuk menggunakan mode pengalamatan extended. Kemudian CPU akan membaca $03 dari lokasi memori $0201dan diterjemahkan sebagai alamat high-order. Setelah itu CPU membaca $65 dari lokasi $0202 dan diterjemahkan sebagai low-order dari alamat. Terakhir, CPU membangun alamat lengkap $0365 dan meletakkannya dalam bus alamat dan kemudian melakukan operasi read sehingga isi memori dengan alamat $0365 akan tersedia dalam bus data. Tabel 5.3 di bawah ini akam memperlihatkan semua instruksi yang dapat digunakan dalam mode pengalamatan extended.

Instruksi-instruksi Mode Pengalamatan EXTENDED

Instruksi

Mnemonic

Add with Carry
Add (without carry)
Logical AND
Bit Test Memory with Accumulator

ADC
ADD
AND
BIT

Compare Accumulator with Memory
Compare Index Register with Memory
Exclusive OR Memory with Accumulator
Jump

CMP
CPX
EOR
JMP

Jump to Subroutine
Load Accumulator from Memory
Exclusive OR Memory with Accumulator
Jump

JSR
LDA
LDX
ORA

Substract with Carry
Store Accumulator in Memory
Store Index Register in Memory
Substract (without borrow)

SBC
STA
STX
SUB

Mode Pengalamatan DIRECT

Mode pengalamatan direct mirip dengan mode pengalamatan extended kecuali bahwa upper byte dari alamat operan selalu dianggap $00. Karena itu, hanya lower-byte dari operan yang diperlukan untuk dimasukkan dalam instruksi. Pengalamatan direct menyebabkan efisiensi alamat dalam 256 byte pertama dalam memori. Area ini dinamakan dengan direct page dan mengandung on-chip RAM dan register I/O. Pengalamatan direct ini efisien bagi memori program dan waktu eksekusi. Dalam mode ini instruksi terdiri dari dua byte, satu untuk kode operasi dan satu lagi untuk alamat operan. Contoh:

0200 B6 E0 LDA $E0

Pertama CPU akan membaca kode operasi $B6 yang menginstruksikan CPU untuk menggunakan mode pengalamatan direct. Kemudian CPU membaca $E0 dari lokasi memori dengan alamat $0201. Harga $E0 ini diterjemahkan sebagai low-order dari alamat dalam direct page ($0000 sampai $00FF). Setelah itu CPU menyusun alamat lengkap $00E0 dengan menganggap high-order byte alamat sebagai $00. Alamat lengkap $00E0 ini kemudian diletakkan dalam bus alamat dan kemudian proses pembacaan data pun dikerjakan. Tabel 5.4 menampilkan semua instrusi yang bisa dikerjakan dengan mode pengalamatan direct ini.

Instruksi-instruksi Mode Pengalamatan DIRECT

Instruksi

Mnemonic

Add with Carry
Add (without carry)
Logical AND
Arithmetic Shift Left

ADC
ADD
AND
ASL

Arithmetic Shift Right
Clear Bit in Memory
Bit Test Memory with Accumulator
Branch if Bit n is Clear

ASR
BCLR
BIT
BRCLR

Branch if Bit n is Set
Set Bit in Memory
Clear
Compare Accumulator with Memory

BRSET
BSET
CLR
CMP

Complement (invert all bits)
Compare Index Register with Memory
Decrement
Exclusive OR Memory with Accumulator

COM
CPX
DEC
EOR

Increment
Jump
Jump to Subroutine
Load Accumulator from Memory

INC
JMP
JSR
LDA

Load Index Register from Memory
Logical Shift Left
Logical Shift Right
Negate (two’s complement)

LDX
LSL
LSR
NEG

Inclusive OR
Rotate Left thru Carry
Rotate Right thru Carry
Substract with Carry

ORA
ROL
ROR
SBC

Store Acuumulator in Memory
Strore Index Register in Memory
Substract (without borrow)
Test for Negative or Zero

STA
STX
SUB
TST

| IMEDIATE | INHERENT | EXTENDED | DIRECT | INDEXED | RELATIVE |
| Assembler Directives | File Kode Objek | Rangkuman Set Instruksi |


Contact me at: hsutanto@milis.stts.edu

Copyright (c) Hermawan Sutanto
Written in January 1998
Copying content must have permission from me !

Visit Our Sponsor
adClix Sponsorship Information