Perintah SUB Pada Assembly

Assalamu'alaykum

Pada kali kita membahas mengenai bagaimana sih penggunaan SUB pada Assembly.

Fungsi dari perintah SUB menurut saya adalah perintah yang digunakan untuk mengurangi nilai suatu register, misalnya register DL atau AL, kita kurangi menggunakan SUB dengan parameter angka misalnya SUB DL,2 maka nilai register DL kita kurangi 2.

Baiklah kita mulai membuat program dengan perintah SUB

Pertama kita buka dulu aplikasi yang diperlukan, pertama CMD(Command Prompt) untuk mengcompile program dan  text editor untuk menulis program. Namun pada kali ini saya menggunakan DOSBox sebagai pengganti CMD. Untuk Compilernya bisa di download di sini.

Berikut tampilan dari DOSBox


Selanjutnya adalah mount tempat folder penyimpanan file yang telah di download tadi, sebelumnya kita extract terlebih dahulu.

ketikkan mount c 'folder_tujuan' contohnya seperti berikut



Kita mulai menulis kode program, ketikkan pada text editor anda

.model small
.code
org 100h

Proses     :

          MOV AH,2h
          MOV DL,'Z'
          MOV CX,26

Ulang      :
          INT 21h
          SUB DL,1


           INT 20h
END   Proses

Dengan menggunakan kombinasi dari perintah LOOP kita akan mencetak karakter Z - A dengan SUB, nah pada perintah SUB DL,1 untuk mengurangi nilai register DL.

Setelah itu simpan program dengan ekstensi *.ASM, lakukan compile program dijanjutkan dengan linking dan jalankan program tersebut, maka akan menghasilkan karakter Z - A.


Bagaimana jika kita mau mencetak karakter Z  - A melangkah satu urutan misalnya ZXV dan seterusnya. kita ganti perintah MOV CX,26 menjadi MOV CX,13 dan SUB DL,1 menjadi SUB DL,2. Kenapa demikian, MOV CX,26 merupakan perulangan karakter, jadi ketika mencetak karakter dengan melangkah satu urutan kita hanya membutuhkan 13 karakter saja, dan SUB DL 2 untuk mengurangi 2 nilai register DL .

Contoh Program


.model small
.code
org 100h

Proses     :

          MOV AH,2h
          MOV DL,'Z'
          MOV CX,13

Ulang      :
          INT 21h
          SUB DL,2


           INT 20h
END   Proses

Simpan, compile , linking dan jalankan program tersebut, jika tidak terjadi kesalahan maka akan menghasilkan output seperti berikut.



Jika kita ingin melangkah beberapa urutan lagi , kita tinggal mengganti perintah MOV CX,26 dan SUB DL,2 sesuai yang kita inginkan.

Mungkin sampai disini dulu ya, terimakasih.

Download Tutorial

Wassalamu'alaykum.



Posting Komentar