Langsung ke konten utama

PENGERTIAN BAHASA ASSEMBLY


PENGERTIAN BAHASA ASSEMBLY


Bahasa pemrograman generasi kedua adalah bahasa assembly. Bahasa rakitan (bahasa Inggris: assembly language) adalah bahasa pemrograman komputer tingkat rendah. Bahasa assembly merupakan notasi untuk bahasa mesin yang dapat dibaca oleh manusia dan berbeda-beda tergantung dari arsitektur komputer yang digunakan.
Berbeda dengan bahasa pemrograman tingkat tinggi, bahasa assembly atau rakitan biasanya memiliki hubungan 1-1 dengan instruksi bahasa mesin. Misalnya, tiap julukan (mnemonic) yang ditulis di program dengan bahasa rakitan akan diterjemahkan menjadi tepat satu kode operasi yang dapat dimengerti langsung oleh komputer. Pada bahasa tingkat tinggi, satu perintah dapat diterjemahkan menjadi beberapa kode operasi dalam bahasa mesin. Proses pengubahan bahasa rakitan ke bahasa mesin dilakukan oleh assembler, dan proses balikannya dilakukan oleh disassembler.
Setiap arsitektur komputer memiliki bahasa mesin yang berbeda-beda sehingga bahasa rakitannya pun berbeda-beda.(dna)
Pemrograman AT89S51 bahasa Assembly 
Bahasa Assembly adalah bahasa pemrograman tingkat rendah. Dalam pemrograman komputer dikenal dua jenis tingkatan bahasa, jenis yang pertama adalah bahasa pemrograman tingkat tinggi (high level language) dan jenis yang kedua adalah bahasa pemrograman tingkat rendah (low level language). 
Bahasa pemrograman tingkat tinggi lebih berorientasi kepada manusia yaitu bagaimana agar pernyataan-pernyataan yang ada dalam program mudah ditulis dan dimengerti oleh manusia. Sedangkan bahasa tingkat rendah lebih berorientasi ke mesin, yaitu bagaimana agar komputer dapat langsung mengintepretasikan pernyataan-pernyataan program. 
Kelebihan Bahasa Assembly:
1. Ketika di-compile lebih kecil ukuran
2. Lebih efisien/hemat memori 
3. Lebih cepat dieksekusi 
Kesulitan Bahasa Assembly:
1. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang dibanding bahasa tingkat tinggi
2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak
3. Lebih sulit dalam melakukan pekerjaan rumit, misalnya operasi matematis 

BAHASA ASSEMBLY MCS-51 
Dalam program bahasa assembly terdapat 2 jenis yang kita tulis dalam program yaitu:
1. Assembly Directive (yaitu merupakan kode yang menjadi arahan bagi assembler/compiler untuk menata program)
2. Instruksi (yaitu kode yang harus dieksekusi oleh CPU mikrokontroler) 
Klik disini untuk melihat daftar Assembly Directive dan Instruksi MCS-51. 

PENGGUNAAN SOFTWARE 
Software untuk membantu memprogram mikrokontroler MCS-51 sudah banyak tersedia. Untuk mempermudah maka dapat dipilih software yang merupakan Integrated Development Environment (IDE) yaitu software yang merupakan editor sekaligus compiler. Bahkan juga ada yang sekaligus debugger dan simulator. Salah satunya yang digunakan pada training di PRASIMAX adalah Read51. 



Daftar Assembly Directive 
Assembly Directive Keterangan
EQU Pendefinisian konstanta 
DB Pendefinisian data dengan ukuran satuan 1 byte 
DW Pendefinisian data dengan ukuran satuan 1 word 
DBIT Pendefinisian data dengan ukuran satuan 1 bit
DS Pemesanan tempat penyimpanan data di RAM 
ORG Inisialisasi alamat mulai program 
END Penanda akhir program 
CSEG Penanda penempatan di code segment 
XSEG Penanda penempatan di external data segment 
DSEG Penanda penempatan di internal direct data segment 
ISEG Penanda penempatan di internal indirect data segment 
BSEG Penanda penempatan di bit data segment 
CODE Penanda mulai pendefinisian program 
XDATA Pendefinisian external data
DATA Pendefinisian internal direct data
IDATA Pendefinisian internal indirect data 
BIT Pendefinisian data bit
#INCLUDE Mengikutsertakan file program lain 

Daftar Instruksi 
Instruksi Keterangan Singkatan 
ACALL Absolute Call 
ADD Add 
ADDC Add with Carry
AJMP Absolute Jump 
ANL AND Logic 
CJNE Compare and Jump if Not Equal 
CLR Clear 
CPL Complement 
DA Decimal Adjust 
DEC Decrement 
DIV Divide
DJNZ Decrement and Jump if Not Zero 
INC Increment
JB Jump if Bit Set 
JBC Jump if Bit Set and Clear Bit 
JC Jump if Carry Set 
JMP Jump to Address 
JNB Jump if Not Bit Set 
JNC Jump if Carry Not Set 
JNZ Jump if Accumulator Not Zero 
JZ Jump if Accumulator Zero 
LCALL Long Call 
LJMP Long Jump 
MOV Move from Memory 
MOVC Move from Code Memory 
MOVX Move from Extended Memory 
MUL Multiply
NOP No Operation 
ORL OR Logic 
POP Pop Value From Stack 
PUSH Push Value Onto Stack 
RET Return From Subroutine 
RETI Return From Interrupt 
RL Rotate Left 
RLC Rotate Left through Carry 
RR Rotate Right 
RRC Rotate Right through Carry 
SETB Set Bit 
SJMP Short Jump 
SUBB Subtract With Borrow 
SWAP Swap Nibbles 
XCH Exchange Bytes 
XCHD Exchange Digits 
XRL Exclusive OR Logic

Komentar

Postingan populer dari blog ini

Elektronika Dasar

Elektronika dasar Quote: Originally Posted by LAB ELKOM UG Prinsip-prinsip elektronika Komponen elektronika 1. Komponen aktif 2. Komponen pasif Komponen pasif adalah komponen elektronika yang dalam pengoprasiannya tidak memerlukan sumber arus atau tersendiri. Macam-macam komponen pasif: 1. Resistor 2. Kapasitor 3. Transformator atau travo 4. Rellay Quote: Originally Posted by LAB ELKOM UG 1. Resistor adalah suatu komponen elektronika yang berfungsi untuk menghambat arus listrik. Resistor dibagi menjadi dua: Resistor tetap ialah mempunyai hambatan yang tetap sehinga tidak dapat diubah-ubah. Gelang 1 dan 2 berupa angka. Gelang ke 3 merupakan pengalih. Gelang ke 4 merupakan toleransi. Contoh menghitung resistor: Misalnya:Merah hitam kuning coklat 2. Resistor tidak tetap ialah resistor yang nilai hambatannya atau nilai resistansinya dapat diubah-ubah. Jenis resistor tidak tetap ada dua yaitu: 1. Potensio meter 2. Tri

Cara Bermain BNet Gratis daftar ID Server PVPGN

Halo lagi semua, kali ini saya mengposting kembali yaitu juga berhubungan dengan Bnet Warcraft, tetapi kal ini saya memberikan server Gratiss daftar ID juga yang Juga RAMAI, pokoknya Gak kalah serunya dengan Server NusaReborn yang Tidak Gratis deh. Apalagi dengan penyedian Channel QUIZnya yang lagi bosen maen atau Koneksi Internetnya lagi Cadet, ni bisa ngilangin Males dan juga ga perlu koneksi yang Kuat, pokoknya MANTEPS BANGET DEH. ni dia Bn Gatewaynya. Nama Server : OpenGamers PVPGN Zona : 7 IP : dota.opengamers.us Buruan Gabung dan Daftar Langsung di Servernya atau daftar untuk daftar terlebih dahulu masuk ke website ini >>> OPGS Cara daftar : -Klick link OPGS di atas -klick "CREATE ACCOUNT" pada tab disebelah KIRI -Masukkan ID dan Password Sesuai ketentuan, dan sertakan juga Alamat E-Mail anda -Klick "Create New Account" -Buka E-Mail anda dan buka Kotak Masuk dari OpenGamers.us -Pada Isi surat terdapat beberapa

perbedaan antara array satu dimensi dan array dua dimensi,dan program sederhananya

1.apa perbedaan antara array satu dimensi dan array dua dimensi? 2.buar program menu beserta perulangannya! Jawab 1.array satu dimensi adalah kumpulan elemen yang tersusun dalam suatu baris. Array dua dimensi adalah array yang dapat membantu dalam pemrograman apabila array satu dimensi tidak mencukupi dalam menghasilakan suatu solusi.array dua dimensi sebenarnya adalah array yang berisi array. 2.#include Main(){ Int x,y; Cout<<”1.single player\n”; Cout<<”2.Multiplayer\n”; Cout<<”\nSelec Game:”; Cin>>x; Switch(x){ Case1: Cout<<”\nSingle player”; Break; Cae2: Cout<<”\nMultiplayer”; Cout<<”\nNumber of Player:”; Cin>>y; For(int i=1;i<=y;++i){ Cout<<”\nPlayer”< Break;} Retrunt !0; } LA 1.program 1 -output 1-10 mengunakan for #include Main() { Int n; Cout<<”Masukan Angka:”; Cin>>n; For(int i=1;i<=;++i) { Cout< } Cout<<”stop”; } -output 1-10 mengunakan while #includ