Bahasa Rakitan
Bahasa Rakitan
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 0FD8:0104 CD21 0FD8:0106 CD20 0FD8:0108 D9B90300 0FD8:010C F3 0FD8:010D A4 0FD8:010E B020 0FD8:0110 AA 0FD8:0111 C3 0FD8:0112 3C80 0FD8:0114 7214 0FD8:0116 2C80 0FD8:0118 1E 0FD8:0119 53 0FD8:011A BE1E9142 0FD8:011E C51E040C MOV INT INT FSTCW REPZ MOVSB MOV STOSB RET CMP JB SUB PUSH PUSH MOV LDS DI,41 21 20 [BX+DI+0003] AL,20 AL,80 012A AL,80 DS DX DS:[4291] 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 0FD8:0103 B402 0FD8:0105 B241 0FD8:0107 CD21 0FD8:0109 E2F8 0FD8:010B CD20 MOV MOV MOV INT LOOP INT CX,0010 AH,02 DL,41 21 0103 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.