NAMA : ACHMAD MUAFI
NPM : 10120020
KELAS : B
.MODEL SMALL ; Untuk menandakan memory yang digunakan
.CODE ; Untuk Memulai menadakan untuk menggunakan code segment dan menyimpan program yang dijalankan
ORG 100h ; Untuk memulai pada offset ke100h dan menyediakan 100byte kosong
TData :JMP Proses ; Melompat pada proses
T_Enter EQU 0Dh
Kal0 DB 'Masukkan Input : $'
Kal1 DB 13,10,'Keluaran output : $'
Buffer DB 23,?,23 DUP(?)
Proses :
MOV AH,09 ; Servis ke9
LEA DX,Kal0 ; Ambil Almat offset Kal0
INT 21h ; Cetak kalimat Kal0
MOV AH,0Ah ; Servis Input kalimat
LEA DX,Buffer ; DX menunjuk pada offset Buffer
INT 21h ; Input kalimat !
MOV AH,09 ; Servis ke9
LEA DX,Kal1 ; Ambil Alamat offset Kal1
INT 21h ; Cetak kalimat Kal1
LEA BX,Buffer+2 ; BX menunjuk byte ke 3 Buffer
Ulang:
CMP BYTE PTR [BX],T_Enter ; Apakah karakter Enter?
JE EXIT ; Ya! Lompat ke Exit
MOV DL,[BX] ; Masukkan karakter pada DL
MOV AH,02 ; Servis cetak karakter
INT 21h ; Cetak karakter
INC BX ; BX := BX+1
JMP Ulang ; Lompat ke Ulang
EXIT: INT 20h ; Kembali ke DOS !
END TData