Operasi Aritmatika di Assembly

Back again, masih di bahasa assembly. Bahasa ini memang sedikit agak memusingkan (bagi para pemula loooh, kalo udah level programmer pasti tak ada apa2nya).. Sekarang saya akan membahas tentang Aritmatika di Bahasa Assembly. Untuk yang pertama kali ini, saya akan membahas 2 operasi aritmatika, yaitu Penambahan dan Pengurangan.

  1. Operasi Penambahan
Operasi Penambahan di Assembly bisa menggunakan dengan ADD, ADC, dan INC.
Perintah ADD digunakan untuk menambahkan nilai Tujuan dari nilai Asal, untuk lebih jelasnya bisa lihat di gambar:
Contoh kode:
MOV AH,65  ; isi AH dengan 65
MOV AL,2 ;isi AH dengan 2
ADD AH,AL  ; tambahkan nilai AH dan AL dan letakan hasilnya di AH

Perbedaannya pada perintah ADC ini Tujuan tempat menampung hasil pertambahan Tujuan dan Asal ditambah lagi dengan carry flag (Tujuan:=Tujuan+Asal+Carry). Pertambahan yang demikian bisa memecahkan masalah seperti yang pernah kita kemukakan, seperti pertambahan pada bilangan
12345678h+9ABCDEF0h. Seperti yang telah kita ketahui bahwa satu register hanya mampu menampung 16 bit, maka untuk pertambahan seperti yang diatas bisa kita gunakan perintah ADC untuk memecahkannya, Contoh:
MOV AX,1234h      ; AX = 1234h CF = 0
MOV BX,9ABCh      ; BX = 9ABCh CF = 0
MOV CX,5678h      ; BX = 5678h CF = 0
MOV DX,0DEF0h  ; DX = DEF0h CF = 0
ADD CX,DX              ; CX = 3568h CF = 1
ADC AX,BX              ; AX = AX+BX+CF = ACF1
Hasil penjumlahan akan ditampung pada register AX:CX yaitu ACF13568h.
Adapun flag-flag yang terpengaruh oleh perintah ADD dan ADC ini adalah CF,PF,AF,ZF,SF dan OF.

Perintah INC digunakan untuk menambahkan nilai 1 (+1) pada Tujuan. Contoh kode:
MOV DL, 67h   ; isi DL dengan 67h
INC  DL               ; tambahkan DL dengan bilangan 1

  1. jshbfe
  2. Operasi Pengurangan
Operasi pengurangan di Assembly bisa menggunakan SUB atau DEC.
Perintah SUB digunakan untuk mengurangi nilai yang ada di Tujuan dengan nilai yang ada di Asal. Bisa dibilang ini adalah lawan dari ADD. Contoh kode:
MOV DL, 80h   ;isi DL dengan 80h
MOV DH, 3h     ; isi DH dengan 3h
SUB DL, DH      ; kurangkan DL dengan DH

Sedangkan DEC merupakan lawan dari INC, pasti sudah tau kan apa maksudnya. Kan sudah jelas lawan dari INC, dan terpampang di gambar.

Cukup sekian untuk Operasi Matematika di Assembly. Bila ada kata yang salah  saya mohon maaf. Semoga bermanfaat...

0 komentar:

Posting Komentar