Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TASK1:
- data segment
- str1 db "Hello$"
- size_1 db $-str1
- str2 db "World$"
- size_2 db $-str2
- res db 50 dup('$')
- data ends
- code segment
- assume ds:data,cs:code
- mov ax,data
- mov ds,ax
- lea si,res
- mov bx,00h
- sub [size_1],01h
- sub [size_2],01h
- lea di,str1
- rep1:
- mov cl,byte ptr[di+bx]
- mov byte ptr[si],cl
- inc si
- inc bx
- cmp byte ptr[di+bx],'$'
- jnz rep1
- lea di,str2
- mov bx,00h
- rep2:
- mov cl,byte ptr[di+bx]
- mov byte ptr[si],cl
- inc si
- inc bx
- cmp byte ptr[di+bx],'$'
- jnz rep2
- int 03
- code ends
- end
- TASK2:
- data segment
- text db "fafdskfdldfdkfd$"
- size_1 db $-text
- pat db "fd$"
- size_2 db $-pat
- data ends
- code segment
- assume ds:data,cs:code
- mov ax,data
- mov ds,ax
- mov dx,0000h
- lea si,text
- dec si
- dec [size_1]
- dec [size_2]
- loop1:
- inc si
- cmp byte ptr[si],'$'
- jz exit
- lea di,pat
- mov bx,00
- loop2:
- mov cl,byte ptr[di+bx]
- cmp cl,[si+bx]
- jnz loop1
- inc bx
- cmp byte ptr[size_2],bl
- jnz loop2
- inc dx
- cmp byte ptr[size_2],bl
- jz loop1
- exit:
- int 03
- code ends
- end
- TASK3:
- data segment
- text db "Good Morning$"
- size_1 db $-text
- pat db "Morning$"
- size_2 db $-pat
- rep_pat db "Evening$" ;works for only same length pattern
- size_3 db $-rep_pat
- data ends
- code segment
- assume ds:data,cs:code
- mov ax,data
- mov ds,ax
- mov dx,0000h
- lea si,text
- dec si
- dec [size_1]
- dec [size_2]
- dec [size_3]
- loop1:
- inc si
- inc dx
- cmp byte ptr[si],'$'
- jz exit
- lea di,pat
- mov bx,00
- loop2:
- mov cl,byte ptr[di+bx]
- cmp cl,[si+bx]
- jnz loop1
- inc bx
- cmp byte ptr[size_2],bl
- jnz loop2
- lea di,rep_pat
- replcae:
- mov cl,[di]
- mov [si],cl
- inc di
- inc si
- cmp byte ptr [di],'$'
- jnz replcae
- mov ax,dx
- jz loop1
- exit:
- int 03
- code ends
- end
- TASK4:
- data segment
- u_msg1 db "Enter String1: $"
- u_msg2 db "Enter String2: $"
- u_msg3 db "Same Charaters: $"
- text db 20,?,20 dup('$')
- pat db 20,?,20 dup('$')
- size_1 db ?
- size_2 db ?
- ans db 20 dup('$')
- data ends
- code segment
- assume ds:data,cs:code
- mov ax,data
- mov ds,ax
- mov dx,offset u_msg1
- mov ah,09h
- int 21h
- mov dx,offset text
- mov ah,0ah
- int 21h
- mov dl,10
- mov ah,02
- int 21h
- mov dx,offset u_msg2
- mov ah,09h
- int 21h
- mov dx,offset pat
- mov ah,0ah
- int 21h
- mov dl,10
- mov ah,02
- int 21h
- lea si,text[2]
- mov bl,text[1]
- mov [size_1],bl
- mov byte ptr[si+bx],'$'
- lea si,pat[2]
- mov bl,pat[1]
- mov size_2,bl
- mov byte ptr[si+bx],'$'
- mov dx,0000h
- lea si,text[2]
- dec si
- mov dx,0000h
- loop1:
- inc si
- cmp byte ptr[si],'$'
- jz exit
- lea di,pat[2]
- mov bx,0000h
- loop2:
- mov cl,byte ptr[di+bx]
- cmp cl,[si]
- jnz skip
- mov bx,dx
- mov [ans+bx],cl
- cmp byte ptr[si],'$'
- jz exit
- inc dx
- cmp cl,byte ptr [ans+bx]
- jz loop1
- skip:
- inc bx
- cmp byte ptr[size_2],bl
- jnz loop2
- jz loop1
- exit:
- mov dx,offset u_msg3
- mov ah,09h
- int 21h
- mov dx,offset ans
- mov ah,09h
- int 21h
- mov dl,10
- mov ah,02
- int 21h
- int 03
- code ends
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement