Wednesday, December 23, 2015

ASSEMBLY



Bahasa Assembly adalah bahasa pemrograman tingkat rendah yang digunakan pada berbagai perangkat elektronika dan robotika.
Bahasa Assembly bekerja dengan cara diterjemahkan ke dalam bahasa mesin yang hanya bisa dimengerti oleh komputer. Tiap-tiap mesin memiliki bahasa Assemby yang berbeda-beda instruksinya. Ada tiga jenis bahasa Assembly yang terkenal. Yaitu, Assembly x86 yang hanya digunakan untuk CPU berbasis intel, ARM yang digunakan pada ponsel dan sistem embedded, dan MIPS yang digunakan pada beberapa konsol game. Bahasa Assembly yang digunakan untuk membuat OS disini adalah Assembly x86.
mov - MOVE, untuk memindah value
add - ADD, untuk menambah bilangan
sub - SUBSTRACT, untuk mengurangi bilangan
mul - MULTIPLY, untuk mengalikan bilangan
div - DIVIDE, untuk membagi bilangan
and - AND, untuk operasi logika dan (^)
or - OR, untuk operasi bilangan atau (v)
call - CALL, untuk memanggil suatu fungsi tertentu
cmp - COMPARE, untuk membandingkan dua value
jmp - JUMP, untuk pergi ke sebuah fungsi (bukan memanggil) je - JUMP IF EQUAL, untuk pergi ke fungsi tertentu jika perbandingan antara kedua value sama
jne - JUMP ID NOT EQUAL, untuk pergi ke fungsi tertentu jika perbandingan antara kedua value tidak sama
jg - JUMP IF GREATER, untuk pergi ke fungsi tertentu jika value pertama lebih besar daripada value kedua
jng - JUMP IF NOT GREATER, untuk pergi ke fungsi tertentu jika value pertama lebih kecil daripada value kedua
int - INTERRUPT, untuk menjalankan instruksi milik mesin
push - PUSH, untuk memasukkan value yang ada di suatu register ke posisi teratas stack
pop - POP, untuk mengeluarkan value terluar di stack ke dalam sebuah register
ret - RETURN, untuk kembali ke posisi kode dimana fungsi dipanggil

Bahasa Assembly memiliki 4 macam register, yaitu register 8-bit, 16-bit, 32-bit dan 64-bit. Register 8-bit antara lain: AL, AH, BL, BH, CL, CH, DL dan DH. Register 16-bit antara lain: AX, BX, CX dan DX. Register 32-bit antara lain: EAX, EBX, ECX dan EDX.Register AX digunakan pada operasi aritmatika, register BX digunakan untuk mengindeks alamat di memori, register CX digunakan untuk melakukan operasi loop (perulangan) dan DX digunakan sebagai sisa pada operasi pembagian.

No comments:

Post a Comment