Advertisement
dnhirapara2104

MFP Assignment6

Aug 16th, 2020
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.92 KB | None | 0 0
  1. TASK1:
  2. data segment
  3. str1 db "Hello$"
  4. size_1 db $-str1
  5. str2 db "World$"
  6. size_2 db $-str2
  7. res db 50 dup('$')
  8. data ends
  9. code segment
  10. assume ds:data,cs:code
  11. mov ax,data
  12. mov ds,ax
  13. lea si,res
  14. mov bx,00h
  15. sub [size_1],01h
  16. sub [size_2],01h
  17. lea di,str1
  18. rep1:
  19. mov cl,byte ptr[di+bx]
  20. mov byte ptr[si],cl
  21. inc si
  22. inc bx
  23. cmp byte ptr[di+bx],'$'
  24. jnz rep1
  25. lea di,str2
  26. mov bx,00h
  27. rep2:
  28. mov cl,byte ptr[di+bx]
  29. mov byte ptr[si],cl
  30. inc si
  31. inc bx
  32. cmp byte ptr[di+bx],'$'
  33. jnz rep2
  34. int 03
  35. code ends
  36. end
  37.  
  38. TASK2:
  39. data segment
  40. text db "fafdskfdldfdkfd$"
  41. size_1 db $-text
  42. pat db "fd$"
  43. size_2 db $-pat
  44. data ends
  45. code segment
  46. assume ds:data,cs:code
  47. mov ax,data
  48. mov ds,ax
  49. mov dx,0000h
  50. lea si,text
  51. dec si
  52. dec [size_1]
  53. dec [size_2]
  54. loop1:
  55. inc si
  56. cmp byte ptr[si],'$'
  57. jz exit
  58. lea di,pat
  59. mov bx,00
  60. loop2:
  61. mov cl,byte ptr[di+bx]
  62. cmp cl,[si+bx]
  63. jnz loop1
  64. inc bx
  65. cmp byte ptr[size_2],bl
  66. jnz loop2
  67. inc dx
  68. cmp byte ptr[size_2],bl
  69. jz loop1
  70. exit:
  71. int 03
  72. code ends
  73. end
  74.  
  75. TASK3:
  76. data segment
  77. text db "Good Morning$"
  78. size_1 db $-text
  79. pat db "Morning$"
  80. size_2 db $-pat
  81. rep_pat db "Evening$" ;works for only same length pattern
  82. size_3 db $-rep_pat
  83. data ends
  84. code segment
  85. assume ds:data,cs:code
  86. mov ax,data
  87. mov ds,ax
  88. mov dx,0000h
  89. lea si,text
  90. dec si
  91. dec [size_1]
  92. dec [size_2]
  93. dec [size_3]
  94. loop1:
  95. inc si
  96. inc dx
  97. cmp byte ptr[si],'$'
  98. jz exit
  99. lea di,pat
  100. mov bx,00
  101. loop2:
  102. mov cl,byte ptr[di+bx]
  103. cmp cl,[si+bx]
  104. jnz loop1
  105. inc bx
  106. cmp byte ptr[size_2],bl
  107. jnz loop2
  108. lea di,rep_pat
  109. replcae:
  110. mov cl,[di]
  111. mov [si],cl
  112. inc di
  113. inc si
  114. cmp byte ptr [di],'$'
  115. jnz replcae
  116. mov ax,dx
  117. jz loop1
  118. exit:
  119. int 03
  120. code ends
  121. end
  122.  
  123. TASK4:
  124. data segment
  125. u_msg1 db "Enter String1: $"
  126. u_msg2 db "Enter String2: $"
  127. u_msg3 db "Same Charaters: $"
  128. text db 20,?,20 dup('$')
  129. pat db 20,?,20 dup('$')
  130. size_1 db ?
  131. size_2 db ?
  132. ans db 20 dup('$')
  133. data ends
  134. code segment
  135. assume ds:data,cs:code
  136. mov ax,data
  137. mov ds,ax
  138.  
  139. mov dx,offset u_msg1
  140. mov ah,09h
  141. int 21h
  142.  
  143. mov dx,offset text
  144. mov ah,0ah
  145. int 21h
  146.  
  147. mov dl,10
  148. mov ah,02
  149. int 21h
  150.  
  151. mov dx,offset u_msg2
  152. mov ah,09h
  153. int 21h
  154.  
  155. mov dx,offset pat
  156. mov ah,0ah
  157. int 21h
  158.  
  159. mov dl,10
  160. mov ah,02
  161. int 21h
  162.  
  163. lea si,text[2]
  164. mov bl,text[1]
  165. mov [size_1],bl
  166. mov byte ptr[si+bx],'$'
  167.  
  168. lea si,pat[2]
  169. mov bl,pat[1]
  170. mov size_2,bl
  171. mov byte ptr[si+bx],'$'
  172.  
  173. mov dx,0000h
  174. lea si,text[2]
  175. dec si
  176. mov dx,0000h
  177. loop1:
  178. inc si
  179. cmp byte ptr[si],'$'
  180. jz exit
  181. lea di,pat[2]
  182. mov bx,0000h
  183. loop2:
  184. mov cl,byte ptr[di+bx]
  185. cmp cl,[si]
  186. jnz skip
  187. mov bx,dx
  188. mov [ans+bx],cl
  189. cmp byte ptr[si],'$'
  190. jz exit
  191. inc dx
  192. cmp cl,byte ptr [ans+bx]
  193. jz loop1
  194. skip:
  195. inc bx
  196. cmp byte ptr[size_2],bl
  197. jnz loop2
  198. jz loop1
  199. exit:
  200.  
  201. mov dx,offset u_msg3
  202. mov ah,09h
  203. int 21h
  204.  
  205. mov dx,offset ans
  206. mov ah,09h
  207. int 21h
  208.  
  209. mov dl,10
  210. mov ah,02
  211. int 21h
  212.  
  213. int 03
  214. code ends
  215. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement