modul-e4160-unit-3-set-suruhan-mikropemproses-pengawalmikro-dan-membina-aturcara
Upcoming SlideShare
Loading in...5
×
 

modul-e4160-unit-3-set-suruhan-mikropemproses-pengawalmikro-dan-membina-aturcara

on

  • 2,531 views

 

Statistics

Views

Total Views
2,531
Views on SlideShare
2,531
Embed Views
0

Actions

Likes
1
Downloads
46
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

modul-e4160-unit-3-set-suruhan-mikropemproses-pengawalmikro-dan-membina-aturcara modul-e4160-unit-3-set-suruhan-mikropemproses-pengawalmikro-dan-membina-aturcara Document Transcript

  • BAB 4.0 : SET SURUHAN MIKROPEMPROSES/PENGAWALMIKRO DAN MEMBINA ATURCARA 4.1 Mod/Ragam Pengalamatan - 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 : Ragam Pengalamatan Contoh Suruhan Penerangan 1. Mod Tersirat RTS Terdiri daripada opkod sahaja 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 4. - Mod Daftar Data MOVE.L D0,D7 Data Register merupakan operand Langsung (data register direct) - Mod Daftar Alamat MOVE.L A3,A1 Address register merupakan operand Langsung MOVE.L A4,D5 (address register direct) 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) Jadual 4.1 : Mod Ragam Pengalamatan 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. 4.1.2 Mod Terdekat (immediate) - 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. 4.1.3 Mod Mutlak (absolute) - 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. Contoh 1 : CLR.W $2000 ; memadam kata yang terletak di alamat 2000 Contoh 2 : MOVE.W $2000,D2 ; bermakna salin 16 bit dari lokasi 2000 ke D2 Contoh lain : MOVE.B $7000,D3 MOVE.L D4,$1234 ; Bermakna menggunakan alamat sebenar bagi source atau destinasi 4.1.4 Mod Pengalamatan Daftar Langsung (direct) - 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. - Kebaikan menggunakan pengalamatan daftar : 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. - Terbahagi kepada dua : (i) Mod Daftar Data Langsung (ii) Mod Daftar Alamat Langsung Contoh 1 : CLR.W D1 ; memadam kata rendah dalam dafatr D1. Contoh 2 : MOVE.B D0, D1 ; salin D0 ke D1 (suruhan MOVE memerlukan dua kendalian dengan format 4.1.5 Mod Pengalamatan Tak Langsung (indirect) - 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) - Format cara penulisannya : 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. 4.1.6 Mod Relatif - 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 - Terdiri daripada mod pascatokok dan mod prasusut 3
  • Contoh 1 : ADD.W (A6)+,D4 ; mod pascatokok ; kandungan A6 digunakan sebagai penunjuk lokasi data di memori. Data di lokasi memori tersebut ditambahkan ke data di dalam D4. Kemudian, berlaku penambahan sebanyak 2 terhadap kandungan A6. Hasil operasi disimpan di D4. Contoh 2 : ADD.W -(A6),D4 ; mod prasusut ; penambahan sebanyak 2 terhadap kandungan A6. Kandungan baru A6 digunakan sebagai penunjuk lokasi data di memori. Data di lokasi memori tersebut ditambahkan ke data di dalam D4. Hasil operasi disimpan di D4. 4.2 Konsep membina aturcara - Membina aturcara bermakna menyelesaikan sesuatu masalah. Maka terdapat beberapa langkah yang perlu di dalam proses membina aturcara : (i) Definisi Masalah - Seseorang pengaturcaraan mesti mengetahui/menentukan perkara-perkara yang hendak di selesaikan sebelum menulis program. Contoh : Masukkan data bagi dua nombor. Kedua nombor tersebut di campurkan dan di simpan di memori. (ii) Rekabentuk Logikal - Permasalahan yang hendak di selesaikan ditukar ke bentuk gambarajah proses (flow chart). 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 (iv) Dokumentasi aturcara - Contoh : ORG $7000 ; program bermula di alamat $7000 MOVE.B #12,D0 ; data desimal 12 disimpan di D0 MOVE.B #34,D1 ; data desimal 34 disimpan di D1 ADD.B D0,D1 ; D0 + D1 D1 MOVE.B D1,$7050 ; kandungan byte D1 disimpan di alamat $7050 END ; program ditamatkan (v) Analisis aturcara 5