You are on page 1of 10

Mata Kuliah : Bahasa Rakitan

Materi ke- 5

Program Bahasa Rakitan


Tanpa DEBUG.COM
Konsep Assembler/Linker
Linker
Assembler

File.asm File.obj File.exe

Microsoft Macro Assembler


Turbo Assembler File.com

• Assembler menterjemahkan file program bahasa rakitan


(.asm) ke bentuk file objek (.obj)
• Linker menterjemahkan file program objek ke bentuk
program eksekusi (.com atau .exe)
Contoh : TASM Latihan
TLINK Latihan.asm Latihan.exe
TLINK/T Latihan.asm Latihan.com
2
Struktur Program
[nama segment]SEGMENT
ASSUME CS:[SEGMENT] DS[SEGMENT] SS:[SEGMENT] ES:[SEGMENT]
ORG 100H
[LABEL] : -
- Program ASM
-
-
[nama segment] ENDS
END [label]

Catt : [nama segment] : CODE_SEG


[segment] : CODE_SEG
[label] : START

3
INTERRUPT
 Perintah Interrupt akan memanggil subroutine yang
sudah tersedia dalam memori komputer

 Ada dua jenis subroutine yang dapat dipanggil


dengan perintah Interrrupt :
1. BIOS Interrupt, yaitu interrupt yang disediakan oleh BIOS.
Yang termasuk dalam interrupt ini adalah INT 0H s/d INT 1FH

2. DOS Interrupt, yaitu interrupt yang disediakan oleh DOS.


Yang termasuk dalam interrupt ini adalah INT di atas 1FH

4
Contoh Interupt
 Interupt 20h
 Fungsi : Terminate
 Menghentikan kerja suatu program

 Interupt 21h Service 02h


 Fungsi : Character Output On Screen
 Mencetak sebuah karakter di layar

 Input : AH = 02h ; DL = Kode ASCII

 Output : Karakter ASCII di layar

5
Procedure dan Macro
 Macro pada dasarnya tidak berbeda jauh dengan
Procedure/Subroutine. Bedanya hanya pada pemakaian
memori
 Format Procedure :
CODE_SEG SEGMENT
ASSUME CS:CODE_SEG
ORG 100H
START : …..
CALL[LABEL]
….
[LABEL] PROC [NEAR/FAR]
……
…..
RET
[LABEL] ENDP

6
Procedure dan Macro (cont.)

 Format Macro :
[LABEL] MACRO
…..
ENDM
CODE_SEG SEGMENT
ASSUME CS:CODE_SEG
ORG 100H
START :[LABEL]
…..

7
Procedure dan Macro (cont.)

Perbedaan Procedur dan Macro :


 Procedure:
Pemanggilannya akan menuju alamat dimana
procedur berada. Dengandemikian program dalam
procedure hanya muncul satukali, yaitu hanya dalam
procedure-nya saja
 Macro
Pemanggilannya akan mengakibatkan penulisan
kembali program macro sebagai engganti kata
macro. Dengan demikianprogram dalam macro akan
selalu muncul dan disisipkan disetiap
pemanggilannya.

8
Procedure dan Macro (cont.)

Contoh Macro dng Turbo Assembler Contoh Procedure dng Turbo Assembler
CETAK 1 MACRO
CODE_SEG SEGMENT
MOV AH,02
MOV DL,30H ASSUME CS:CODE_SEG
INT 21H ORG 100H
ENDM START : CALL CETAK1
  CETAK2 MACRO CALL CETAK1
MOV AH,02 MOV AH,02
MOV DL,41H
MOV DL,31H
INT 21H
INT 21H CALL CETAK2
ENDM CALL CETAK2
 CODE_SEG SEGMENT INT 20H
ASSUME CS:CODE_SEG   CETAK1 PROC NEAR
ORG 100H MOV AH,02
START : CETAK1 MOV DL,30H
CETAK1 INT 21H
MOV AH,02 RET
CETAK1 ENDP
MOV DL,41H   CETAK2 PROC NEAR
INT 21H MOV AH,02
CETAK2 MOV DL,31H
CETAK2 INT 21H
INT 20H RET
 CODE_SEG ENDS CETAK2 ENDP
END START  CODE_SEG ENDS 9
Procedure dan Macro (cont.)

Contoh Macro dng Debug Contoh Procedure dng Debug


MOV AH,02 CALL *
MOV DL,30 CALL *
INT 21 MOV AH,02
MOV AH,02
MOV DL,41
MOV DL,30
INT 21 INT21
MOV AH,02 CALL **
MOV DL,41 CALL **
INT 21 INT20
MOV AH,02 * * MOV AH,02
MOV DL,31 MOV DL,30
INT 21 INT21
MOV AH,02 RET
MOV DL,31 ** ** MOV AH,02
INT 21
MOV DL,31
INT20
INT21
RET

10

You might also like