1109 kul11a

Post on 26-Jul-2015

843 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

BAHASA HIMPUNAN

Penghimpun dan PengkompilAturcara A Pascal

Pengkompil

Versi A Bahasa Himpunan

Versi A Kod Mesin Versi sebenar yang akan dilaksanakan

Penghimpun

Hubungan antara bahasa aras tinggi dan bahasa aras rendah

Kelebihan Pengaturcaraan Bahasa Himpunan Menyediakan lebih kawalan dalam

mengendalikan keperluan perkakasan tertentu

Menjana modul perlaksanaan yang lebih padat dan kecil

Masa perlaksanaan yang lebih cepat

Perlaksanaan aturcara bahasa himpunan

Perpustakaan

Editor:Menulis aturcara bahasa himpunan

Kod sumber

Penghimpun

Kod Objek

Pemautan

Kod terlaksana

Perlaksanaan

Sintak Bahasa Himpunan

Terdapat dua jenis penyataan– Arahan:contohnya MOV dan ADD, yang

akan diterjemahkan oleh penghimpun kepada kod mesin

– Petunjuk:mengarahkan penghimpun untuk melaksanakan kerja yang spesifik seperti mencipta prosedur atau mengalokasikan ruang memori untuk pembolehubah

[LABEL/NAMA] OPERASI [OPERAN] [;KOMEN] Contoh penyataan:

– Petunjuk: MAIN PROC ;nama,operasi– Arahan : MOV AX,O ;operasi,2 operan

Dapat dilihat bahawa penyataan arahan bahasa himpunan adalah bentuk

KOD OPERASI OPERAN

Sintak Bahasa Himpunan

Medan Nama/Label Digunakan untuk namakan

arahan,nama prosedur atau nama pembolehubah

Panjang daripada 1-31 aksara Boleh mengandungi huruf,nombor, dan

aksara khas seperti ? . @ _ $ %. Ruang kosong tidak dibenarkan dan

aksara khas mestilah pada permulaan nama

Medan Nama/Label

Contoh nama yang sah– KAUNTER1– @aksara– JUMLAH_DIGIT– $100– OK?– .CUBA

Contoh nama yang tidak sah– DUA

PERKATAAN(ruang kosong)

– 3abc(aksara awal nombor)

– A42.05(“.” bukan aksara pertama)

Medan Operasi Bagi arahan,

mengandungi kod operasi (opkod) dalam bentuk mnemonics (gabungan unik huruf-huruf)

Penghimpun akan menterjemahkan kod operasi simbolik kepada kod operasi/opkod bahasa mesin

Contoh opkod ialah MOV, ADD dan SUB.

Bagi direktif, mengandungi kod operasi pseudo(pseudo-op)

Tidak akan diterjemahkan kepada kod mesin tetapi hanya memberitahu penghimpun untuk melakukan sesuatu

Medan Operan Untuk arahan, medan operan

menspesifikasikan data yang akan dilaksanakan oleh operasi

Boleh mengandugi 0, 1 atau 2 operan Bagi yang mengandugi 2 operan, operan 1

adalah operan destinasi (terdiri daripada daftar atau lokasi ingatan di mana hasil akan disimpan)

Operan kedua ialah operan sumber

Medan Komen

Meningkatkan pemahaman aturcara Bermula dengan tanda ; Boleh mengandungi aksara bercetak,

termasuk ruang kosong. Contoh :

– ; ini adalah komen

Data Aturcara

Penghimpun menterjemahkan semua perwakilan data ke dalam bentuk nombor ninari

Dalam aturcara bahasa himpunan data boleh diwakilkan dalam bentuk binari, desimal, heksadesimal dan aksara

Nombor

Di tulis dalam bentuk jujukan bit diikuti dengan “B” atau “b” (optional)

Begitu juga dengan nombor heksa, desimal

Contoh: Perwakilan sah

– 11011 (Desimal)– 11011B (Binari)– -2322D (Desimal)

Perwakilan tidak sah– 1,234 (mengandungi aksara

bukan digit)– 1B4D (tiada B dalam nombor

desimal)

Aksara

Harus ditulis dalam kurungan ‘ ’ atau “ ” Akan diterjemahkan oleh penghimpun

kepada bentuk ASCII yang sepadan dengannya

Contoh: penggunaan “A” adalah sama dengan 41h (kod ASCII bagi “A”)

Pseudo-op Penakrifan pseudo-op

Pseudo-op Ditakrifkan sebagai

DB Define byte

DW Define word

DD Define doubleword (2 perkataan berturutan)

DQ Define quadword (4 perkataan berturutan)

Pembolehubah

Setiap pembolehubah mempunyai jenis data dan alamat yang akan diumpukkan oleh aturcara

Diisytiharkan seperti– nama DB nilai-awal– nama DW nilai-akhir

i. Pembolehubah Bait– Pernyataan untuk mentakrif berbentuk

nama DB nilai-awal– Cth: ALPHA DB 4– Satu ruang bersaiz 1 bait akan disediakan dgn

nama ALPHA dan dimulakan dgn nilai 4– Arahan DUP (duplicate) – untuk menyalin

semua aksara mengikut bilangan yang diberi, tanpa menulis berulang kali

– Cth:• DATA1 DB OFFH,OFFH,OFFH,OFFH ditulis

sebagai• DATA1 DB 4 DUP (OFFH)

ii. Pembolehubah Perkataan

Pernyataan untuk mentakrif berbentuknamaDW nilai-awal

contoh:

WRD DW -2

Tatasusunan

Satu turutan ingatan samada dalam bait atau perkataan

Cth: utk definisi 3-bait tatasusunan B_ARRAY yang memberi nilai awalan 10h, 20h dan 30h ditulis

• B_ARRAY DB 10H, 20H, 30H

Andaikan penghimpun menyediakan alamat offset 0200H kepada B_ARRAY, ingatan adalah seperti berikut

Simbol Alamat Kandungan

B_ARRAY 200H 10H

B_ARRAY 201H 20H

B_ARRAY 202H 30H

Jika tatasusunan menggunakan DW, andaikan penghimpun menyediakan alamat offset 0300H kepada W_ARRAY:

W_ARRAY DW 1000, 40, 50, 523Simbol Alamat Kandungan

W_ARRAY 0300H 1000D

W_ARRAY+2 0302H 40D

W_ARRAY+4 0304H 50D

W_ARRAY+6 0306H 523D

Rentetan aksara Tatasusunan kod ASCII boleh dilihat sebagai satu

rentetan aksara Cth:

HURUF DB ‘ABC’

sama dengan

HURUF DB 41H, 42H, 43H Penggunaan huruf kecil dan huruf besar adalah

berbeza Cth :

HURUF DB ‘ABC’ = HURUF DB 41H,42H,43H

HURUF DB ‘abc’ = HURUF DB 61H,62H,63H

Gabungan aksara dan nombor juga dibenarkan

Cth:

MSGDB ‘HELLO’,0AH,0DH,’$’

sama dengan

MSG DB 48H,45H,4CH,4FH,0AH,0DH,24H

Pemalar

Nama simbolik akan diberikan kepada pemalar yang digunakan

Arahan EQU(equates) digunakan Sintak : nama EQU pemalar Contoh pernyataan

LF EQU 0AH

Pernyatan ini mengumpukkan nama LF kepada 0AH (kod ASCII) untuk line feed.

Semua penggunaan 0AH boleh digantikan dengan LF dan memberikan hasil yang sama

Contoh:– MOV DL, 0AH

dan– MOV DL, LF

Simbol pada sebelah kanan EQU boleh terdiri daripada rentetan aksara

Contoh:

PROMPT EQU “TAIP NAMA ANDA” Pernyataan

MSG DB PROMPT

memberi hasil yang sama seperti

MSG DB “TAIP NAMA ANDA” Tiada ruang ingatan untuk arahan EQU

Struktur aturcara

Kod, data dan timbunan distrukturkan sebagai segemn-segmen aturcara

Akan diterjemahkan ke dalam segmen ingatan oleh penghimpun

top related