تشخیص یکسان بودن رشته با معکوس آن در زبان اسمبلی

the_king

مدیرکل انجمن
کد زیر یک رشته را دریافت می کند و با توجه به نتیجه مقایسه آن با رشته معکوس اش، با Yes و No یکسان بودن
دو رشته را اعلام می کند، مثلا اگر رشته pop را دریافت کند، پیغام yes و اگر رشته pool را دریافت کند، پیغام
no را نمایش می دهد :

کد:
.MODEL	SMALL
.DATA
	Str1	DB 80, ?, 80 DUP(?)
	Msg1	DB "Please enter a text :", 13, 10, "$"
	Msg2	DB 13, 10, "Yes$"
	Msg3	DB 13, 10, "No$"
.CODE
.STARTUP
	MOV	AH, 9
	LEA	DX, Msg1
	INT	21h
	MOV	AH, 0AH
	LEA	DX, Str1
	INT	21H
	LEA	SI, Str1
	MOV	CL, [SI + 1]
	MOV	CH, 0
	ADD	SI, 2
	MOV	DI, SI
	ADD	DI, CX
	DEC	DI
L1:
	CMP	DI, SI
	JBE	L2
	MOV	AL, [SI]
	CMP	AL, [DI]
	JNE	L3
	INC	SI
	DEC	DI
	JMP	L1
L2:
	LEA	DX, Msg2
	JMP	L4
L3:
	LEA	DX, Msg3
L4:
	MOV	AH, 9
	INT	21H
	.EXIT
.STACK
END
 

جدیدترین ارسال ها

بالا