Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write an assembly language program to input a string from the user, count and di

ID: 3844584 • Letter: W

Question


Write an assembly language program to input a string from the user, count and display the number of times each word occur in the user input string.
For example if the user types in: "Hello there how are you, there you are Hello Hello you"
Your output should be:
Hello 3
there 2
how 1
are 2
you 3


Write an assembly language program to input a string from the user, count and display the number of times each word occur in the user input string.
For example if the user types in: "Hello there how are you, there you are Hello Hello you"
Your output should be:
Hello 3
there 2
how 1
are 2
you 3


Write an assembly language program to input a string from the user, count and display the number of times each word occur in the user input string.
For example if the user types in: "Hello there how are you, there you are Hello Hello you"
Your output should be:
Hello 3
there 2
how 1
are 2
you 3

Explanation / Answer

Hi,

Please find below the code-

.data
str2 BYTE "Hello there how are you, there you are Hello Hello you",0

.code
main proc
mov edi,OFFSET str2
Mov esi,edi
Mov Ecx, 0 ;reset ecx to 0
Not Ecx ;set Ecx to -1 or highest possible integer
Mov Al, ' ' ;Initialize a1 to delimiter of (space) ' '
Cld ;Clear Direction Pointer
Repne Scasb ;scan edi one byte at a time until delimiter found
Not Ecx
Lea Eax, [ecx-1] ;Set Eax to index of found delimiter
Xchg Esi, Edi ;Take Edi which is now equal to string after found delimiter and put in esi

mov edx, esi
call WriteString

main endp
end main