ايران ويج

نسخه‌ی کامل: جواب تمرین یک دانشگاه آزاد نیشابور استاد تقی پور
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
جواب تمرین یک دانشگاه آزاد نیشابور استاد تقی پور.

برنامه ای بنویسید که دو رشته را از ورودی بگیرد و عناصر مشترک آن را در رشته STR بریزد و آن را چاپ کند.

کد:
; multi-segment executable file template.

data segment
; add your data here!

STR1 DB 30 DUP('$'),'$'
STR2 DB 30 DUP('$'),'$'


STR DB 30 DUP('$'),'$'


X DB 'LOTFAN RESHTEH AVAL RA VARED KONID?','$'
Y DB 'LOTFAN RESHTEH DOVOM RA VARED KONID?','$'


ends

stack segment
dw 128 dup(0)
ends

code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax

; add your code here



MOV AH,09H
MOV DX,OFFSET X
INT 21H


MOV AH,02H
MOV DL,0AH
INT 21H

MOV AH,02H
MOV DL,0DH
INT 21H


MOV SI,0




L2:

MOV AH,01H
INT 21H

CMP AL,13
JE L3

MOV STR1[SI],AL


INC SI

JMP L2




L3:

INC SI
MOV STR1[SI],'$'




MOV AH,02H
MOV DL,0AH
INT 21H

MOV AH,02H
MOV DL,0DH
INT 21H


MOV AH,09H
MOV DX,OFFSET Y
INT 21H



MOV AH,02H
MOV DL,0AH
INT 21H

MOV AH,02H
MOV DL,0DH
INT 21H




MOV SI,0


L4:

MOV AH,01H
INT 21H

CMP AL,13
JE L5

MOV STR2[SI],AL


INC SI

JMP L4




L5:

INC SI
MOV STR2[SI],'$'


MOV AH,02H
MOV DL,0AH
INT 21H

MOV AH,02H
MOV DL,0DH
INT 21H




MOV SI,0

MOV DI,0


L1:

CMP STR1[SI],'$'
JE EXIT


MOV AL,STR1[SI]
MOV AH,STR2[SI]

CMP AL , AH
JNE L6


MOV BL,STR1[SI]
MOV STR[DI],BL

INC DI

L6:

INC SI

JMP L1

EXIT:

MOV AH,02H
MOV DL,0AH
INT 21H

MOV AH,02H
MOV DL,0DH
INT 21H



MOV STR[DI],'$'



MOV AH,09H
MOV DX,OFFSET STR
INT 21H



mov ax, 4c00h ; exit to operating system.
int 21h
ends

end start ; set entry point and stop the assembler.

دوست عزیز اگه خود یکمی هم تلاش کنی خوبه.