the_king
مدیرکل انجمن
اگر بخواهیم کاراکتر های دو رشته مثلا "book" و "123" را بصورت یک در میان ادغام کنیم تا رشته "b1o2o3k"
حاصل شود، کد زیر مناسب است :
حاصل شود، کد زیر مناسب است :
کد:
.MODEL SMALL
.DATA
msg1 DB "Please enter first string :",13,10,"$"
msg2 DB 13,10,"Please enter second string :",13,10,"$"
msg3 DB 13,10,"Merged string :",13,10,"$"
msg4 DB 13,10,"Press any key to continue.",13,10,"$"
string1 DB 51
DB ?
DB 51 DUP (?)
string2 DB 51
DB ?
DB 51 DUP (?)
string3 DB 101
.CODE
.STARTUP
MOV AH, 9
LEA DX, msg1
INT 21h
MOV AH, 0ah
LEA DX, string1
INT 21h
MOV AH, 9
LEA DX, msg2
INT 21h
MOV AH, 0ah
LEA DX, string2
INT 21h
MOV AH, 9
LEA DX, msg3
INT 21h
LEA SI, string1[2]
LEA BX, string2[2]
LEA DI, string3
loop_1:
MOV AL, [SI]
CMP AL, 13
JE loop_2
MOV [DI], AL
INC SI
INC DI
MOV AL, [BX]
CMP AL, 13
JE loop_3
MOV [DI], AL
INC BX
INC DI
LOOP loop_1
JMP next_1
loop_2:
MOV AL, [BX]
CMP AL, 13
JE next_1
MOV [DI], AL
INC BX
INC DI
LOOP loop_2
JMP next_1
loop_3:
MOV AL, [SI]
CMP AL, 13
JE next_1
MOV [DI], AL
INC SI
INC DI
LOOP loop_3
next_1:
MOV BYTE PTR [DI], "$"
MOV AH, 9
LEA DX, string3
INT 21h
LEA DX, msg4
INT 21h
MOV AH, 8
INT 21h
.EXIT
.STACK
END