pemograman assembler atau sama dengan intruksi pemograman pada IC mikrokontrller 8031 dan MCS51.
2.4.1. Instruksi Transfer Data
Instruksi transfer data terbagi menjadi dua kelas operasi sebagai berikut : •
Transfer data umum General Purpose Transfer , yaitu : MOV, PUSH dan POP.
•
Transfer spedifik akumulator Accumulator Specific Transfer , yaitu : XCH,
XCHD, dan MOVC.
Instruksi transfer data adalah intruksi pemindahan pertukaran data antara operand sumber dengan operand tujuan. Operand-nya dapat berupa register, memori atau lokasi suatu
memori. Penjelasan instruksi transfer data tersebut dapat dijelaskan sebagai berikut. MOV
: Transfer data dari Register satu ke Register yang lainnya, antara Register dengan Memory.
PUSH : Transfer byte atau dari operand sumber ke suatu lokasi dalam stack yang
alamatnya ditunjuk oleh register penunjuk. POP
: Transfer byte atau dari dalam stack ke operand tujuan. XCH
: Pertukaran data antara operand akumulator dengan operand sumber. XCHD
: Pertukaran nibble orde rendah antara RAM internal lokasinya ditunjukkan oleh R0 dan R1
2.4.2. Instruksi Aritmatik
Operasi dasar aritmatik seperti penjumlahan, pengurangan, perkalian dan pembagian dimiliki oleh AT89S51 dengan mnemonic : INC, ADD, SUBB, DEC, MUL dan DIV.
Penjelasan dari operasi mnemonic tersebut dijelaskan sebagai berikut :
INC : Menambah satu isi sumber operand dan menyimpan hasilnya ke operand
tersebut ADD
: Penjumlahan antara akumulator dengan sumber operand dan hasilnya disimpan di akumulator
SUBB : Pengurangan akumulator dengan sumber operand, hasilnya disimpan dalam
operand tersebut. DEC
: Mengurangi sumber operand dengan 1. dan hasilnya disimpan pada operand tersebut.
MUL : Perkalian antara akumulator dengan Register B.
DIV : Pembagian antara akumulator dengan Register B dan hasilnya disimpan dalam
akumulator, sisanya di Register B.
2.4.3. Instruksi Logika
Mikrokontroller AT89S51 dapat melakukan operasi logika bit maupun operasi logika byte. Operasi logika tersebut dibagi atas dua bagian yaitu :
• Operasi logika operand tunggal, yang terdiri dari CLR, SETB, CPL, RL, RR, dan
SWAP. •
Operasi logika dua operand seperti : ANL, ORL, dan XRL.
Operasi yang dilkukan oleh AT89S51 dengan pembacaan instruksi logika tersebut dijelaskan dibawah ini :
CLR : Menghapus byte atau bit menjadi nol.
SETB : Menggeser bit atau byte menjadi satu.
CPL : Mengkomplemenkan akumulator.
RL : Rotasi akumulator 1 bit ke kiri.
RR : Rotasi akumulator ke kanan.
SWAP : Pertukaran nibble orde tinggi.
2.4.4. Instruksi Transfer Kendali