Mata Kuliah Bahasa Rakitan Materi ke 5 Program
Mata Kuliah : Bahasa Rakitan Materi ke- 5 Program Bahasa Rakitan Tanpa DEBUG. COM
Konsep Assembler/Linker Assembler File. asm File. obj Microsoft Macro Assembler Turbo Assembler Linker File. exe 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 100 H [LABEL] : - Program ASM [nama segment] ENDS END [label] Catt : [nama segment] : CODE_SEG [label] : START 3
INTERRUPT n Perintah Interrupt akan memanggil subroutine yang sudah tersedia dalam memori komputer n 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 0 H s/d INT 1 FH 2. DOS Interrupt, yaitu interrupt yang disediakan oleh DOS. Yang termasuk dalam interrupt ini adalah INT di atas 1 FH 4
Procedure dan Macro n n Macro pada dasarnya tidak berbeda jauh dengan Procedure/Subroutine. Bedanya hanya pada pemakaian memori Format Procedure : CODE_SEG SEGMENT ASSUME CS: CODE_SEG ORG 100 H START : …. . CALL[LABEL] …. [LABEL] PROC [NEAR/FAR] …… …. . RET [LABEL] ENDP 5
Procedure dan Macro n (cont. ) Format Macro : [LABEL] MACRO …. . ENDM CODE_SEG SEGMENT ASSUME CS: CODE_SEG ORG 100 H START : [LABEL] …. . 6
Procedure dan Macro (cont. ) Perbedaan Procedur dan Macro : n Procedure: Pemanggilannya akan menuju alamat dimana procedur berada. Dengandemikian program dalam procedure hanya muncul satukali, yaitu hanya dalam procedure-nya saja n Macro Pemanggilannya akan mengakibatkan penulisan kembali program macro sebagai engganti kata macro. Dengan demikianprogram dalam macro akan selalu muncul dan disisipkan disetiap pemanggilannya. 7
Procedure dan Macro (cont. ) Contoh Macro dng Turbo Assembler Contoh Procedure dng Turbo Assembler CETAK 1 MACRO MOV AH, 02 MOV DL, 30 H INT 21 H ENDM CETAK 2 MACRO MOV AH, 02 MOV DL, 31 H INT 21 H ENDM CODE_SEG SEGMENT ASSUME CS: CODE_SEG ORG 100 H START : CETAK 1 MOV AH, 02 MOV DL, 41 H INT 21 H CETAK 2 INT 20 H CODE_SEG ENDS END START CODE_SEG SEGMENT ASSUME CS: CODE_SEG ORG 100 H START : CALL CETAK 1 MOV AH, 02 MOV DL, 41 H INT 21 H CALL CETAK 2 INT 20 H CETAK 1 PROC NEAR MOV AH, 02 MOV DL, 30 H INT 21 H RET CETAK 1 ENDP CETAK 2 PROC NEAR MOV AH, 02 MOV DL, 31 H INT 21 H RET CETAK 2 ENDP CODE_SEG ENDS END START 8
Procedure dan Macro Contoh Macro dng Debug MOV AH, 02 MOV DL, 30 INT 21 MOV AH, 02 MOV DL, 41 INT 21 MOV AH, 02 MOV DL, 31 INT 20 (cont. ) Contoh Procedure dng Debug CALL * MOV AH, 02 MOV DL, 41 INT 21 CALL ** INT 20 * * MOV AH, 02 MOV DL, 30 INT 21 RET ** ** MOV AH, 02 MOV DL, 31 INT 21 RET 9
- Slides: 9