the_king
مدیرکل انجمن
اگر بخواهیم در یک رشته یک کاراکتر مشخص مثلا * را با کاراکتر دیگری مانند $ تعویض کنیم، کد زیر
برای انجام اینکار مناسب است :
مثلا اگر در رشته "mono love" کاراکتر o را با کاراکتر a تعویض کنیم، به رشته "mana lave" تبدیل می گردد.
برای انجام اینکار مناسب است :
کد:
.MODEL SMALL
.DATA
msg1 DB "Please enter a string :",13,10,"$"
msg2 DB 13,10,"Please enter first character :",13,10,"$"
msg3 DB 13,10,"Please enter second character :",13,10,"$"
msg4 DB 13,10,"String after replace :",13,10,"$"
msg5 DB 13,10,"Press any key to continue.",13,10,"$"
string DB 80
DB ?
DB 80 DUP (?)
char1 DB 2
DB ?
DB 2 DUP (?)
char2 DB 2
DB ?
DB 2 DUP (?)
.CODE
.STARTUP
MOV AH, 9
LEA DX, msg1
INT 21h
loop_1:
MOV AH, 0ah
LEA DX, string
INT 21h
CMP string[1], 0
JZ loop_1
MOV AH, 9
LEA DX, msg2
INT 21h
loop_2:
MOV AH, 0ah
LEA DX, char1
INT 21h
CMP char1[1], 0
JZ loop_2
MOV AH, 9
LEA DX, msg2
INT 21h
loop_3:
MOV AH, 0ah
LEA DX, char2
INT 21h
CMP char2[1], 0
JZ loop_3
LEA SI, string[2]
MOV CL, string[1]
MOV CH, 0
MOV BL, char1[2]
MOV BH, char2[2]
loop_4:
CMP [SI], BL
JNE next_1
MOV [SI], BH
next_1:
INC SI
LOOP loop_4
MOV BYTE PTR [SI], "$"
MOV AH, 9
LEA DX, msg4
INT 21h
LEA DX, string[2]
INT 21h
LEA DX, msg5
INT 21h
MOV AH, 8
INT 21h
.EXIT
.STACK
END
مثلا اگر در رشته "mono love" کاراکتر o را با کاراکتر a تعویض کنیم، به رشته "mana lave" تبدیل می گردد.