.MODEL SMALL
.STACK 100h
.DATA
UZUNLUK EQU 100 ; en fazla 100 karakter
BOY DW 0
CUMLE DB UZUNLUK DUP(?)
KELIME1 DB UZUNLUK DUP(?)
KELIME2 DB UZUNLUK DUP(?)
YAZI DB 'BIR CUMLE GIRIN:','$'

.CODE
BASLA:	MOV AX,@DATA
	MOV DS,AX

	MOV DX,OFFSET YAZI

	MOV AH,09H
	INT 21H		;EKRANA YAZDIRMA İŞLEMİ(DX'İN İÇERİĞİ)

	MOV AH,3FH	;READ/GET ENTRY
	MOV BX,0
	MOV CX,UZUNLUK	;CX 100 OLDU
	MOV DX,OFFSET CUMLE ; OKUMA İŞLEMİ BİTTİ

	INT 21H
	AND AX,AX	;AX'DE KAC KARAKTER GİRİLDİĞİ SAKLANACAK
	MOV CX,AX
	MOV BOY,CX

DEVAM:	MOV SI,OFFSET CUMLE;POINTER CUMLE'DEKİ İLK KARAKTERİ GÖSTERİYOR
	MOV DI,OFFSET KELIME1;POINTER KELIME1'DEKİ İLK KARAKTERİ GÖSTERİYOR

	MOV CX,BOY
	ADD SI,CX
	DEC SI

AKELIME:MOV AL,[SI]	;CUMLE'NİN İLK KARAKTERİ AL'YE ATILDI
	CMP AL,20H	;AL'DEKİ KARAKTER BOŞLUK MU?
	JE BUL		;BOŞLUK İSE BUL DÖNGÜSÜNE GİDİLİR
	MOV [DI],AL
	INC DI

BUL:	DEC SI
	CMP AL,20H	;AL'DEKİ KARAKTER BOŞLUK MU?
	LOOPNE BKELIME

	MOV AL,20H	;AL'DEKİ KARAKTER BOŞLUK MU?
	MOV [DI],AL	;BOŞLUK İSE DEVAM EDİLDİ VE BOŞLUK EKLENDİ
	INC DI
	MOV AL,24H	;'$' BİTİRME KARAKTERİ
	MOV [DI],AL	;STRING SONUNA '$' KARAKTERİ EKLENDİ

	MOV SI,OFFSET CUMLE
	MOV DI,OFFSET KELIME2

BKELIME:MOV AL,[SI]	;CUME'NİN İLK KARAKTERİ AL'YE ATILDI
	MOV [DI],AL
	INC SI
	INC DI
	LOOP BKELIME

	MOV AL,20H	;AL'DEKİ KARAKTER BOŞLUK MU?
	MOV [DI],AL	;BOŞLUK İSE DEVAM EDİLDİ VE BOŞLUK EKLENDİ
	INC DI
	MOV AL,24H	;'$' BİTİRME KARAKTERİ
	MOV [DI],AL	;CUMLE SONUNA '$' KARAKTERİ EKLENDİ

YAZ:	MOV DX,OFFSET KELIME1
	MOV AH,09H
	INT 21H		;EKRANA YAZDIRMA İŞLEMİ(DX'İN İÇERİĞİ)
	MOV DX,OFFSET KELIME2
	MOV AH,09H
	INT 21H		;EKRANA YAZDIRMA İŞLEMİ(DX'İN İÇERİĞİ)
	MOV SI,OFFSET CUMLE
	MOV DI,OFFSET KELIME1
	MOV CX,BOY

KOPYA:	MOV AL,[DI]
	MOV [SI],AL
	INC SI
	PUSH SI
	INC DI
	CMP AL,24H	;SON MU?
	LOOPNE KOPYA
	
	MOV CX,BOY
	POP BX
	MOV SI,OFFSET CUMLE
	ADD SI,BX
	MOV DI,OFFSET KELIME2

KOPYA2:	MOV AL,[DI]
	MOV [SI],AL
	INC SI
	INC DI
	CMP AL,24H	;SON MU?
	LOOPNE KOPYA2

	INC SI
	MOV AL,24H	;'$' BİTİRME KARAKTERİ
	MOV [SI],AL
	MOV AH,1
	INT 21H		;KARAKTER OKU
	CMP AL,1BH
	JE SON
	CALL DEVAM

SON:	MOV AH,4CH
	INT 21H		;PROGRAM SONU
END BASLA