70 likes | 230 Views
Procedure dan Macro. 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] ……
E N D
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