SlideShare a Scribd company logo
1 of 7
Bahasa Rakitan by Okti Yudhanti Nur K 1
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.
Bahasa Rakitan by Okti Yudhanti Nur K 2
 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
Bahasa Rakitan by Okti Yudhanti Nur K 3
♦ 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.
Bahasa Rakitan by Okti Yudhanti Nur K 4
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]
Bahasa Rakitan by Okti Yudhanti Nur K 5
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
Bahasa Rakitan by Okti Yudhanti Nur K 6
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.
Bahasa Rakitan by Okti Yudhanti Nur K 6
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.

More Related Content

What's hot

Makalah karakteristk set instruksi
Makalah karakteristk set instruksiMakalah karakteristk set instruksi
Makalah karakteristk set instruksiAli Must Can
 
Jeni slides intro1-bab01-pengenalan
Jeni slides intro1-bab01-pengenalanJeni slides intro1-bab01-pengenalan
Jeni slides intro1-bab01-pengenalanAli Basyah
 
Tipe dan format instruksi 1
Tipe dan format instruksi 1Tipe dan format instruksi 1
Tipe dan format instruksi 1Rosyid Ridlo
 
Makalah set instruksi
Makalah set instruksiMakalah set instruksi
Makalah set instruksiratna46
 
Arsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPUArsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPURamandha Auryl
 
Tipe dan format instruksi 2
Tipe dan format instruksi 2Tipe dan format instruksi 2
Tipe dan format instruksi 2Rosyid Ridlo
 
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23France Rhezhek
 
Pert 9
Pert 9Pert 9
Pert 9Wanti
 
Set intruksi
Set intruksiSet intruksi
Set intruksiryobroza
 
14684664 mikroprosesor
14684664 mikroprosesor14684664 mikroprosesor
14684664 mikroprosesorAbe Mubarok
 
Set instruksi organisasi dan arsitektur
Set instruksi organisasi dan arsitekturSet instruksi organisasi dan arsitektur
Set instruksi organisasi dan arsitekturFarhan Arrahman
 

What's hot (19)

Tutor Tasm2
Tutor Tasm2Tutor Tasm2
Tutor Tasm2
 
Makalah karakteristk set instruksi
Makalah karakteristk set instruksiMakalah karakteristk set instruksi
Makalah karakteristk set instruksi
 
Set intruksi ppt
Set intruksi pptSet intruksi ppt
Set intruksi ppt
 
Jeni slides intro1-bab01-pengenalan
Jeni slides intro1-bab01-pengenalanJeni slides intro1-bab01-pengenalan
Jeni slides intro1-bab01-pengenalan
 
Pert.2 instruksi mesin dan program
Pert.2 instruksi mesin dan programPert.2 instruksi mesin dan program
Pert.2 instruksi mesin dan program
 
Bhs assembly
Bhs assemblyBhs assembly
Bhs assembly
 
Tipe dan format instruksi 1
Tipe dan format instruksi 1Tipe dan format instruksi 1
Tipe dan format instruksi 1
 
Set instruksi
Set instruksiSet instruksi
Set instruksi
 
Set instruksi
Set instruksiSet instruksi
Set instruksi
 
Makalah set instruksi
Makalah set instruksiMakalah set instruksi
Makalah set instruksi
 
Arsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPUArsitektur Set Instruksi dan CPU
Arsitektur Set Instruksi dan CPU
 
Tipe dan format instruksi 2
Tipe dan format instruksi 2Tipe dan format instruksi 2
Tipe dan format instruksi 2
 
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
 
Assembler
AssemblerAssembler
Assembler
 
Pert 9
Pert 9Pert 9
Pert 9
 
Set intruksi
Set intruksiSet intruksi
Set intruksi
 
14684664 mikroprosesor
14684664 mikroprosesor14684664 mikroprosesor
14684664 mikroprosesor
 
Set instruksi organisasi dan arsitektur
Set instruksi organisasi dan arsitekturSet instruksi organisasi dan arsitektur
Set instruksi organisasi dan arsitektur
 
Set instruksi
Set instruksiSet instruksi
Set instruksi
 

Similar to ASM-OPTIMIZED

Similar to ASM-OPTIMIZED (17)

Pemograman debug Assemblay
Pemograman debug AssemblayPemograman debug Assemblay
Pemograman debug Assemblay
 
Operasi aritmatika
Operasi aritmatikaOperasi aritmatika
Operasi aritmatika
 
Pert 6
Pert 6Pert 6
Pert 6
 
Bab2
Bab2Bab2
Bab2
 
Sap 2
Sap 2Sap 2
Sap 2
 
Register
RegisterRegister
Register
 
Mari belajar assembly
Mari belajar assemblyMari belajar assembly
Mari belajar assembly
 
Bab2 libre
Bab2 libreBab2 libre
Bab2 libre
 
Bab2 libre
Bab2 libreBab2 libre
Bab2 libre
 
Mp 4 mode-pengalamatan
Mp 4 mode-pengalamatanMp 4 mode-pengalamatan
Mp 4 mode-pengalamatan
 
Pemrograman sap 1
Pemrograman sap 1Pemrograman sap 1
Pemrograman sap 1
 
Modul praktikum instruksi dasar
Modul praktikum instruksi dasarModul praktikum instruksi dasar
Modul praktikum instruksi dasar
 
AOK 04
AOK 04AOK 04
AOK 04
 
Artikel shift register
Artikel shift registerArtikel shift register
Artikel shift register
 
Pemrograman SAP - 1
Pemrograman SAP - 1Pemrograman SAP - 1
Pemrograman SAP - 1
 
362642041-Panduan-Mikroprosesor-Z80.pdf
362642041-Panduan-Mikroprosesor-Z80.pdf362642041-Panduan-Mikroprosesor-Z80.pdf
362642041-Panduan-Mikroprosesor-Z80.pdf
 
Resume komputer sap
Resume komputer sapResume komputer sap
Resume komputer sap
 

ASM-OPTIMIZED

  • 1. Bahasa Rakitan by Okti Yudhanti Nur K 1 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.
  • 2. Bahasa Rakitan by Okti Yudhanti Nur K 2  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
  • 3. Bahasa Rakitan by Okti Yudhanti Nur K 3 ♦ 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.
  • 4. Bahasa Rakitan by Okti Yudhanti Nur K 4 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]
  • 5. Bahasa Rakitan by Okti Yudhanti Nur K 5 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
  • 6. Bahasa Rakitan by Okti Yudhanti Nur K 6 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.
  • 7. Bahasa Rakitan by Okti Yudhanti Nur K 6 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.