BENTUK PERINTAH DALAM BAHASA RAKITAN / ASSEMBLER
1.
KARAKTERISTIK PERINTAH BAHASA ASSEMBLER
- Assembly Directive
(yaitu merupakan kode yang menjadi arahan bagi assembler/compiler untuk menata
program)
- Instruksi (yaitu
kode yang harus dieksekusi oleh CPU mikrokontroler dengan melakukan operasi
tertentu sesuai dengan daftar yang sudah tertanam dalam CPU)
2.
JENIS OPERAND
Instruksi
mesin melakukan operasi terhadap data. Pada umumnya data dikategorikan kedalam
angka, karakter dan data logika.
a. Angka
Setiap
bahasa mesin mengandung tipe data numerik. Umunya terdapat tiga tipe data angka
yang ada pada komputer yaitu:1. Binary integer2. Binary floating point3.
Desimal Semua operasi pada internal komputer berupa data biner, namun user
berinteraksi dengan bilangan desimal. Maka perlu dilakukan konversi dari
desimal ke bilangan biner pada input dan konversi dari biner ke desmimal pada
output. Bilangan desimal direpresentasikan dalam 4 bit kode biner maka 0=0000,
1=0001,...,8=1000, 9=1001. Sedangkan untuk desimal 246 = 0000 0010 0100 0110.
Untuk bilangan negatif direpresentasikan dengan 4 bit yang diletakkan pada awal
atau akhir string. Standar tanda yang digunakan adalah 1100 untuk bilangan
positif dan 1101 untuk tanda bilangan negatif.
b. Karakter
Umumnya
bentuk data adalah teks atau kumpulan karakter. Sedangkan sistem komputer
didesain untuk data biner. Maka sejumlah kode dalam urutan bit perlu di
tentukan untuk merepresentasikan sebuah karakter. Saat ini standar kode yang
digunakan untuk merepresentasikan karakter adalah American Standart Code for
Information Interchange(ASCII). Setiap karakter pada kode ASCII
direpresentasikan dengan 7 bit biner yang unik. Maka terdapat 128 karakter yang
berbeda yang dapat direpresentasikan. Selain itu juga ada yang menggunakan
Extended Binary Coded Decimal Interchange Code (EBCDIC) yang digunakan oleh IBM
mainframe.
c. Data logika
Pada
umumnya setiap word atau yang lain merupakan satu unit data yang masing masing
unit data memiliki nilai 0 atau 1. Ketika dipandang dengan cara ini, maka data
tersebut dianggap sebagai data logika. Data logika hanya bernilai true “1” atau
false “0”.
3.
JENIS OPERASI
a. Transfer data
Tipe
instruksi mesin yang paling dasar yaitu instruksi transfer data. Pada instruksi
transfer dataharus ditentukan beberapa hal. Pertama, penentuan lokasi sumber
dan tujuan dari operan.Lokasinya dapat terletak di memori, register atau stack.
Kedua, panjang data yang akan ditransfer harus diketahui. Ketiga, sama untuk
semua instruksi dengan operan, cara pengalamatannya harus ditentukan.
b. Aritmatika
Kebanyakan
mesin menyediakan operasi aritmatika / perhitungan dasar sepertitambah,
kurang,kali dan bagi. Dimana operasi tersebut disediakan untuk menangani
bilanganinteger bertanda (fixed-point), juga bilangan floating point atau
desimal. Berikut contoh lain operasi yang termasuk jenis instruksi dengan satu
operan:
·
Absolute : mengambil nilai absolut/mutlak dari operan
·
Negate : menegasikan operan
·
Increment: menambahkan 1 nilai ke operan
·
Decrement: mengurangi 1 nilai dari operan
c. Logika
Kebanyakan
mesin juga menyediakan berbagai operasi untuk memanipulasi setiap bit dari
sebuah word atau unit (yang dapat diberi alamat) lainnya, operasi ini juga di
sebut "bit twiddling". Bit-bit tersebut didasarkan pada operasi
boolean. Beberapa operasi logika dasar dapat dilakukan pada data boolean atau
biner yang ditunjukkan pada tabel berikut.
d. Konversi
Instruksi
konversi adalah instruksi-instruksi yang mengubah format atau beroperasi pada
format data.Contohnya yaitu mengkonversi dari desimal ke biner.
e. Input/Output
Seperti
yang kita ketahui, ada beberapa pendekatan I/O yang bisa diambil, diantaranya
programmed I/O (isolated&memory mapped), DMA, dan penggunaan prosesor I/O.
Implementasi instruksi I/O banyak dilakukan dengan hanya menyediakan beberapa
instruksi I/O, dengan tindakan spesifik yang ditentukan oleh parameter, kode,
atau kata perintah.
f. Kendali Sistem
Instruksi
kendali sistem adalah instruksi yang dapat dieksekusi hanya ketika prosesor
dalam keadaan tertentu atau mengeksekusi program pada area khusus dalam
memori.Biasanya, instruksi ini dipesan untuk digunakan sistem operasi.Berikut
beberapa contoh operasi kendali sistem. Sebuah instruksi kendali sistem boleh
membaca atau mengubah kendali register. Contoh lainnya adalah instruksi untuk membaca
atau memodifikasi penyimpanan protection key, seperti yang digunakan pada
sistem memori EAS/390. Contoh lain adalah akses untuk memproses blok kontrol
dalam sistem multiprogramming.
g. Kendali Transfer
Untuk
semua tipe operasi yang sudah dibahas sejauh ini, instruksi selanjutnya yang
akan dibahas tepat setelah ini, pada memori, adalah kendali transfer. Namun,
pecahan yang signifikan dari instruksi dalam setiap program memiliki fungsi
mengubah urutan eksekusi instruksi. Untuk instruksi ini, operasi yang dilakukan
oleh prosesor
4. BENTUK PERINTAH / INSTRUKSI
a. MOV Perintah MOV adalah perintah untuk mengisi,
memindahkan,memperbaruhi isi suatu register, variable ataupun lokasi memory,
Adapun tata penulisan perintah MOV adalah :MOV [operand A], [Operand B]Contoh
:MOV AH,02Operand A adalah Register AHOperand B adalah bilangan 02Hal yang
dilakukan oleh komputer untuk perintah diatas adalahmemasukan 02 ke register
AH.
b. INT (Interrupt)
Bila anda pernah belajar BASIC, maka pasti anda tidak asing lagi dengan
perintah GOSUB. Perintah INT juga mempunyai cara kerja yang sama dengan GOSUB,
hanya saja subroutine yang dipanggil telah disediakan oleh memory komputer yang
terdiri 2 jenis yaitu :- Bios Interrupt ( interput yang disediakan oleh BIOS
(INT 0 – INT 1F))- Dos Interrupt ( Interrupt yang disediakan oleh DOS (INT 1F –
keatas)).
c. Push Adalah perintah untuk
memasukan isi register pada stack, dengan tata penulisannya:POP [operand 16
bit]
d. Pop perintah yang
berguna untuk mengeluarkan isi dari register/variable dari stack,dengan tata
penulisannya adalah : POP [operand 16 bit]
e. RIP (Register IP)
Perintah ini digunakan untuk memberitahu komputer untuk memulai memproses
program dari titik tertentu.
f. A (Assembler)
Perintah Assembler berguna untuk tempat menulis program Assembler.-A1000FD8:100
g. RCX (Register CX)
Perintah ini digunakan untuk mengetahui dan memperbaruhi isi register CX yang
merupakantempat penampungan panjang program yang sedan aktif.