Hello, Could you pls help me answer this question: - Please take a look at my small Assembly program that reads a tring from keyboard, then displays all the characters that are not uper-case letters in reverse order: Code: .model small .stack 100 .data tb1 db 'Pls enter a string, enter to finish $' tb2 db 10,13,'The characters that are not uper-case : $' xau db 80 dup(?) .code Main proc mov ax,@data mov ds, ax mov es, ax mov ah,9 lea dx,tb1 int 21h xor cx,cx lea di,xau nhap: mov ah,1 int 21h cmp al,13 je thoi cmp al,'A' jb dung cmp al,'Z' ja dung jmp nhap dung: stosb inc cx jmp nhap thoi: mov ah,9 lea dx,tb2 int 21h dec di mov si,di std mov ah,2 quay: lodsb mov dl,al int 21h loop quay mov ah,4ch int 21h Main endp End main The code above runs very well, even though i did not use the Clear Direction Flag (cld) instruction after the instruction in red (lea di,xau) The string processing is still in forward direction. The question is that: Why? I appreciate your help. my email: duyngv@us.ibm.com Regards, Duy.
Is there any instructions in the ones below that impact on the Direction Flag so that the DF always set to 0 : Code: ea dx,tb1 int 21h xor cx,cx lea di,xau nhap: mov ah,1 int 21h cmp al,13 je thoi cmp al,'A' jb dung cmp al,'Z' ja dung jmp nhap dung: stosb inc cx jmp nhap
duynguyenvan, there are lots of things I would like to tell you. 1. have code blocks when you have code snippets in the posts. 2. Have a title that describes your content. 3. Don't just jump into every thread and have the same post. 4. Be patient for a reply. I would suggest you read Hints before you make a query.
Hi jwshepherd, what do you mean? do you mean the line: nhap: mov ah,1 in my code set the DF to 0 so that the di will always point to a continuous character? like we use the cld instruction?