Anda di halaman 1dari 6

Bahasa Rakitan

PERINTAH DASAR ASSEMBLER

Mov
Perintah untuk mengisi, memindahkan, memperbaharui isi suatu register, variabel
ataupun suatu lokasi memori.
Penulisan perintah:
MOV [operand A],[operand B]
Dengan ketentuan operand A merupakan register, variabel, lokasi memori dan
ketentuan isi operand B berupa register, variabel, lokasi memori ataupun bilangan.
Operand B merupakan bilangan asal yang akan diisikan ke operand A, dengan kata
lain operand A merupakan tujuan pengisian atau penduplikatan dari operand B.
Contoh:
MOV AH, AL
Operand A dari perintah diatas adalah register AH
Operand B dari perintah diatas adalah register AL
Hal yang dilakukan dari perintah diatas adalah menduplikatkan isi register AL ke
register AH
MOV AH,02
Operand A dari perintah diatas adalah register AH
Operand B dari perintah diatas adalah bilangan 02
Hal yang dilakukan dari perintah diatas adalah memasukkan 02 ke register AH

Int (Interrupt)
Perintah Int (Interrupt) mempunyai cara kerja yang sama dengan perintah
GOSUB pada BASIC, hanya pada Int, subrotine yang akan dipaggil sudah tersedia pada
memori komputer.
Subrotine yang dipanggil menggunakan perintah Int (interrupt) terdiri dari 2 jenis,
yaitu:
1. Bios Interrupt yaitu Int yang disediakan oleh BIOS (Basic Input Output System).
Interrupt yang termasuk dalam Interrupt BIOS adalah Int 0 hingga Int 1F hexa.
2. DOS Interrupt yaitu Int yang disediakan oleh DOS (Disk Operating System).
Interupt yang termasuk dalam Interrupt DOS adalah Interrupt diatas Int 1F hexa.
Misal: Interrupt 20 hexa, Interrupt 21 hexa dll.
Int 20
Int 20h merupakan salah satu dari DOS Interrupt. Tugas Int 20h adalah
memberhentikan proses komputer terhadap suatu program COM. Bila pada semua
program Com tidak terdapat Int 20h, maka sudah bisa dipastikan bahwa bila program
diproses, maka akan terjadi hanging pada komputer. Hal ini terjadi karena komputer
tidak menemukan perintah pemberhentian proses.
Int 21h Service 02
Asep Jalaludin,S.T.,M.M.

Bahasa Rakitan

Int 21h juga merupakan salah satu dari DOS Interrupt. Int 21h mempunyai banyak
tugas, maka tugasnya dibagi-bagi menjadi beberapa bagian. Untuk memanggil bagianbagian itu, perlu disertakan nomor bagiannya yang disebut Service Number.
Untuk menjalankan fungsi Int 21h service 02 harus dipenuhi beberapa syarat:
- Register AH, harus berisi service number dari Int 21h yang akan dijalankan (02h)
- Register DL, harus berisi bilangan hexa dari karakter ASCII yang akan dicetak

Q (Quit)
Bila kita mengetik Q dan menekan Enter, maka akan segera kembali ke DOS Prompt.
Contoh:
A>DEBUG
-Q
A>

H (Hexa)
Perintah yang melaksanakan penjumlahan dan pengurangan terhadap dua bilangan
hexa.
Bentuk Umum Instruksi:
H operand1 operand2
Contoh:
-H 2204 2012
4216 01F2
Pada perintah diatas terdapat dua bilangan. Bilangan sebelah kiri adalah penjumlahan
kedua bilangan tersebut dan sebelah kanan adalah pengurangan kedua bilangan
tersebut.

R (Register)
Perintah ini adalah untuk mengetahui isi masing-masing register pada saat mengetik
R dan menekan Enter.
Contoh:
-R
AX=0000 BX=0000 CX=0000 DX=0000 SP=CE2E BP=0000 SI=0000 DI=0000
DS=0FD8 ES=0FD8 CS=0FD8 IP=0100 MV UP DI PL MZ MA PO NC
0FD8:0100 E603
OUT 03,AL

A (Assembler)
Perintah ini berguna untuk tempat menulis program Assembler.
Contoh:
Asep Jalaludin,S.T.,M.M.

Bahasa Rakitan

-A100
0fD8:100
Pada sebelah kiri bawah huruf A terdapat angka yang merupakan pernyataan segment
dan offset dimana anda menempatkan program.

N (Name)
Perintah ini untuk memasukkan nama program setelah program dibuat.
Bentuk Umum Instruksi:
N [Drive]: [nama program]
Contoh:
-N B:COBA.COM

RCX (Register CX)


Perintah untuk mengetahui dan memperbaharui isi register CX yang merupakan
tempat penampungan panjang program yang sedang aktif sebelum dijalankan
(running).
Contoh:
-RCX
CX 0000
.
.
.

RIP (Register IP)


Peirntah yang memberitahu komputer untuk memulai proses program dari titik
tertentu (selalu dimulai dari 100 hexa).
Contoh:
-RIP
IP 0100
.
.

W (Write)
Setelah selesai membuat program dan menentukan RCX dan RIP dari program yang
dibuat, adalah menulis program itu dahulu sebelum memprosesnya.

Contoh:
-W
Writing 0008 bytes
Asep Jalaludin,S.T.,M.M.

Bahasa Rakitan

G (Go)
Untuk memproses di dalam DEBUG ketik huruf G dan tekan Enter, maka program
yang ditulis akan dijalankan.
Contoh:
-G
A
Program terminated normally

T (Trace)
Perintah ini untuk memproses sebaris program saja.
Contoh:
-T
AX=0200 BX=0000 CX=0008 DX=0000 SP=CE2E BP=0000 SI=0000 DI=0000
DS=0FD8 ES=0FD8 SS=0FD8 CS=0FD8 IP=0102 MV UP DI PL NZ NA PO NC
0FD8:0102 B241
MOV DI,41

U (Unassemble)
Fungsi ini sama dengan fungsi LIST pada BASIC, yaitu untuk melihat ptogram yang
sedang aktif saat itu, maka yang ditampilkan adalah program sepanjang 21h.
Contoh:
-U
0FD8:0102 B241
MOV
DI,41
0FD8:0104 CD21
INT
21
0FD8:0106 CD20
INT
20
0FD8:0108 D9B90300
FSTCW
[BX+DI+0003]
0FD8:010C F3
REPZ
0FD8:010D A4
MOVSB
0FD8:010E B020
MOV
AL,20
0FD8:0110 AA
STOSB
0FD8:0111 C3
RET
0FD8:0112 3C80
CMP
AL,80
0FD8:0114 7214
JB
012A
0FD8:0116 2C80
SUB
AL,80
0FD8:0118 1E
PUSH
DS
0FD8:0119 53
PUSH
DX
0FD8:011A BE1E9142
MOV
DS:[4291]
0FD8:011E C51E040C
LDS
BX,[0C04]
Untuk menentukan sendiri panjang program yang ingin dilihat dapat digunakan
perintah L (Length) dibelakang U.
Bentuk Umum Instruksi:
Asep Jalaludin,S.T.,M.M.

Bahasa Rakitan

U [tempat memulai Unassemble] L [panjang program]


Contoh:
-U100 L 0D
0FD8:0100 B910000
0FD8:0103 B402
0FD8:0105 B241
0FD8:0107 CD21
0FD8:0109 E2F8
0FD8:010B CD20

Asep Jalaludin,S.T.,M.M.

MOV
MOV
MOV
INT
LOOP
INT

CX,0010
AH,02
DL,41
21
0103
20

Bahasa Rakitan

UTILITY ASSEMBLER

Menjalankan Assembler
Untuk memulai pembuatan program, harus dijalankan DEBUG.COM terlebih dahulu.
Contoh:
A>Debug
-A100
0FD8:0100
Pada saat mengetik A100 berarti bahwa kita memulai sebuah program Assembler
dengan byte pertama program yang diletakkan pada posisi 100 hexa.

Asep Jalaludin,S.T.,M.M.