- #1
duynguyenvan
- 4
- 0
I need help, pls !
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:
.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.
Regards,
Duy.
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:
.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.
Regards,
Duy.
Last edited: