input :
.Model Small ;jenis memori yang digunakan adalah small
.Code ; memulai program assembler
ORG 100h ; memori yang disediakan
mulai :
JMP
T_Enter Equ 0DH
Kal0 db 13,10,'Ketikkan satu Kalimat : $' ; perintah untuk menginput
Kal1 db 13,10,'Kalimat tersebut adalah : $' ; kalimat yang di tampilkan setelah di enter
hasil db 13,10,23,?,23 DUP(?) ; tempat menampung hasil inputtan
Proses :
MOV AH,09
LEA DX,Kal0 ; pengambilan regester kal0
INT 21h ; Cetak kalimat Kal0
MOV AH,0AH ; Servis Input kalimat
LEA DX,hasil ; DX menunjuk pada offset hasil
INT 21h ; Input kalimat !
MOV AH,09
LEA DX,Kal1 ; pengambilan regester kal1
INT 21h ; Cetak kalimat Kal1
LEA BX,hasil+2 ; BX menunjuk byte ke 3 hasil
Ulang:
CMP BYTE PTR [BX],T_Enter ; Apakah karakter Enter?
JE Proses1 ; 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
Proses1 : ; label ulang1
MOV AH,09
LEA DX,Kal0 ; pengambilan regester kal0
INT 21h ; Cetak kalimat Kal0
MOV AH,0AH ; Servis Input kalimat
LEA DX,hasil ; DX menunjuk pada offset hasil
INT 21h ; Input kalimat !
MOV AH,09
LEA DX,Kal1 ; pengambilan regester kal1
INT 21h ; Cetak kalimat Kal1
LEA BX,hasil+2 ; BX menunjuk byte ke 3 hasil
Ulang1: ; label ulang1
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 Ulang1 ; Lompat ke Ulang
EXIT: ;label exit
INT 20h ; Kembali ke DOS !
End mulai ; mengakhiri label mulai
output :
Semoga tulisan ini bermanfaat. terimakasih telah berkunjung.
Tidak ada komentar:
Posting Komentar