>Clr (clear)
Digunakan untuk mereset / memberi nilai 00h.
Format : clr a / clr rx / clr py / clr <alamat 8 bit>.
Contoh : clr a / clr r0 / clr p0 / clr a4h.
>Mov
Digunakan untuk menyalin nilai suatu sumber ke suatu tujuan.
Format : Mov < Tujuan>, <Sumber>
Contoh : mov a, p2 / mov p0, #0feh / mov p3,r5
>Setb (set bit)
Digunakan untuk menset / memberi logika 1 pada port x.y
Format : setb px.y
Contoh setb p0.1
>Call
Digunakan untuk memanggil label subrutin tertentu.
Perintah call dibagi menjadi 2
acall (absolute call)
lcall (long call)
Format : acall < label subrutin > / lcall < label subrutin >
Contoh : acall lab / lcall mikroprosesor
Perbedaan acall dan lcall adalah pada kemampuan jauh dekatnya pemanggilan subrutin. Seandainya penggunaan acall hanya mampu memanggil sampai alamat 100h maka untuk lcall dapat lebih dari itu.
>Jmp ( jump )
Digunakan untuk melompat label subprogram tertentu.
Perintah jmp dibagi menjadi 2, yaitu :
sjmp (short jump)
ljmp (long jump)
Format : sjmp <label subprogram> / ljmp <label subprogram>
Contoh : sjmp mulai / ljmp start
Perbedaan sjmp dan ljmp adalah pada kemampuan jauh dekatnya melompat ke label subprogram.
jump merupakan lompatan sederhana yang tidak dapat mengembalikan nilai register PC (Program Counter) seperti perintah call.
>djnz ( decrement and jump if not zero )
Digunakan untuk mengurangi nilai isi data pada register x dan bila nilainya belum mencapai 0 maka akan dilakukan lompatan ke label subprogram.
Format : djnz rx, <label subprogram>
Contoh : djnz r3, ulang
>jnb ( jump if not bit set)
Digunkan untuk lompat ke label subprogram bila nilai port x.y berlogika LOW atau mempunyai nilai 0.
Format : jnb px.y, <label subprogram>
contoh : jnb p0.7, go
>cjne ( compare and jump if not equal )
Digunakan untuk membandingkan apakah nilai akumulator sama dengan nilai xyz, bila nilainya tidak sama maka lompat ke label subprogram.
Format : cjne a, xyz, < label subprogram >
Contoh : cjne a, #0feh, start
>rr ( rotate right ) dan rl ( rotate left)
Digunakan untuk merotate nilai yang ada di register akumulator.
Format : rr a / rl a / rr rx / rl rx
Contoh : mov a, #0feh mov a, #0feh
rr a rl a
>inc ( Increment )
Digunakan untuk menambah nilai1 bit.
Format : inc a / inc rx
>dec ( Decrement )
Digunakan untuk mengurangi nilai 1 bit.
Format : dec a / dec rx
Cat : untuk perintah yang menggunakan decrement, increment, rotate, compare hanya dapat dilakukan oleh akumulator maupun register saja. Bila nilai pada suatu port ingin dilakukan perintah diatas maka port tersebut wajib disalin terlebih dahulu kedalam akumulator atau register dengan menggunakan perintah mov.
0 komentar:
Posting Komentar