Sorry for sticking in this group with assembly programs
I don't know why when I use 48h service (int 21h) to allocate memory, the returned address is always smaller than my ds segment register value. So that any subsequent rep overwrites my original data in the data segment.
I have tried to solve it using memory allocation strategy,
but other program would crash after it. Can you help?
here is a little bit code:
In the allocaion module:
mov ah, 48h
add bx, 0fh
mov cl ,4
shr bx, cl