Hi..everybody.. I have this simple assembly language program to read in string of user input then do the checking whether the string is a palindrome or not, and display the result of the checking. I wanted to slightly change the program to make it read the string of exactly certain number of character long, for example 6. Can anybody help?? Give me some guide...since i am a begginers in Assembly..thank you very much.. This are the code.. Code: org 100h print_output macro mov ah, 9 int 21h ; input the string: ; the interupt module does fill the third array with input from keyborad endm scan_input macro mov ah, 0ah int 21h ;get string size xor bx, bx ; zero the bx register mov bl, input[1] ; then save the size of s1 to base lower register ;print string mov input[bx+2],'$' ;close the string with dollar sign ; input the string: ; the interupt module does fill the third array with input from keyborad endm is_input_empty macro ;lea bx, input ;mov dl, [bx+1] ; get string size. mov dl, input[1] cmp dl, 0 je stop endm part2: ;print the main message of program2 mov dx, offset MSG_part2 print_output part2_loop: ;print the message to promt the user to enter the string mov dx, offset MSG_prompt_part2 print_output ;scan for input mov dx, offset input scan_input ;print newline mov dx, offset newline print_output is_input_empty ;output the inputed string mov dx, offset MSG_urstris print_output ;print string mov dx, offset input+2 print_output ;print newline mov dx, offset newline print_output sub si, si ;zero the si for increment mov di, bx dec di ;check for 1 character mov cx, bx; cmp cx, 1 je print_yes mov bx, offset input+2 ;get the string into bx shr cx, 1 ;divide cx by 2 by shifting to right 1 bit. myloop: mov al, [bx+di] mov dl, [bx+si] cmp al, dl jne print_no inc si dec di loop myloop print_yes: mov dx, offset MSG_isPalindrom print_output jmp part2_loop print_no: mov dx, offset MSG_notPalindrom print_output jmp part2_loop stop: ; wait for any key... mov dx, offset MSG_any_key print_output mov ax, 0 int 16h ret MSG_prompt_part2 db "-------------------------------------------------------------------------------",13,10,13,10 db "Enter a String: " db "$" MSG_part2 db "--Part 2--",13,10 db "* This program to check palindrome string by :",13,10 db "* Rusydi Hasan Makarim (0721051)*",13,10 db "* Cutifa Safitri (072656) *",13,10 db "* Haroon Shoukat Ali (0629753) *",13,10 db "* *",13,10 db "*Press <Enter> to exit *",13,10 db "$" MSG_urstris db "Your input string is $" MSG_isPalindrom db "PALINDROME !",13,10,'$' MSG_notPalindrom db "NOT A PALINDROME!",13,10,'$' input db 100,?, 100 dup(' ') ;used for scan_input newline db 13,10,'$' MSG_any_key db "Press any key to terminate$" end