Daftar Intruksi DT51

ACALL Absolute Call Memanggil subrutin program
ADD Add Accumulator Instruksi ADD digunakan untuk melakukan penambahan pada dua buah operand. Dan destination (tempat hasil dari proses) selalu pada A, sdang operand source dapat berupa register, data langsung, maupun memory
ADDC Add Accumulator (With Carry) Instruksi ADD digunakan untuk melakukan penambahan pada dua buah operand dengan carry
AJMP Absolute Jump AJMP ini adalah lompat tidak bersyarat jarak menengah. Disebut juga sebagai Jump 11-bit. Ini adalah instruksi 2-byte. Menjangkau alamat instruksi tepat di bawah AJMP, dan alamat label yang dituju, harus berada pada blok 2 KB yang sama.
ANL AND Logic Instruksi ini adalah melakukan AND logika pada dua operand dan menaruh hasilnya pada destination ( Akumulator)
CJNE Compare and Jump if Not Equal Membandingkan data langsung dengan lokasi memori yang dialamati oleh register atau Akumulator jika tidak sama maka instruksi akan menuju ke alamat kode
CLR Clear Register Mereset isi register
CPL Complement Register Mengkomplement isi register
DA Decimal Adjust Mengkoreksi masalah yang timbul yang berkaitan denga penjumlahan bilangan BCD
DEC Decrement Register Mengurangi isi lokasi memori yang ditujukan oleh register R dengan 1, dan hasilnya disimpan pada lokasi tersebut
DIV Divide Accumulator Melakukan operasi pembagian
DJNZ Decrement Register and Jump if Not Zero Mengurangi nilai register dengan 1 dan jika hasilnya sudah 0 maka instruksi selanjutnya akan dieksekusi. Jika belum 0 akan menuju ke alamat kode
INC Increment Register Menambahkan isi memori dengan 1 dan menyimpannya pada alamat tersebut
JB Jump if Bit Set Membaca data per satu bit, jika data tersebut adalah 1 maka akan menuju ke alamat kode dan jika 0 tidak akan menuju ke alamat kode
JBC Jump if Bit Set and Clear Bit Membaca data per satu bit, jika data tersebut adalah 1, selain akan melompat ke instruksi lain juga akan menolkan bit yang baru saja diperiksa
JC Jump if Carry Set Membaca data carry
JMP Jump to Address Instruksi untuk memerintahkan menjangkau ke alamat kode tertentu
JNB Jump if Bit Not Set Membaca data per satu bit, jika data tersebut adalah 0 maka akan menuju ke alamat kode dan jika 1 tidak akan menuju ke alamat kode
JNC Jump if Carry Not Set (jump if no carry, jump if CY=1) Instruksi ini, menggunakan carry sebagai menentu keputusan dalam jump. Jika CY=1, maka program akan melompat ke alamat yang ditunjuk. Namun jika CY=0, maka program akan mengeksekusi instruksi selanjutnya dibawah JNC tersebut.
JNZ Jump if Accumulator Not Zero Instruksi ini tidak akan memeriksa isi A. Jika 00, maka program akan melompat ke alamat yang ditunjuk
JZ Jump if Accumulator Zero JZ (lompat jika A=0), atau JC (lompat jika CY=1), akan membuat program melompat pada lokasi yang ditunjuk hanya jika kondisi yang diminta terpenuhi
LCALL Long Call Ini adalah instruksi 3-byte. Byte pertama adalah opcode, sedang 2-byte lainnya adalah alamat 16-bit yang dituju. Saat instruksi LCALL ini dijalankan, CPU tidak lagi mengeksekusi instruksi-instruksi di bawah LCALL, namun segera melompat pada alamat yang dituju
LJMP Long Jump Instruksi 3-byte, di mana byte pertama adalah opcode, sedang dua byte yang lain adalah representasi dari alamat 16-bit yang dituju
MOV Move Memory Instruksi ini untuk memindahkan isi akumulator/register atau data dari nilai luar atau alamat lain
MOVC Move Code Memory Membedakan bahwa instruksi ini dipakai di memori program
MOVX Move Extended Memory Perintah yang dipakai untuk memori data eksternal
MUL Multiply Melakukan operasi perkalian
NOP No Operation Menyisipkan instruksi untuk tidak mengerjakan apa-apa
ORL OR Logic Operand tujuan dan sumber di-OR-kan, dan menempatkan hasilnya pada tujuan destination. Instruksi ORL dapat digunakan untuk men-Set menjadi 1′s beberapa bit dalam register.
POP Pop Value From Stack Memanggil subrutin dengan instruksi CALL, memory stack akan menyimpan alamat di mana CPU akan kembali setelah menjalankan subrutin
PUSH Push Value Onto Stack Memanggil subrutin dengan instruksi CALL, memory stack akan menyimpan alamat di mana CPU akan kembali setelah menjalankan subrutin
RET Return From Subroutine Intruksi untuk kembali dari suatu subrutin program ke alamat terakhir subrutin tersebut di panggil
RETI Return From Interrupt Mereset bit yang bersangkutan
RL Rotate Accumulator Left Pada putar kiri , 8-bit dalam akumulator digeser ke kiri sejauh satu bit. Bit D7 keluar dari Most Significant Bit (MSB) dan ditempatkan pada D0 atau Least Significant Bit (LSB)
RLC Rotate Accumulator Left Through Carry Menggeser 8-bit dalam akumulator ke kanan sejauh 1 bit melewati Carry. Bit D0 keluar dari Least Significant Bit (LSB) dan ditempatkan pada Carry. Sedangkan isi Carry ditempatkan pada D7 atau Most Significant Bit (MSB)
RR Rotate Accumulator Right Pada putar kanan , 8-bit dalam akumulator digeser ke kanan sejauh satu bit. Bit D0 keluar dari Least Significant Bit (LSB) dan ditempatkan pada D7 atau Most Significant Bit (MSB)
RRC Rotate Accumulator Right Through Carry Menggeser 8-bit dalam akumulator ke kanan sejauh 1 bit melewati Carry. Bit D0 keluar dari Least Significant Bit (LSB) dan ditempatkan pada Carry. Sementara isi Carry ditempatkan pada D7 atau Most Significant Bit (MSB)
SETB Set Bit Instruksi untuk mengaktikan atau memberikan logika 1 pada sebuat bit data
SJMP Short Jump SJMP adalah lompat tanpa syarat jarak pendek. Disebut juga sebagai Jump relatif 8-bit. Ini adalah instruksi 2 byte. Byte pertama adalah opcode, sedang byte lainnya adalah alamat relatif yang dituju. Ya alamat relatif, sehingga nilai pada byte ke dua ini bukan representasi dari alamat yang dituju, melainkan nilai relatif terhadap nilai PC saat itu
SUBB Subtract From Accumulator With Borrow SUBB bisa difungsikan sebagai SUB. Yaitu dengan membuat/memastikan CY=0 sebelum perintah SUBB dilaksanakan
SWAP Swap Accumulator Nibbles men-swap (menukar balik) nible bawah dan nible atas
XCH Exchange Bytes Merubah bit
XCHD Exchange Digits Merubah digit
XRL Exclusive OR Logic Membalik nilai (complement) beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-XRL-kan bilangan asal. Bit yang ingin dibalik-nilai diwakili dengan ‘1’ pada data konstan, sedangkan bit lainnya diberi nilai ‘0’