Jumat, 06 Januari 2017

BENTUK PERINTAH DALAM BAHASA RAKITAN / ASSEMBLER

Dalam  pemrograman  bahasa  assembly  lebih  ditekankan  pada  system operasi Microsoft Intel seiring  dengan  perkembangan mikroprosesor  8088/8086. Perkembangn  bahasa  assembly tergantung  pada  linker  yang  mengubah  file  *.obj menjadi  *.exe atau  *.com.  Bahasa  assembly  dikategorikan  sebagai bahasa tingkat rendah. 

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. KarakterUmumnya 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 logikaPada 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 dataTipe 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. LogikaKebanyakan 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. KonversiInstruksi konversi adalah instruksi-instruksi yang mengubah format atau beroperasi pada format data.Contohnya yaitu mengkonversi dari desimal ke biner.
e. Input/OutputSeperti 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 SistemInstruksi 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.


Berikut adalah informasi yang saya bagian kepada teman teman semoga bermanfaat :)