Rakitan-5.ppt

9
Program Bahasa Rakitan Tanpa DEBUG.COM Mata Kuliah : Bahasa Rakitan Materi ke- 5

Transcript of Rakitan-5.ppt

Page 1: Rakitan-5.ppt

Program Bahasa RakitanTanpa DEBUG.COM

Mata Kuliah : Bahasa RakitanMateri ke- 5

Page 2: Rakitan-5.ppt

2

Konsep Assembler/Linker

File.asm File.obj File.exe

File.com

AssemblerLinker

• 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 LatihanTLINK Latihan.asm Latihan.exeTLINK/T Latihan.asm Latihan.com

Microsoft Macro AssemblerTurbo Assembler

Page 3: Rakitan-5.ppt

3

Struktur Program

[nama segment]SEGMENTASSUME CS:[SEGMENT] DS[SEGMENT] SS:[SEGMENT] ES:[SEGMENT]ORG 100H[LABEL] : -

- Program ASM - -

[nama segment] ENDSEND [label]

Catt : [nama segment] : CODE_SEG [segment] : CODE_SEG [label] : START

Page 4: Rakitan-5.ppt

4

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

Page 5: Rakitan-5.ppt

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_SEGORG 100H

START : …..CALL[LABEL]….

[LABEL] PROC [NEAR/FAR]………..RET

[LABEL] ENDP

Page 6: Rakitan-5.ppt

6

Procedure dan Macro (cont.)

Format Macro :[LABEL] MACRO

…..ENDMCODE_SEG SEGMENT

ASSUME CS:CODE_SEGORG 100H

START :[LABEL]…..

Page 7: Rakitan-5.ppt

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

MacroPemanggilannya akan mengakibatkan penulisan

kembali program macro sebagai engganti kata macro. Dengan demikianprogram dalam macro akan selalu muncul dan disisipkan disetiap pemanggilannya.

Page 8: Rakitan-5.ppt

8

Procedure dan Macro (cont.)

Contoh Macro dng Turbo Assembler

CETAK 1 MACROMOV AH,02MOV DL,30HINT 21H

ENDM  CETAK2 MACRO

MOV AH,02MOV DL,31HINT 21H

ENDM CODE_SEG SEGMENT

ASSUME CS:CODE_SEGORG 100H

START : CETAK1CETAK1MOV AH,02MOV DL,41HINT 21HCETAK2CETAK2INT 20H

 CODE_SEG ENDSEND START

Contoh Procedure dng Turbo Assembler

CODE_SEG SEGMENT

ASSUME CS:CODE_SEG ORG 100HSTART : CALL CETAK1

CALL CETAK1MOV AH,02MOV DL,41HINT 21HCALL CETAK2CALL CETAK2INT 20H

  CETAK1 PROC NEAR MOV AH,02 MOV DL,30H INT 21H RETCETAK1 ENDP

  CETAK2 PROC NEARMOV AH,02MOV DL,31HINT 21HRET

CETAK2 ENDP CODE_SEG ENDS

END START

Page 9: Rakitan-5.ppt

9

Procedure dan Macro (cont.)

Contoh Macro dng Debug MOV AH,02MOV DL,30INT 21MOV AH,02MOV DL,30INT 21MOV AH,02MOV DL,41INT 21MOV AH,02MOV DL,31INT 21MOV AH,02MOV DL,31INT 21INT20

Contoh Procedure dng DebugCALL *CALL *MOV AH,02MOV DL,41INT21CALL **CALL **INT20

* * MOV AH,02MOV DL,30INT21RET

** ** MOV AH,02MOV DL,31INT21RET