Professional Documents
Culture Documents
- Mod alamat ialah pelbagai kaedah mendapatkan data yang terletak dalam daftar atau dalam
ingatan. Untuk setiap kendalian, mod alamat memberitahu pemproses bagaimana ia perlu
mencari atau mengira alamat kendalian sebenar. Alamat sebenar dinamai alamat berkesan dan
dijana semasa pelaksanaan suruhan.
- Dengan adanya ragam pengalamatan ini, pengaturcara dapat mempelbagaikan corak penulisan
program supaya pelaksanaannya adalah cepat, memudahkan operasi dan menjimatkan
penggunaan ruang ingatan.
- Pemproses 68000 mempunyai 14 mod alamat kesemuanya yang boleh dikumpulkan kepada
enam mod asas :
2. Mod Terdekat (Immediate) MOVE.B #$40,D0 Data diketahui. Contoh pertama menyatakan nilai
MOVE.W #40,D5 $40 adalah data dalam heksadesimal yang akan
MOVE.L #$30,D7 dipindahkan ke D0. Contoh kedua pula
menyatakan nilai 40 adalah data dalam nombor
desimal yang akan dipindahkan ke D5.
3. Mod Mutlak (absolute) MOVE.B $7000,D3 Menggunakan alamat sebenar bagi source atau
MOVE.L D4,$1234 destinasi
5. Mod Daftar Alamat Tak MOVE.L D2,(A0) Address register memegang alamat bagi lokasi
Langsung MOVE.W (A3),D7 memori yang mengandungi operand data.
(address register indirect) Contoh pertama menyatakan bahawa kandungan
data di alamat yang terdapat di A0 akan diubah
dengan data yang terdapat di D2
6. Mod Relatif
- Mod Pascatokok MOVE.W -(A6),D0 Alamat A6 akan ditolak 1,2 atau 4 bergantung
kepada saiz data (B, W atau L). Data di A6 baru
akan dipindahkan ke D0
- Mod Prasusut MOVE.W (A6)+,D0 Cara pemindahan data ini sama dengan Address
Register Indirect kecuali address register
tersebut akan ditambah selepas data
dipindahkan. Saiz penambahan 1,2 atau 4
bergantung kepada saiz data (B, W atau L)
1
4.1.1 Mod Tersirat
- Sesetengah suruhan 68000 tidak memerlukan sebarang kendalian dan ada pula suruhan yang
merujuk daftar tanpa menyebut daftar yang digunakan.
- Contoh, RTS menyebabkan kawalan dikembalikan dari subrutin ke aturcara pemanggil
menggunakan daftar SP.
- Dalam pengalamatan terdekat sesuatu suruhan mengandungi kod operasi dan kendalian.
Kendalian ini boleh digunakan serta-merta (kedudukan terdekat) dan tiada capaian lain ke
ingatan diperlukan. Ia berguna untuk memuat atau mengubah daftar-daftar CPU dengan pantas.
Contohnya
MOVE.B #’m’, D0
- Menyalin nilai ASCII untuk ‘m’ ke dalam daftar D0. Simbol ‘#’ difahami oleh penghimpun untuk
menandakan pengalamatan terdekat. Contoh lain :
MOVE.B #$40,D0
MOVE.W #$40,D5
MOVE.W #$30,D7
- Data diketahui. Contoh pertama, kedua dan ketiga menyatakan data dalam nilai nombor hex
dipindahkan ke D0, D5 dan D7.
- Dalam mod pengalamatan mutlak alamat atau lokasi kendalian dinyatakan secara langsung
sebagai sebahagian daripada suruhan. Oleh itu, tiada sebarang pengiraan diperlukan bagi
mendapatkan alamat berkesan. Dalam pengalamatan mutlak, kendalian terletak di dalam suatu
lokasi ingatan.
- Dalam mod pengalamatan daftar langsung, alamat atau lokasi kendalian dinyatakan secara
langsung sebagai sebahagian daripada suruhan. Alamat ini dibaca oleh CPU semasa membaca
suruhan dan boleh terus digunakan. Oleh itu, tiada sebarang pengiraan diperlukan bagi
mendapatkan alamat berkesan. Dalam pengalamatan daftar langsung, kendalian terletak di
dalam suatu daftar data atau alamat.
2
(i) medan alamat yang kecil sahaja diperlukan
(ii) tidak perlu merujuk ke ingatan
- Oleh sebab-sebab di atas, masa capaian data adalah pantas. Keburukan bilangan daftar yang
terdapat dalam sistem selalunya terhad.
- Pengalamatan tak langsung (indirect addressing) ialah satu kaedah pencapaian data yang
kompleks. Ragam ini boleh dibahagikan kepada dua jenis: daftar tak langsung dan ingatan tak
langsung.
- Dalam ragam pengalamatan ingatan tak langsung (indirect memory addressing) suruhan
mengandungi satu alamat tak langsung yang menunjuk ke satu alamat ingatan yang
mengandungi alamat berkesan bagi kendalian.
- Dalam suruhan pengalamatan daftar tak langsung (indirect register addressing) opkod memilih
daftar dalaman yang mengandungi alamat berkesan yang digunakan. Suatu daftar alamat
digunakan sebagai punca alamat suatu kendalian dalam ingatan. Isi daftar alamat dianggap
penuding ke lokasi tersebut. Mod ini dikenali dengan tanda kurungan yang mengelilingi nama
satu daftar alamat.
- Terdiri daripada Mod Daftar Alamat Tak Langsung sahaja (daftar data tiada)
CLR.B (A0) ; isi daftar A0 ialah alamat bagi lokasi ingatan yang
dipadam.
Contoh 1 : MOVE.L D2, (A0) ; A0 memegang alamat bagi lokasi memori yang
mengandungi kendalian/operand data. Kandungan
data di alamat yang terdapat di A0 akan diubah dengan
data yang terdapat di D2.
- Dalam pengalamatan relative alamat berkesan didapati dengan mencampur satu nombor
(dipanggil offset) ke atas nilai pembilang aturcara terkini.Nilai offset menuruti opkod dalam
suruhan. Ragam ini kerap digunakan bagi melakukan operasi cabang jarak dekat bagi gelung-
gelung pendek
3
Contoh 1 :
Contoh 2 :
- Membina aturcara bermakna menyelesaikan sesuatu masalah. Maka terdapat beberapa langkah
yang perlu di dalam proses membina aturcara :
Start terminal
Input/Output
Operation/Process
Logical selection
Sub-routine
Connector
Connecting arrows
End terminal
4
(iii) Pengaturcaraan
- Berdasarkan gambarajah proses, aturcara boleh mula dibina.
- Contoh :
ORG $7000
MOVE.B #12,D0
MOVE.B #34,D1
ADD.B D0,D1
MOVE.B D1,$7050
END