Berikut ini merupakan perintah-perintah assembler atau asembly yang terdapat pada bahasa rakitan :
¨ 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
Int 21h juga
merupakan salah satu dari DOS Interrupt. Int 21h mempunyai banyak tugas, maka
tugasnya dibagi-bagi menjadi beberapa bagian. Untuk memanggil bagian-bagian
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:
-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
¨ 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:
U [tempat memulai Unassemble] L [panjang program]
Contoh:
-U100 L 0D
0FD8:0100 B910000 MOV CX,0010
0FD8:0103 B402 MOV AH,02
0FD8:0105 B241 MOV DL,41
0FD8:0107 CD21 INT 21
0FD8:0109 E2F8 LOOP 0103
0FD8:010B CD20 INT 20
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.
Tidak ada komentar:
Posting Komentar