110 likes | 331 Views
Mata Kuliah : Bahasa Rakitan Materi ke- 5. Program Bahasa Rakitan Tanpa DEBUG.COM. Linker. Assembler. File.asm. File.obj. File.exe. File.com. Microsoft Macro Assembler. Turbo Assembler. Konsep Assembler/Linker. Assembler menterjemahkan file program bahasa rakitan
E N D
Mata Kuliah : Bahasa Rakitan Materi ke- 5 Program Bahasa RakitanTanpa DEBUG.COM
Linker Assembler File.asm File.obj File.exe File.com Microsoft Macro Assembler Turbo Assembler Konsep Assembler/Linker • 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
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
INTERRUPT • Perintah Interrupt akan memanggil subroutine yang sudah tersedia dalam memori komputer • Ada dua jenis subroutine yang dapat dipanggil dengan perintah Interrrupt : • BIOS Interrupt, yaitu interrupt yang disediakan oleh BIOS. Yang termasuk dalam interrupt ini adalah INT 0H s/d INT 1FH • DOS Interrupt, yaitu interrupt yang disediakan oleh DOS. Yang termasuk dalam interrupt ini adalah INT di atas 1FH
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
Procedure dan Macro (cont.) • Format Macro : [LABEL] MACRO ….. ENDM CODE_SEG SEGMENT ASSUME CS:CODE_SEG ORG 100H START :[LABEL] …..
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.
Procedure dan Macro (cont.) Contoh Procedure dng Turbo Assembler CODE_SEG SEGMENT ASSUME CS:CODE_SEG ORG 100H START : CALL CETAK1 CALL CETAK1 MOV AH,02 MOV DL,41H INT 21H CALL CETAK2 CALL CETAK2 INT 20H CETAK1 PROC NEAR MOV AH,02 MOV DL,30H INT 21H RET CETAK1 ENDP CETAK2 PROC NEAR MOV AH,02 MOV DL,31H INT 21H RET CETAK2 ENDP CODE_SEG ENDS END START Contoh Macro dng Turbo Assembler CETAK 1 MACRO MOV AH,02 MOV DL,30H INT 21H ENDM CETAK2 MACRO MOV AH,02 MOV DL,31H INT 21H ENDM CODE_SEG SEGMENT ASSUME CS:CODE_SEG ORG 100H START : CETAK1 CETAK1 MOV AH,02 MOV DL,41H INT 21H CETAK2 CETAK2 INT 20H CODE_SEG ENDS END START
Procedure dan Macro (cont.) Contoh Procedure dng Debug CALL * CALL * MOV AH,02 MOV DL,41 INT21 CALL ** CALL ** INT20 * * MOV AH,02 MOV DL,30 INT21 RET ** ** MOV AH,02 MOV DL,31 INT21 RET Contoh Macro dng Debug MOV AH,02 MOV DL,30 INT 21 MOV AH,02 MOV DL,30 INT 21 MOV AH,02 MOV DL,41 INT 21 MOV AH,02 MOV DL,31 INT 21 MOV AH,02 MOV DL,31 INT 21 INT20